mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
The search field shipped with its own people lookup — a `mentionQuery` flow over `LocalCache.search.findUsersStartingWith` and a hand-rolled row list. Amethyst already had a better one: `UserSuggestionState` + `ShowUserSuggestionList`, the @-mention picker behind the post composer, the channel and Concord composers, badge awards and the group member screens. That duplicate was not merely redundant, it was worse. It resolved no NIP-05, so `from:vitor@nostr.com` found nobody while `@vitor@nostr.com` in a post found the right person; it never asked the search or indexer relays, only the local cache; and it ranked nothing, so follows did not come first. `commons` cannot call that stack — it is built on `Account` and `AccountViewModel` — so `TokenizedSearchField` takes a `peoplePicker` slot and keeps only what is genuinely shared: when the picker opens, and what a pick splices into the text. Android fills the slot with the composer's list. Desktop keeps its `UserSearchEngine` path through the built-in, keyboard-walkable list, which the slot deliberately does not replace: a slot owns its own selection affordance, so the arrow keys stay with the caret while one is up. Also fixes an inconsistency in the desktop advanced panel: its "Until" box resolved to the *start* of the named day, so a day typed there excluded almost all of itself while the same day written as an `until:` token included it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017yKjw2WqwZpSzsqcYZMnkV