Skip to content

Hardened Baseline dnd.1 (v2.0.0+85 + upstream 2026-06-25)

Choose a tag to compare

@blue-archon blue-archon released this 04 Jul 14:26

An unofficial community fork of BlueBubbles — a hardened baseline on top of upstream development (merged through 2026-06-25, 8bcf15cf), with reliability fixes and desktop improvements. Not affiliated with or endorsed by the BlueBubbles project.

What this has that the upstream baseline doesn't

Messaging reliability (Android-focused, benefits all platforms)

  • No more silently lost outbound messages. Two independent defects could make a sent message vanish with no error bubble (typically after backgrounding the app; worst in group chats):
    • The background isolate's shutdown ("drain"), armed when the app is backgrounded, was never disarmed on resume — it killed the isolate at the first quiet moment under active use. New activity or resuming now cancels it. (Upstream's d63131e52 accepts sends during a drain; this fork additionally disarms the shutdown.)
    • The outgoing queue's prep phase (temp DB write) had zero failure recovery — a throw there dropped the message silently. It now retries while safe and otherwise surfaces a failed/retryable bubble.

Desktop (Linux-validated; also offered upstream as PRs #3068#3072)

  • Linux window can actually be closed (secure_application bypassed on Linux, where it never worked).
  • Notifications de-forked onto flutter_local_notifications (drops the stagnant local_notifier fork) — and click-to-open now works from any chat, not just the active one.
  • "Notification Sound" toggle: system sound / custom sound file / silent popup.
  • Notifications work in the narrow single-pane window layout (previously silently dropped).
  • Tray consolidated onto tray_manager (removes duplicate system_tray dependency).
  • Dead Tenor GIF button removed (Google sunset the public Tenor API on 2026-06-30).

From the fork's base (see README for full detail)

  • Per-contact DND bypass via Android starred contacts (instead of the whole app bypassing DND), user-controlled toggle.
  • UnifiedPush / ntfy reliability overhaul (method-channel type normalization, WorkManager payload spill for large attachments).
  • Group-chat handle linking fixes (no more "Unknown" senders / silently dropped group notifications), plus assorted upstream bugfixes documented in the README.

Installing

  • Android (app-prod-release.apk): signed with this fork's key — cannot install over the official app; uninstall it first (messages re-sync from your server). Package id is the standard com.bluebubbles.messaging.
  • Linux (bluebubbles-desktop-*.pkg.tar.zst): Arch/pacman package — sudo pacman -U <file>. Installs to /opt/bluebubbles, menu entry included; per-user data in ~/.local/share/app.bluebubbles.BlueBubbles/.
  • Windows / macOS: build from source (flutter build windows|macos --release); the desktop changes compile for all three platforms but were runtime-validated on Linux only.

Validation status

Android APK validated in daily use on a physical device; Linux desktop validated in daily use. Windows/macOS: compile-verified only.