Skip to content

feat(SessionManager): add open session submenu with label truncation#73

Merged
remarkablemark merged 4 commits into
masterfrom
feat/session
May 15, 2026
Merged

feat(SessionManager): add open session submenu with label truncation#73
remarkablemark merged 4 commits into
masterfrom
feat/session

Conversation

@remarkablemark
Copy link
Copy Markdown
Member

What is the motivation for this pull request?

Feature improvements to the SessionManager component: add a dedicated open session submenu, exclude the active session from the open list, and truncate long session labels to fit the terminal width.

What is the current behavior?

  • Sessions are listed inline in the main menu with a Current: prefix for the active session.
  • All sessions appear in the delete menu, including the currently active one.
  • Long session titles overflow the terminal without truncation.

What is the new behavior?

  • A new Open session menu item opens a submenu listing only non-active sessions.
  • The active session is excluded from both open and delete submenus.
  • Session labels are truncated with an ellipsis (UI.ELLIPSIS) when they exceed the available terminal column width.
  • The ellipsis character is extracted into UI.ELLIPSIS constant for reuse.

Checklist:

Changed `/session` so the main menu now shows `Open session` as a
submenu entry instead of listing sessions inline.

The new flow is implemented in `src/components/SessionManager.tsx`,
with a dedicated `OPEN` view, `Back` navigation, and updated hint text.

`Delete session` behavior is unchanged.
Removed the active session from `Open session` in
`src/components/SessionManager.tsx`, so that submenu now
only offers other saved sessions plus `Back`.
Fixed in `src/components/SessionManager.tsx` by truncating session
option labels to the available terminal width and preserving the
timestamp suffix when possible.

The active session is still excluded from `Open session`, and long
titles now render with an ellipsis instead of overflowing the line.
@remarkablemark remarkablemark self-assigned this May 15, 2026
@remarkablemark remarkablemark added bug Something isn't working enhancement New feature or request labels May 15, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/components/SessionManager.tsx 100.00% <100.00%> (ø)
src/constants/ui.ts 100.00% <100.00%> (ø)
src/utils/session.ts 100.00% <100.00%> (ø)
src/utils/tools/web/utils.ts 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@remarkablemark remarkablemark enabled auto-merge May 15, 2026 03:42
@remarkablemark remarkablemark merged commit ff18564 into master May 15, 2026
16 checks passed
@remarkablemark remarkablemark deleted the feat/session branch May 15, 2026 03:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant