Commit Graph

18 Commits

Author SHA1 Message Date
LAPTOP-O016UC3M\Qi Chen b8c221d112 Organize and normalize imports across project
Reorder and normalize import statements, group icon imports, and add
missing utility imports (cn). Fix export/newline formatting and minor
type import tweaks. Add ESLint scripts to package.json and update the
lockfile.
2025-12-11 16:01:03 +08:00
bincxz aff8a603d3 Adds protocol selection and native Telnet support
Improves host connection flow by allowing users to choose SSH, Mosh, or Telnet protocols when multiple are available.

Implements native Telnet client, removing system dependency and enabling proper Telnet negotiation, window resizing, and terminal type handling.

Ensures session protocol overrides persist during connection, improving accuracy of terminal sessions.

Enhances UI logic for protocol-specific host details and quick connect wizard navigation.
2025-12-11 03:28:44 +08:00
LAPTOP-O016UC3M\Qi Chen 2068e5d245 Adds persistent shell history tracking and UI integration
Implements real-time shell command history capture from terminal sessions,
persisting up to 1000 entries with host and session metadata.

Integrates shell history into the UI with lazy-loading, snippet creation from
history, and improves host selection UX by reusing a shared panel component.

Enables users to review, reuse, and organize previously executed commands,
enhancing productivity and traceability across sessions.
2025-12-10 20:53:58 +08:00
LAPTOP-O016UC3M\Qi Chen 629cdb6db9 Adds workspace focus mode and snippet runner
Introduces a 'focus mode' for workspaces, allowing users to view and switch between individual terminals in a sidebar for improved multi-session management. Implements a snippet runner that creates a focus-mode workspace and executes a command across multiple hosts, streamlining bulk operations. Enhances the workspace model and session management to support these features and updates the UI for discoverability and ease of use.
2025-12-10 20:11:36 +08:00
LAPTOP-O016UC3M\Qi Chen 1a7d9e7639 Improves performance and removes debug logging
Reduces unnecessary re-renders in terminal and workspace components by optimizing host object creation and separating visibility effects.
Speeds up SSH connection issue detection and lowers latency via adjusted keepalive and cipher settings.
Removes debug console logs to clean up output and improve efficiency.
2025-12-10 13:55:52 +08:00
bincxz fed2132197 Improves SFTP reconnect logic and platform UI clarity
Adds auto-reconnect for SFTP pane sessions, preserving file state and user experience during connection loss. Refactors range selection for greater accuracy and UI alignment. Enhances biometric key and platform labeling to dynamically reflect macOS or Windows, improving clarity for end users. Refines sidebar and pane layouts for consistency and usability.
2025-12-10 01:21:13 +08:00
LAPTOP-O016UC3M\Qi Chen a47f9ddc8c Improves performance and memoization of known hosts UI
Optimizes rendering of known hosts management by introducing memoization and limiting rendered items for large datasets. Refactors callback and state management in several components to reduce unnecessary re-renders and improve responsiveness.

Enhances code structure for maintainability and future scalability, and adds debug logs to aid profiling and diagnostics.
2025-12-09 22:41:43 +08:00
LAPTOP-O016UC3M\Qi Chen b27743bdfe Adds sorting, progress upload, and range selection to SFTP UI
Enables sortable columns and adjustable widths in SFTP file views for improved navigation and usability.

Implements real-time progress feedback for uploads using IPC, enhancing transparency and error handling during file transfers.

Introduces shift-click range selection and multi-file actions, streamlining bulk operations.

Applies more comprehensive file-type icons and UX refinements for clarity.
2025-12-09 21:33:54 +08:00
LAPTOP-O016UC3M\Qi Chen 80b2e9a9a0 feat: add KnownHostsManager component for managing SSH known hosts 2025-12-09 18:24:31 +08:00
bincxz 8c4e6df208 feat: 添加 ToastProvider 组件以支持全局通知功能,并在 PortForwarding 组件中集成错误提示 2025-12-09 03:22:39 +08:00
bincxz 05adb89879 feat: Add TrafficDiagram component with animated port forwarding visualization
- Implemented TrafficDiagram component to visualize local, remote, and dynamic port forwarding.
- Added SVG icons for cloud, firewall, and server.
- Created animated line components for visual representation of connections.
- Integrated AppLogo and icons into the diagram for better UX.
- Included SVG assets for cloud, firewall, and server in the public folder.
2025-12-09 02:11:15 +08:00
LAPTOP-O016UC3M\Qi Chen cc8251968f feat: update tab order logic to include orphan sessions and workspaces 2025-12-08 21:36:35 +08:00
LAPTOP-O016UC3M\Qi Chen 47ee220be7 feat: enhance SFTP transfer functionality with progress tracking and cancellation support
- Added helper functions to format transfer bytes and speed for better UI representation.
- Improved TransferItem component to display bytes transferred and remaining time.
- Implemented streaming transfer with real-time progress updates and cancellation capability in the Electron main process.
- Introduced IPC handlers for file operations including delete, rename, and stat for both SFTP and local filesystems.
- Updated preload script to handle transfer progress, completion, and error events.
- Enhanced global type definitions to support new streaming transfer API.
- Modified CSS animations for a smoother progress indication.
2025-12-08 21:03:31 +08:00
LAPTOP-O016UC3M\Qi Chen c29fc418f9 Refactor state management for active tabs and optimize component rendering
- Introduced `activeTabStore` to manage active tab state with fine-grained subscriptions.
- Replaced direct prop passing of `isActive` with hooks (`useIsVaultActive`, `useIsSftpActive`) in components to determine active state.
- Memoized components (e.g., `SftpView`, `VaultView`, `TerminalLayer`, `TopTabs`) to prevent unnecessary re-renders.
- Updated various components to use `useCallback` and `useMemo` for stable references and performance improvements.
- Removed redundant state and props, simplifying the component structure.
- Disabled React.StrictMode in index.tsx for performance testing.
2025-12-08 20:08:52 +08:00
LAPTOP-O016UC3M\Qi Chen c344a32e1a Refactor code structure for improved readability and maintainability 2025-12-08 18:32:06 +08:00
LAPTOP-O016UC3M\Qi Chen eb3c84700c feat: Implement tab reordering functionality in TopTabs component 2025-12-08 17:45:21 +08:00
LAPTOP-O016UC3M\Qi Chen 8b40c8edce feat: Implement custom window controls and theme management for Electron app 2025-12-08 16:15:05 +08:00
bincxz 885d837fda feat: Implement agents architecture and core functionality
- Added agents overview documentation outlining the project structure and roles.
- Implemented `useSessionState` for managing terminal sessions and workspaces.
- Developed `useSettingsState` for handling user settings and theme management.
- Created `useVaultState` for managing hosts, SSH keys, snippets, and custom groups.
- Introduced domain logic for host normalization and sanitization.
- Defined models for Host, SSHKey, Snippet, TerminalSession, and Workspace.
- Implemented workspace management functions including creation, insertion, and pruning.
- Established local storage adapter for persistent data management.
- Integrated Gemini AI service for terminal simulation and command generation.
- Developed sync service for backing up and restoring configuration to/from GitHub Gists.
2025-12-08 01:29:49 +08:00