migrate the slash typeahead onto ClideTypeahead (T-286, D-88)

Swap the composer's hand-rolled LayerLink/OverlayEntry slash popover for the
shared ClideTypeahead, driven by a ClideMenuListController for arrow/Enter nav
while the EditableText keeps focus. The key pipeline (Esc-fallthrough,
Tab-complete, history) stays in the composer.

ClideTypeahead now bridges its live suggestions through a ValueNotifier so the
popover narrows as you type — the OverlayEntry is a separate subtree that does
not rebuild with the host, so a captured list would go stale. The notifier and
open/close run post-frame to avoid rebuilding widgets during the parent's build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 23:02:07 +02:00
co-authored by Claude Opus 4.8
parent 60312eff3b
commit 1c20bf128a
4 changed files with 78 additions and 105 deletions
+4
View File
@@ -153,6 +153,10 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
### Changed
- The Claude composer's **slash typeahead** and the team-chat **@-mention**
list now ride the shared `ClideAnchoredOverlay` + `ClideMenu` popover
primitive, alongside the menu bar. The @-mention list gains full keyboard
nav (arrows/Enter), and both narrow live as you type. (T-286, D-88)
- Ticket cards now show parentage as a small **tree** — the parent as a muted,
clickable breadcrumb above and the card's own ticket **bold** under a `└`
connector — instead of the ambiguous inline `T-1 ← T-9` arrow. (T-281)