Skip to content

feat(tab): add session lock and SecureCRT-style connection status badges - #89

Merged
feigeCode merged 2 commits into
feigeCode:devfrom
aries-shen:feat/tab-session-lock-and-status-badges
Aug 21, 2026
Merged

feat(tab): add session lock and SecureCRT-style connection status badges#89
feigeCode merged 2 commits into
feigeCode:devfrom
aries-shen:feat/tab-session-lock-and-status-badges

Conversation

@aries-shen

@aries-shen aries-shen commented Aug 21, 2026

Copy link
Copy Markdown
Contributor
  • Session lock: password prompt (kept in memory, SHA-256 hashed), lock/unlock via tab context menu, 'Lock All Sessions' / 'Hide Output' options, and input gating so locked terminals reject keystrokes until unlocked.
  • Connection status badges (SecureCRT-inspired): connected = plain green check, disconnected = red circle with white bar, connected+locked = combined green check with yellow lock overlay at bottom-right. Rendered after the tab type icon with tooltips for both regular and pinned tabs.
  • Locked tabs cannot be closed via the X button; close_tab central guard blocks it and surfaces a notification prompting the user to unlock first.
  • Terminal reports connection state (mapped from PTY/connection status, read-only surfaces show no badge) and emits StateChanged on transitions; SFTP uses a connection-state helper with the same transition semantics.

Closes #[issue number]

Description

Describe in English for the changes made in this pull request and the problem it solves.
Please keep 1 PR to solve 1 problem, and keep Small improvements should be small modifications to make PR easier to review and to merge.

Screenshot

Before After
[Put Before Screenshot here] [Put After Screenshot here]

Break Changes

Describe any breaking changes introduced by this pull request. If none, remove this section.

  • Change 1
- Old code snippet
+ New code snippet

How to Test

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

Checklist

  • I have read the CONTRIBUTING document and followed the guidelines.
  • Reviewed the changes in this PR and confirmed AI generated code (If any) is accurate.
  • Passed cargo run for story tests related to the changes.
  • Tested macOS, Windows and Linux platforms performance (if the change is platform-specific)

ariesshen and others added 2 commits August 21, 2026 09:25
- Session lock: password prompt (kept in memory, SHA-256 hashed), lock/unlock
  via tab context menu, 'Lock All Sessions' / 'Hide Output' options, and
  input gating so locked terminals reject keystrokes until unlocked.
- Connection status badges (SecureCRT-inspired): connected = plain green check,
  disconnected = red circle with white bar, connected+locked = combined green
  check with yellow lock overlay at bottom-right. Rendered after the tab type
  icon with tooltips for both regular and pinned tabs.
- Locked tabs cannot be closed via the X button; close_tab central guard
  blocks it and surfaces a notification prompting the user to unlock first.
- Terminal reports connection state (mapped from PTY/connection status,
  read-only surfaces show no badge) and emits StateChanged on transitions;
  SFTP uses a connection-state helper with the same transition semantics.
@feigeCode
feigeCode merged commit c43e986 into feigeCode:dev Aug 21, 2026
@feigeCode

Copy link
Copy Markdown
Owner

感谢贡献

@aries-shen
aries-shen deleted the feat/tab-session-lock-and-status-badges branch August 24, 2026 01:06
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