The campaign search gets its results page, and a rules hit opens in place (#1033) #1046

Merged
claude-bot merged 8 commits from feat/1033-search-results-page into main 2026-10-03 14:44:25 +00:00
Collaborator

Closes #1033.

Summary

Built on 2 October and held only because the CI runner had run out of disk. It has now been merged with current main (cleanly) and pushed. The full build and check record is comment 51082 on #1033; in short:

  • Route. The search route takes full=1: every match of each kind up to 200, with the same sources, permissions, ranking and transcript rule. The Rules count is now the true one (it was the length of a list already cut at ten).
  • Results page. /campaigns/:id/search?q=…[&kind=…][&transcripts=1] shows every match grouped by kind, with a row of links to narrow it and no search box of its own (#593). The GM's transcript switch is kept in the address and is never sent for a player.
  • Panel under the app bar's box. Three per kind, then "All N in …" and "See all N results", as lane 1 drew it. Enter goes to the page.
  • Rules hits. A rules hit opens the preview the table and prep already use, in a dialog, and focus returns to the row when it closes. The wiki front page's box gets the same.
  • Drawing and ledger. Lane 1's SH-9 drawing gains the page behind "All N"; ledger IS-482 and IS-483.

Changelog

  • Fragment in changelog.d/ (on the branch).

Test plan

  • Recorded on the branch before this merge of main: full backend 6824 passed, ruff clean, full vitest 3767 passed. Browser at 390×844 and 1440×900 in both themes, every state, keyboard only, axe 0 violations, and the player view checked.
  • This merge of main: changelog.py check and check_version_sync.py pass locally.
  • CI on this PR (the full matrix, on the merged head).
  • Not seen: a creature's stat block in the rule dialog, a People group, and the dev demo seed's tide matches. These are for the owner's review on dev.

🤖 Generated with Claude Code

Closes #1033. ## Summary Built on 2 October and held only because the CI runner had run out of disk. It has now been merged with current main (cleanly) and pushed. The full build and check record is comment 51082 on #1033; in short: - **Route.** The search route takes `full=1`: every match of each kind up to 200, with the same sources, permissions, ranking and transcript rule. The Rules count is now the true one (it was the length of a list already cut at ten). - **Results page.** `/campaigns/:id/search?q=…[&kind=…][&transcripts=1]` shows every match grouped by kind, with a row of links to narrow it and no search box of its own (#593). The GM's transcript switch is kept in the address and is never sent for a player. - **Panel under the app bar's box.** Three per kind, then "All N in …" and "See all N results", as lane 1 drew it. Enter goes to the page. - **Rules hits.** A rules hit opens the preview the table and prep already use, in a dialog, and focus returns to the row when it closes. The wiki front page's box gets the same. - **Drawing and ledger.** Lane 1's SH-9 drawing gains the page behind "All N"; ledger IS-482 and IS-483. ## Changelog - [x] Fragment in `changelog.d/` (on the branch). ## Test plan - [x] **Recorded on the branch before this merge of main:** full backend 6824 passed, ruff clean, full vitest 3767 passed. Browser at 390×844 and 1440×900 in both themes, every state, keyboard only, axe 0 violations, and the player view checked. - [x] **This merge of main:** `changelog.py check` and `check_version_sync.py` pass locally. - [ ] CI on this PR (the full matrix, on the merged head). - [ ] **Not seen:** a creature's stat block in the rule dialog, a People group, and the dev demo seed's `tide` matches. These are for the owner's review on dev. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The app bar's panel shows three of a kind, then "All 14 in Wiki" and "See
all", which lead to /campaigns/:id/search: every match by kind, a row of links
to narrow it, and the GM's transcript switch, all kept in the address. Enter
in the box goes there too. The page has no search box of its own (#593).

One search, not two: search-all takes full=1, which lifts the per-kind cap
from 10 to 200 with the same sources, permissions, order and transcript rule.
by_kind is the true count for the rules as well now (it was the length of the
cut list), so the panel's numbers and the page's "the first 200 of N" are
true.

A rules hit has no page, and choosing one did nothing. It opens in a dialog
named for the rule, drawn by the preview the table and the prep drawers use,
from the panel, the wiki's own box and the page; focus returns to its row.

Drawing: lane 1, SH-9, "The page behind All N". Ledger: IS-482, IS-483.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Seen in the browser check: the wiki front page's own box sits at the foot of
its page, and its results opened below the bottom of the window; and "All N
in …", the rows and "See all" started at three different places.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Merge remote-tracking branch 'origin/main' into feat/1033-search-results-page
All checks were successful
CI / Backend lint (ruff) (pull_request) Successful in 38s
CI / Bot/backend version sync (pull_request) Successful in 36s
CI / Feedback site tests (pull_request) Successful in 54s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m5s
CI / Does this change touch the recording path? (pull_request) Successful in 27s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Has been skipped
CI / Bot tests and audit (pull_request) Successful in 2m1s
CI / Docker image build (pull_request) Successful in 2m54s
CI / Frontend (shard 2/2) (pull_request) Successful in 8m43s
CI / Frontend (shard 1/2) (pull_request) Successful in 10m22s
CI / End-to-end journeys (phone) (pull_request) Successful in 10m26s
CI / End-to-end journeys (desktop) (pull_request) Successful in 12m6s
CI / End-to-end journeys (keyboard) (pull_request) Successful in 19m12s
CI / Backend migration, tests, and audit (pull_request) Successful in 26m29s
80f0cee0fa
claude-bot deleted branch feat/1033-search-results-page 2026-10-03 14:44:27 +00:00
Sign in to join this conversation.
No description provided.