iOS App Store 0.4.12: composer text is lost when navigating away from a channel — draft persistence (#2889) has never shipped in a release
- Lingua principale
- Rust
- Stelle
- 32.7k
- Fork
- 4.3k
- Merge medio
- 1g 13h
- PR unite (30g)
- 253
Descrizione
**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**
1. Install Buzz from the iOS App Store (0.4.12).
2. Open any channel and type a message into the composer without sending.
3. Navigate back to the channel list (or anywhere else in the app).
4. Return to the same channel.
5. 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**
- Ask: cut a new iOS App Store release that includes #2889 — the fix is already merged, it just hasn't shipped. (Related: #4604 also reports against the aging 0.4.12 App Store build.)
- For anyone verifying on `main`: the restore path is `_useComposeDraftLifecycle` in `mobile/lib/features/channels/compose_bar/draft_lifecycle.dart`, backed by the SharedPreferences store in `mobile/lib/features/activity/compose_drafts_provider.dart` (identity-namespaced by relay + pubkey, 50-draft cap).
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Confronta il tag mobile-v0.4.12-rc.2 con main, concentrandoti su mobile/lib/features/activity/compose_drafts_provider.dart e mobile/lib/features/channels/compose_bar/draft_lifecycle.dart. Verifica il percorso di ripristino di _useComposeDraftLifecycle, quindi segui il processo di release iOS; il lavoro è completo quando una nuova release sull’App Store include #2889 e conserva le bozze non inviate per canale e thread.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- dart, flutter
- Ambito
- mobile, release
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 35/100