Verified against main at 715c52e.
Impact
Hidden repository names are removed from commits, pull requests, issues, and workflow runs before FocusView receives them. The hidden-management scope still renders those repositories as selectable, and FocusView applies selectedRepo to the already-pruned activity arrays. Selecting a hidden row therefore produces empty feeds even when that repository has activity.
Likewise, hiding the currently selected visible repository removes its row and activity but does not clear selectedRepo, leaving an active filter for a repository that is no longer visible. The feed headers expose a clear control, but the sidebar state and empty results remain contradictory.
Concrete code references
Acceptance criteria
- Hiding the currently selected repository clears that selection before/with activity pruning, so the feeds return to a valid visible scope.
- The hidden-repository management view does not allow a row to create an activity filter against data intentionally excluded from the dashboard.
- Unhiding a repository does not resurrect a stale prior selection.
- “All repositories” selected semantics remain correct after hide/unhide and scope changes.
- Existing viewer-scoped persistence of hidden IDs remains intact.
Test expectations
- Add an App interaction test that selects a repository, hides it, and asserts the selection clears and remaining visible activity is shown.
- Add coverage for the hidden-management scope proving hidden rows can be managed without creating an empty activity filter.
- Cover unhide and rerender/session persistence behavior.
- Run the web Vitest project and
npm run check.
Dependencies / order
Independent.
Non-goals
- Showing hidden-repository activity while it is hidden.
- Sending browser hidden preferences to the server or changing server scan behavior.
- Changing the hidden-repository storage key/schema.
- Adding shareable URL filters.
Verified against
mainat715c52e.Impact
Hidden repository names are removed from commits, pull requests, issues, and workflow runs before
FocusViewreceives them. The hidden-management scope still renders those repositories as selectable, andFocusViewappliesselectedRepoto the already-pruned activity arrays. Selecting a hidden row therefore produces empty feeds even when that repository has activity.Likewise, hiding the currently selected visible repository removes its row and activity but does not clear
selectedRepo, leaving an active filter for a repository that is no longer visible. The feed headers expose a clear control, but the sidebar state and empty results remain contradictory.Concrete code references
Acceptance criteria
Test expectations
npm run check.Dependencies / order
Independent.
Non-goals