Simplified Server Setup, Such a Sight to See!
Our new setup process makes BlueBubbles even more accessible for users
Last updated
Our new setup process makes BlueBubbles even more accessible for users
Last updated
We hear you! Over the past three years, BlueBubbles has grown considerably in feature set, but the setup process has stayed exactly the same. Today, we are fixing that by launching a revamped setup process, complete with Google sign-in integration! This drastically reduces the time and effort needed to setup BlueBubbles. Don't believe us? Check out how short the updated install guide is!
Now, let's delve deeper into what makes this update exciting for both new and existing users.
The star of the show of the new server update is, of course, Google sign in. The server now has the capability of completely automating the Firebase setup process. Just sign in with your Google account, and after a minute or two, you're good to go!
Under the hood, the server uses a "puppet" Google Cloud Project that we created to manage the Firebase projects in your Google account. This allows us to create a Firebase project for you, and automate the necessary steps to ensure everything is configured properly. This is all done through Google's public Cloud Platform REST API. When you authorize our project, it has access to your Google account via a token that is valid for one hour. We do not save or store this token in any way.
Huge thanks to @probablypablito for doing the initial research and a proof-of-concept implementation.
If you're not interested in providing your Google account, don't worry, we still support doing the Firebase configuration manually! Please see our updated guide if you choose to go this route. We will continue to support manual Firebase configurations in the future, and there will not be any iMessage-parity related differences between Google and Manual setups.
That's not all though, we've got a few other notable features making it to this release.
This server update gets rid of the MacForge dependency entirely! Gone are the days of installing the wrong version on your Apple Silicon Mac, or making sure MacForge was running the bundle in the correct user-mode. Now, the BlueBubbles Server will inject the Private API helper (dylib; Dynamic Library) directly into the Messages app. Letting the server manage the Private API and Messages process has proven to be more stable for nearly everyone who tried. It also allows us to handle and log errors properly, making it easier to debug issues that may arise.
This injection method works by starting an instance of the Messages app on the Mac with the DYLD_INSERT_LIBRARIES
environment variable pointed at the dylib file. The main benefit of this system is that the server can fully manage the Private API lifecycle - we inject the bundle, we monitor the status of the iMessage app, and we have the ability to restart iMessage if any problems or crashes are detected - which should ensure better reliability and uptime. It also makes the setup process easier and eliminates any confusion regarding Macforge between Intel or Apple Silicon Macs.
The server now accepts command line arguments! This allows you to change the server's setup on the fly - you can set any server setting, and these will persist through subsequent launches of the app.
For you automation folks, this means that you can completely bypass the server setup by starting it with CLI arguments. Creating a fully automatic Docker container that spins up a BlueBubbles instance just got a lot easier!
The server can now run without displaying anything! You can enable this setting from the server's menu bar icon. Once enabled, the server will close its UI service completely, which makes it utilize less resources - perfect for running on aging hardware or sipping battery on laptops.
The server now has a button in the UI to initiate an update, which should fix one of the pain points with the auto updater not working at times. We also went ahead and added an API endpoint so that clients (or your own integrations) can do this remotely as well.
Besides these notable features, there's a handful of smaller things and bug fixes that were also added. Check out the release for the full changelog.
Fixed issues with handling attachments over 200mb
Fixed a few issues when handling live photos
Fixed issues surrounding Dynamic DNS URLs
Fixed issue causing chat creation to fail with an improperly formatted phone number
Improved UI & UX of several areas
Yet again, the shining star of the client update is also Google sign in! You no longer have to deal with changing QR codes and URLs. Just log in with your Google account, and the app will find your server for you. Enter your server's password, and voila, you're connected.
Like the server, the client uses the "puppet" Google Cloud Project to read your Firebase projects. We filter out any projects that aren't BlueBubbles related, and show you a list of any projects that have a stored server URL. This is awesome because the client app can find your server even if you made your Firebase project manually! There's no need to have an auto-generated Firebase project.
We're super excited for this feature because it makes it easy to launch BlueBubbles on a brand new device when you don't have easy access to your server URL.
Desktop platform now supports the playback of audio and video inline
FindMy page now supports showing your location in realtime, as well as providing an indicator of the direction you're facing. We hope this makes it easier to locate your position relative to your devices.
The Android and Desktop apps will now respond to an imessage://
deep link, so you can quickly start an iMessage chat with someone from a website using them.
iOS 16.4 Emojis
Generate a theme pallette from an image
You can view the full changelogs on Github:
You can download the server update immediately from GitHub.
You can download the client update immediately from GitHub, or it should be available within the next 24 hours in the Play Store or Microsoft Store.
If you'd like to support the development of BlueBubbles, you can donate via the link below. It means a lot to us!