Oracle re-review on PR #30 flagged that _ChatDetailViewState only called onDraftChanged when _textCtl.text was non-empty. The empty case is load-bearing: if the user restored a saved draft, deleted the text, then switched target (or closed the panel), the parent's draft map kept the stale entry and resurrected it on the next swap. Fix: call onDraftChanged unconditionally in both didUpdateWidget (target change) and dispose (tear-down), so the parent map learns when a draft is now empty. Adds a regression test exercising the restore-clear-swap sequence.
chanora_flutter
Chanora — cross-platform voice client for TeamSpeak-compatible servers.
Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.