Skip to content

Dedupe Rust sidebars for tmux grouped sessions#37

Open
colelawrence wants to merge 1 commit into
Ataraxy-Labs:ratatui-migrationfrom
colelawrence:fix/grouped-session-sidebar-dedupe
Open

Dedupe Rust sidebars for tmux grouped sessions#37
colelawrence wants to merge 1 commit into
Ataraxy-Labs:ratatui-migrationfrom
colelawrence:fix/grouped-session-sidebar-dedupe

Conversation

@colelawrence
Copy link
Copy Markdown

Summary

  • dedupe tmux active-window discovery by physical window id so grouped sessions do not spawn multiple Rust sidebars into the same shared window
  • dedupe sidebar pane discovery/cleanup by physical pane id so linked-session listings do not look like duplicate panes
  • add regression coverage for grouped-session toggle behavior

Verification

  • cargo test -p opensessions-runtime --test tmux_provider
  • cargo test -p opensessions-server --test protocol_shell http_toggle -- --nocapture

- Tmux grouped sessions expose the same physical windows and panes under multiple session names, which made Rust sidebar toggles spawn duplicate sidebars into one window.
- Deduplicate sidebar window and pane discovery by physical tmux ids while preserving the active linked-session identity for spawn context.
Copy link
Copy Markdown

@inspect-review inspect-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inspect review

Triage: 13 entities analyzed | 0 critical, 0 high, 8 medium, 5 low
Verdict: standard_review

Findings (1)

  1. [low] Test/implementation mismatch in tmux_provider window dedupe: list_active_windows only replaces an existing entry when current.active==false && next.active==true, but the new test tmux_provider_deduplicates_grouped_session_windows_by_window_id expects the second @1 entry (alpha-2) to win even though the first @1 entry is already active. Diff evidence: implementation in packages/runtime-rs/src/tmux_provider.rs uses if !current.active && next.active { *current = next; } and the test data marks alpha-2 active (...alpha-2...1...) while alpha is also active per the test fixture; test asserts session_name == "alpha-2". This will fail if the first entry is active.

Reviewed by inspect | Entity-level triage found 0 high-risk changes

@rs545837
Copy link
Copy Markdown
Member

rs545837 commented May 6, 2026

Thanks for the PR @colelawrence, will review it soon.

@Palanikannan1437 Palanikannan1437 self-requested a review May 18, 2026 20:07
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.

2 participants