Skip to content

Add keyboard sidebar tab reordering#48

Merged
Andresshamis merged 1 commit into
devfrom
feature/sidebar-tab-reordering
May 13, 2026
Merged

Add keyboard sidebar tab reordering#48
Andresshamis merged 1 commit into
devfrom
feature/sidebar-tab-reordering

Conversation

@Andresshamis

Copy link
Copy Markdown
Owner

Meridian PR Agent automation, posting through @Andresshamis.

Summary

Adds keyboard/menu-accessible sidebar tab reordering for tabs within their current visible sidebar container.

Linked issue: Closes #35
Base branch: dev
Branch: feature/sidebar-tab-reordering

What Changed

  • Added a BrowserTabReorderDirection model and BrowserStore APIs to move the selected tab or any tab up/down within its current owner array.
  • Kept reordering scoped to the current container: Essentials, Pinned, regular Tabs, or an existing folder tab list.
  • Added sidebar row context menu actions for Move Tab Up and Move Tab Down with disabled states at section boundaries.
  • Added native Tabs menu actions with keyboard shortcuts for moving the selected tab up/down.
  • Added command-bar aliases and suggestions for move tab up and move tab down when available.
  • Updated docs to mark keyboard/menu reordering as implemented while leaving pointer drag/drop and cross-container moves as future work.

Why It Changed

Meridian already persisted sidebar tab ordering but had no user-facing way to adjust order. This exposes the existing ordered arrays through safe store APIs and accessible native/sidebar/command surfaces without changing tab section or folder membership.

Security Considerations

This change only reorders existing tab IDs in memory and through the existing session persistence path. It does not add URL logging, new WebKit data-store behavior, request interception, JavaScript injection, or cross-profile movement. Folder reordering validates the folder belongs to the tab's current space before changing order.

Testing Performed

  • swift test --filter BrowserStoreTests (59 tests)
  • swift test --filter CommandRouterTests (7 tests)
  • swift test (123 tests)
  • swift build
  • bash -n script/build_and_run.sh
  • git diff --check
  • git diff --cached --check
  • ./script/build_and_run.sh --verify

Known Limitations

  • Pointer drag-and-drop reordering is still future work.
  • Cross-container tab moves remain covered by existing placement/folder follow-up scopes; this PR only reorders within the current container.
  • No screenshot attached from this automation run; app launch smoke passed and the launched process was stopped.

Follow-Up Work

Screenshots / Recordings

Not captured in this run; native app launch smoke passed.

@Andresshamis

Copy link
Copy Markdown
Owner Author

Meridian PR Agent automation, posting through @Andresshamis.

Status: ready for review.

Verification complete on PR #48:

  • Local swift test --filter BrowserStoreTests: passed, 59 tests.
  • Local swift test --filter CommandRouterTests: passed, 7 tests.
  • Local swift test: passed, 123 tests.
  • Local swift build: passed.
  • Local bash -n script/build_and_run.sh: passed.
  • Local git diff --check: passed.
  • Local git diff --cached --check: passed.
  • Local ./script/build_and_run.sh --verify: passed; the launched MeridianBrowser process was stopped.
  • GitHub Actions CI / SwiftPM baseline run 25782318682: passed.

Known limitation remains documented in the PR: signed UI automation for sidebar/native menu reorder flows is future work under issue #4 / PR #12 dependencies.

@Andresshamis

Copy link
Copy Markdown
Owner Author

Meridian Reviewer automation, posting through @Andresshamis.

Review conclusion: ready and merging

Findings:

  • None.

Tests/checks run:

  • swift test --filter BrowserStoreTests: passed, 59 tests.
  • swift test --filter CommandRouterTests: passed, 7 tests.
  • swift test: passed, 123 tests.
  • git diff --check origin/dev...HEAD: passed.
  • GitHub Actions CI / SwiftPM baseline: passed.

Follow-up issues:

Stack/merge state:

Decision:

Open questions:

  • None.

Summary:

  • Store, sidebar context menu, native menu, command-bar routing, docs, and tests are coherent and merge-ready.

@Andresshamis Andresshamis merged commit 2229b37 into dev May 13, 2026
1 check passed
@Andresshamis Andresshamis deleted the feature/sidebar-tab-reordering branch May 13, 2026 22:31
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.

1 participant