Skip to content

Resolve hidden-repository selection conflicts #14

Description

@jskoiz

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions