Pull Request Overview
- Opened on August 22, 2026
- Status Merged
- Commit count 37 with first commit August 21, 2026
Total Delta
Open Days
Test Delta
How long has this pull request spent in each phase of its lifecycle?
Data pending calculation for pull request
JS-9862: search filter tokens - in-input scope/filter tokens, adaptive suggestion row, /by /is /in commands
Summary
The search popup's filter system reworked into removable tokens inside the input (spec: docs/specs/2026-08-21-search-filter-tokens.md, phases 1-3 complete):
Token model
- Removable tokens in the input: Channel scope, kind/type, creator ("By me"/"By "), Related-to - one per group, ANDed, Backspace-at-0 pops the rightmost, Escape never removes tokens
- The current Channel is a scope token; removing it switches to cross-space search in place (no reopen), Cmd+Shift+K toggles; "In this Channel" chip is the way back
- Three-way mode machine: current space / another Channel (via /in or clickable space captions - that Channel's chips, spaceId-filtered loaders) / global
Adaptive suggestion row (Gmail search-chips model)
- Chips show only addable tokens; a filled group's chips hide; no active states, no All chip
- "By me" + member chips (cap rises when the what group is filled); Tab walks a transient highlight, Enter applies
"/" command mode
- Command-argument grammar: /by /is /in launchers with placeholder args + right-side descriptions; concrete rows as singular arguments ("/is Page", "/by me")
- Contextual completions: /by people, /is types, /in Channels (vault order); "/ to filter" placeholder hint teaches it
- Cross-Channel types grouped by uniqueKey with "in + N other Channels" captions; type lists ordered by freshest of lastUsed/lastOpened/created
Hardening: three multi-agent review rounds across the phases (9+7+9 findings, all confirmed ones fixed - request generations, measurement-cache identity keys, focused-input Backspace guard, GLOBAL_DEPS lifecycle, Prism .token CSS collision, scroll pinning)
Dependencies
- anytype-heart v0.51.0-rc5 (middleware.version bumped in this PR)
Testing
- Manually verified by Roman throughout (tokens, mode flips, /commands, chips, dark mode)
- bun run typecheck / lint clean per commit
PR was closed without comments.