Describe the bug
On the current iOS App Store release (0.4.12), text typed into the channel composer is lost when you navigate away from the channel. Returning to the channel shows an empty composer — the unsent text is gone entirely (it also never appears in the Activity inbox Drafts filter).
Composer draft persistence does exist on main: it landed in #2889 (9d36778c3, 2026-07-27, mobile/lib/features/activity/compose_drafts_provider.dart + the restore path now in mobile/lib/features/channels/compose_bar/draft_lifecycle.dart after the #4512 refactor). But the mobile-v0.4.12-rc.2 tag was cut on 2026-07-25 — two days before the feature merged — and git ls-tree mobile-v0.4.12-rc.2 confirms neither file exists in that release. So every App Store user today has a composer whose text lives only in the widget's TextEditingController and is destroyed on navigation.
Steps to reproduce
- Install Buzz from the iOS App Store (0.4.12).
- Open any channel and type a message into the composer without sending.
- Navigate back to the channel list (or anywhere else in the app).
- Return to the same channel.
- The composer is empty — the drafted text is gone.
Expected behavior
Unsent composer text persists per-channel (and per-thread) across navigation, like Desktop and stock iMessage — i.e., the behavior already implemented on main by #2889.
Version and platform
- Buzz version: iOS app 0.4.12 (App Store)
- OS: iOS 26.5.2
Logs / additional context
Describe the bug
On the current iOS App Store release (0.4.12), text typed into the channel composer is lost when you navigate away from the channel. Returning to the channel shows an empty composer — the unsent text is gone entirely (it also never appears in the Activity inbox Drafts filter).
Composer draft persistence does exist on
main: it landed in #2889 (9d36778c3, 2026-07-27,mobile/lib/features/activity/compose_drafts_provider.dart+ the restore path now inmobile/lib/features/channels/compose_bar/draft_lifecycle.dartafter the #4512 refactor). But themobile-v0.4.12-rc.2tag was cut on 2026-07-25 — two days before the feature merged — andgit ls-tree mobile-v0.4.12-rc.2confirms neither file exists in that release. So every App Store user today has a composer whose text lives only in the widget'sTextEditingControllerand is destroyed on navigation.Steps to reproduce
Expected behavior
Unsent composer text persists per-channel (and per-thread) across navigation, like Desktop and stock iMessage — i.e., the behavior already implemented on
mainby #2889.Version and platform
Logs / additional context
main: the restore path is_useComposeDraftLifecycleinmobile/lib/features/channels/compose_bar/draft_lifecycle.dart, backed by the SharedPreferences store inmobile/lib/features/activity/compose_drafts_provider.dart(identity-namespaced by relay + pubkey, 50-draft cap).