BlueBubbles v2.0.0+85 — Starred Contact DND Fork
What is this?
A fork of BlueBubbles v2.0.0+85 (Beta 8) that adds an opt-in Do Not Disturb bypass for starred/favorite Android contacts. Additionally incorporates general notification pipeline bug fixes. See README.md for specific details. The intention of this fork is to facilitate some quality of life improvements and allow any stakeholders to leverage this in the interest of the overall BlueBubbles project (e.g., pull from here into master, use this apk for personal use, etc.).
Changes from v2.0.0+85
Bug fixes
Unknown sender in group chat notifications — A second message arriving rapidly in a group chat showed "Unknown" as the sender name. The handle lookup raced with ObjectBox relation loading; the fix checks the in-memory transient field before falling back to the DB query.
Broken quick-reaction Like button — The native Like button on notifications was silently failing to send reactions due to a missing key prefix in SettingsHelper.kt, which caused the HTTP call to never be made.
New feature: starred-contact DND bypass
Instead of bypassing Do Not Disturb for all BlueBubbles notifications (the upstream default), this fork bypasses DND only for senders who are starred/favorited in your Android contacts app.
How it works: When a message arrives, the sender's native Android contact is looked up. If they are starred, the notification Person is built with a contact URI and marked important — Android's DND system then grants the exception automatically.
The feature is off by default. Enable it under:
Settings → Application Settings → Notification Settings → Override DND for Favorites
One-time Android setup (after enabling the toggle):
- Open Android Settings → Notifications → Do Not Disturb → Allowed during DND
- Enable Starred contacts (label varies by Android version)
- Star the contacts you want to reach you during DND in your contacts app
- Do not add BlueBubbles to the "Apps" override list
Install
- Download
bluebubbles-v2.0.0+85-dnd-prod-release.apkbelow - On your Android device: Settings → Apps → Install unknown apps → allow your browser or file manager
- Open the APK file and install
Note: This is a release build signed with a local key, not the upstream BlueBubbles key. You cannot update directly from the Play Store version — you must uninstall first if switching from Play Store, or build from source with your own key if you prefer.
For developers
The three commits on this fork are self-contained and independently cherry-pickable:
fix: resolve unknown sender in group notifications and infinite loading spinnerfeat: add starred-contact DND bypass with user-controlled settings toggledocs: add fork README documenting changes from v2.0.0+85
See README.md for a detailed change inventory, implementation notes (including the SharedPreferencesAsync/DataStore storage caveat for Kotlin-side setting reads), and a per-file change table.