Skip to content

fix(view): locked-repo reorder skips invisible repos#73

Closed
wgordon17 wants to merge 4 commits into
gordon-code:mainfrom
wgordon17:worktree-fix+visible-locked-reorder
Closed

fix(view): locked-repo reorder skips invisible repos#73
wgordon17 wants to merge 4 commits into
gordon-code:mainfrom
wgordon17:worktree-fix+visible-locked-reorder

Conversation

@wgordon17
Copy link
Copy Markdown
Member

Summary

  • moveLockedRepo gains optional visibleRepoNames param to skip invisible locked repos during reorder
  • RepoLockControls uses visible subset for isFirst/isLast disable states
  • Each tab derives visibleLockedRepos from its repoGroups memo

Closes #71

Add optional visibleRepoNames parameter to moveLockedRepo. When
provided, scans in the given direction to find the next visible locked
repo and repositions the source adjacent to it. Falls back to adjacent
swap when the parameter is omitted (backward compatible).
Add visibleLockedRepos prop to RepoLockControls. isFirst/isLast are
now computed from the visible subset, so buttons correctly disable
when hidden repos are at the boundary. Each tab derives
visibleLockedRepos from its repoGroups memo intersected with
viewState.lockedRepos.
Separates splice-shift correction from direction intent in insertIdx
computation. Moves Set construction from click handler into createMemo
so it derives once per prop change instead of per click.
Adds symmetric test coverage for skipping multiple invisible repos
when moving down, complementing the existing up-direction test.
@wgordon17
Copy link
Copy Markdown
Member Author

Superseded by #74 — locked repos are now always visible (de-emphasized when empty) instead of skip-invisible reordering.

@wgordon17 wgordon17 closed this Apr 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reordering visible pinned repos has no effect when invisible pinned repos are between them

1 participant