Skip to content

Comments

Feat/ssh guide modal root reset#36

Merged
hololee merged 12 commits intomainfrom
feat/ssh-guide-modal-root-reset
Feb 20, 2026
Merged

Feat/ssh guide modal root reset#36
hololee merged 12 commits intomainfrom
feat/ssh-guide-modal-root-reset

Conversation

@hololee
Copy link
Owner

@hololee hololee commented Feb 20, 2026

PR Title

feat(dashboard/settings): improve SSH guide + root password reset flow and add safe host-SSH reset

Summary

This PR refines the Dashboard SSH guide and root password reset flow, adds a safe reset action for Host
Server Connection in Settings (with confirmation modal), and ensures JupyterLab terminals prefer zsh.

What Changed

1) Dashboard SSH guide improvements

  • SSH guide now reflects configured SSH client values (host/port/user).
  • Hides redundant guide notes when host SSH is already configured.
  • Improved SSH guide modal UX and copy behavior.

2) Root password reset flow hardening

  • Improved Dashboard input UX for root password reset.
  • Normalized worker routing for root password reset so host/worker behavior is consistent.
  • Improved error mapping and handling for clearer failure behavior.
  • Hardened exec IO handling used during reset operations.

3) Settings: Host Server Connection reset

  • Added Reset action in Host Server Connection.
  • Added confirmation modal before reset.
  • Reset scope includes:
    • Stored SSH client config
    • Browser-stored encrypted key and key metadata
    • SSH form state
    • Related terminal/session UI state
  • Reset action style aligned with destructive action buttons.

4) JupyterLab terminal shell fallback

  • Added --ServerApp.terminado_settings in runtime command.
  • Shell priority: zsh -> bash -> sh.

Scope

Frontend

  • frontend/src/pages/Dashboard.tsx
  • frontend/src/pages/Settings.tsx
  • frontend/src/utils/sshGuide.ts
  • i18n updates (en, ko)

Backend

  • backend/app/routers/environments.py
  • backend/app/routers/worker_api.py
  • backend/app/tasks.py
  • related tests

Validation

  • Pre-commit checks passed:
    • Frontend lint/build
    • Backend lint/tests for affected scope
  • Manual checks:
    • SSH guide modal rendering/copy/config reflection
    • Root password reset on host and worker paths
    • Host Server Connection reset confirmation + data clearing
    • JupyterLab terminal shell preference (zsh first)

Checklist

  • Functional behavior verified
  • i18n (en/ko) updated
  • Key regression paths reviewed
  • Lint/tests passed

@hololee hololee self-assigned this Feb 20, 2026
@hololee hololee merged commit b8bbf74 into main Feb 20, 2026
2 checks passed
@hololee hololee deleted the feat/ssh-guide-modal-root-reset branch February 20, 2026 17: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