BlueBubbles Server v1.9.8
Pre-releaseWhat's New?
This is a fairly substantial update. It brings a handle of good QOL updates, as well as a ton of bug fixes and other small improvements. In addition, we now natively support Apple Silicon Macs! In addition, I've done some dependency cleanup, upgrading some backend libraries and removing others.
Warning / Note
Apple has flagged my Apple Developer account, which prevents me from signing the BlueBubbles Server with my developer certificate. As a result, you may need to "Allow" the app to run via your System Preference's Security & Privacy
page. Alternatively, you can right click the app and select Open
to directly open the app.
New Features
- Support for message searching on macOS Ventura and newer via the Private API
- Google Login to download contacts from your Google Account
- This will not continuously sync your Google Contacts
- Apple Silicon (ARM) Native Build! You can now run the BlueBubbles Server natively on an Apple Silicon Mac
- This has not been extensively tested yet, but we figured we'd make it available
- The Cloudflare (and maybe Ngrok & Zrok) daemon still will require Rosetta to run because they have not released Apple Silicon compatible builds yet
- Ability to disable the automatic opening of the FindMy app on startup (see settings)
- Settings toggle to allow auto-start as a Launch Agent to achieve crash-persistence
- You must manually set the auto start method to
Launch Agent
- If the server crashes, it will automatically be restarted. If it closes normally (exit code 0), it will not be automatically restarted
- You must manually set the auto start method to
- Handles/Addresses are now obfuscated in the server log
- New feature to automatically lock your Mac after login
Bug Fixes & Improvements
- Fixes issues detecting, parsing, and emitting unsent messages
- Fixes detection of delivered messages when sent from other Apple devices
- Replaces automatic update service with a more manual update process
- Adds warning next to your Server URL on the dashboard if it's using an insecure connection (HTTP) and a non-local address.
- The warning basically explains that the connection is insecure and may be vulnerable to a man in the middle attack.
- Increases send timeout time from 30 seconds to 1 minute to prevent unnecessary send errors
- Fixes issue where images converted from HEIC would get a double-extension
- Fixes issue detecting live photos for converted HEIC images
- Start Delay now will only be applied when the Mac uptime is < 5 minutes
- Improved error handling for Cloudflare proxy service
- Fixes issue where a new Server URL on server startup would not get dispatched to Firebase
- Fixes attachment de-duplication issue causing a visual bug where the wrong image would be displayed for an older image
- This fix only applies to all future sent attachments and will not fix older bugged attachments
- Also fixes an issue where old images would appear wrong after clearing the attachment cache
- Fixes bug with sending text + attachments using the multipart endpoint
- Error and Warning logs are now colored red and orange, respectively
- Improvements & fixes to the OAuth Firebase setup process
- Fixes alignment of the trash & edit icons for webhook table entries
- Removes "Beta" tag for the Zrok Proxy Service
- Adds "warning" next to the server URL on the dashboard when the connection may be insecure (i.e. dynamic DNS over HTTP)
- Fixes API error message when a 500 error is thrown
- A slightly improved icon to follow macOS design better
Developers
- Adds validation to the "addresses" field for the
POST /api/v1/contact/query
API - Migrated away from using the
zx
library to execute CLI commands in favor of a custom purpose-built executor.- This also fixes an issue with orphaned cloudflared processes (and possible memory leak)
- Removes
yarn
support due to build issues - Bumps NodeJS version to v20.11
- Fixes all fixable vulnerabilities in dependencies
- Tons of development package upgrades & dependency fixes
- TypeScript
- ESLint
- Electron
- Much More...
- Upgrades Cloudflared binary to latest version
- Webhook error logs are now debug level
- BREAKING: The
POST /api/v1/attachment/upload
endpoint now returnspath
rather thanhash
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
Enjoy!
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address
option, this can be mitigated while on your home network.