Repository navigation
feat(ui): rebuild the archive UI around a query line - #20
Merged
Merged
Conversation
The rebuilt UI keeps navigation in one reducer: scope, query, sort, the open session, a single overlay, the status flash, and the scan phase. Data hooks load the catalog, keyset-paged lists, and the open session, and each drops responses that lost a race to a newer request.
A query line spans the top bar and drives the app. The scope chip on its left picks what to browse (all sessions, a repository, a folder) and narrows a search to a repository. Filters tint in place as you type. Below it, a virtualized list sits beside a reader with Conversation, Files, and Git tabs, collapsible tool calls, and numbered diffs. A status bar carries agent counts, messages, and scan progress. The palette, settings, onboarding, folder filing, export, and forget flows keep their capabilities with in-app dialogs instead of window.confirm and window.prompt. The theme is a cyanotype palette in light and dark, with IBM Plex Sans and Plex Mono bundled locally.
Replace the old component tests with behavior tests through App over a mocked ipc module: browsing and paging, scoped and filtered search, empty and failed states, keyboard flow, scan progress, patches, filing, and forgetting. Unit tests cover tool-call and diff parsing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The archive UI restored in #18 is an older three-pane shell. This PR replaces it with a new design built around search. It keeps every capability and uses only what
src/ipc.tsexposes.What changed
src/hooks/workspace.ts. Data hooks drop responses that lost a race to a newer request. In-app dialogs replacewindow.confirmandwindow.prompt.Scope
searchPagealready supported.Tradeoffs
Blast Radius
Only the webview UI changes:
src/App.tsx,src/components,src/hooks, andsrc/styles.css. The IPC contract,main.tsx, and the Tauri shell are untouched. The bundled IBM Plex fonts are the only new dependencies, and the existingfont-src 'self'CSP allows them.Verification
npm run lint,npm run typecheck,npm test(7 files, 64 tests), andnpm run buildpass.cargo build -p lore-appbuilds against the newdist/.ipcmodule: filtered and scoped search, empty and failed states, keyboard flow, scan progress, patches, filing, and forgetting. Removing the stale-response guard inuseOpenSessionmakes the out-of-order test fail.p1-2-archive-mockbranch merged locally (never pushed). Screenshots cover light, dark, and 900px. The orchestrator has the local paths.