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.
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.
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.
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.
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.
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.
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.
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.
- 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.
- 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.
- 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.
- 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.