Repository navigation
Files: device filter, screen search, usage in the sidebar - #1272
Conversation
- Type select gains a Device group (Mobile, Desktop, Tablet) backed by the classifier's `ai.surface` label. `?surface=` on /pulls, /repos, scope files, and files/by-path; drill-ins filter on `meta.ai.surface`. - By page now groups files that have a `screen` and no `path` under their screen name (`by: "screen"`), so the page search finds mobile app screens. Drill-ins use `?screen=`. - Workspace usage moves from the right rail to a collapsible footer at the bottom of the sidebar, on every workspace tab, with its own quiet error boundary so a crash there never takes the nav down. - The PR view's repo select asks /repos for names only (`thumbnails=0`) instead of loading thumbnails and open-PR counts for every repo. - files/by-path runs its metadata, timestamp, and storage-config reads in parallel. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FsGRzxzuHgaKiSjXwGmWL6
|
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one): 2
🚫 Excluded labels (none allowed): 1
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
AI notes · nothing to flag
4 files · add media: |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FsGRzxzuHgaKiSjXwGmWL6




Requested by Zach · project thread
What changed
Usage moves to the sidebar. The usage meters leave the right rail (Files and Billing) and sit at the bottom of the left sidebar on every workspace tab. Collapsed, it shows one line: the fullest meter. Expanding shows every meter and the object count. The open/closed choice is remembered per browser. It hides when the sidebar collapses to icons.
Device filter. The Type select gains a Device group: Mobile, Desktop, Tablet. It's backed by the classifier's
ai.surfacelabel, so files that were never classified don't match. The API takes?surface=on/pulls,/repos, scope files andfiles/by-path(anEXISTSon the PK). Drill-ins filter onmeta.ai.surface. Picking a device clears the file kind and the other way round, so the bar keeps one control.Search covers
screen. By page used to list only files with apath, so mobile screenshots tagged with--screennever showed up. A file with ascreenand nopathnow groups under its screen name (by: "screen", shown with a small "screen" tag). It's searchable and suggested, and drills in through?screen=. A file that has both still groups bypath.Error boundaries. Every island already had one.
IslandErrorBoundarynow takes afallback, and the sidebar usage footer has its own quiet boundary, so a crash there can't take the navigation down with it.Query cleanup.
/repos, which loads thumbnails and open-PR counts for 20 repos just to read their names, and the page waited on it during SSR. It now asks for names only (thumbnails=0, 50 per page).files/by-pathruns its metadata, timestamp and storage-config reads in parallel instead of one after another.Testing
pnpm typecheck,pnpm check,pnpm test:api(3506 pass), web vitest (1347 pass)./pullsand scope files,/repos?thumbnails=0,invalid_surface, screen grouping and the surface filter ingroupObjectsByPath, URL round-trip forsurfaceandscreen, and screen/path suggestions.Generated by Claude Code