Commit Graph

7 Commits

Author SHA1 Message Date
bincxz 4749bef906 feat: add session logs export and auto-save functionality
- Add manual export button in LogView to save session logs to file
- Add auto-save settings in System tab to automatically save logs when sessions end
- Support three formats: plain text (.txt), raw ANSI (.log), and HTML (.html)
- Logs are organized by host in subdirectories with timestamp filenames
- Add i18n support for English and Chinese

Closes #104

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-21 14:50:07 +08:00
LAPTOP-O016UC3M\Qi Chen 0ac351b41a Eliminates white flash by deferring window show until paint
Defers Electron window display until the renderer signals first
meaningful paint, avoiding initial blank screens or white flashes,
especially on startup and settings windows. Implements a handshake
using a renderer-to-main process message, color-matches background
to the current theme, and falls back to a timeout in development.

Also migrates font loading to npm packages, replaces Google Fonts
usage, and adds code-splitting for dialogs and quick switcher to
improve performance. Restricts console debug output to development.
2025-12-18 17:41:38 +08:00
LAPTOP-O016UC3M\Qi Chen 01d446e98b Switches terminal engine to xterm.js and removes Ghostty
Replaces the Ghostty Web terminal backend with xterm.js, updating references, dependencies, and styles accordingly. Removes Ghostty-specific initialization, CSS, and dependencies for improved compatibility and maintainability. Updates terminal and SFTP mounting to use React lazy loading for better performance. Improves Electron window startup to avoid initial white flash. Cleans up cloud adapter dynamic imports for more efficient loading.

Updates documentation to reflect the terminal engine change.
2025-12-18 16:40:27 +08:00
LAPTOP-O016UC3M\Qi Chen d8347582b4 Adds full UI internationalization and language switching
Implements comprehensive i18n support, replacing hardcoded UI strings with translation keys and introducing an i18n provider across the app. Adds persistent UI language selection, cross-window sync, and system menu localization. Updates settings and state to handle locale, propagates language changes to Electron, and adjusts components for runtime translation.

Enables a user-friendly, multi-language experience and prepares the app for further language expansion.
2025-12-17 12:06:28 +08:00
bincxz c87102277a Unifies theme and font controls into appearance modal
Replaces separate theme dropdown and font size controls with a single
"Appearance" modal for customizing terminal theme and font size.
Simplifies the UI, improves discoverability, and streamlines user
interaction for appearance settings.
2025-12-14 23:19:38 +08:00
bincxz 2c53b1d997 Adds per-log theme and font size controls to log replay
Enables users to customize terminal theme and font size for each log replay,
improving readability and personalization of the log view experience. Updates
persist in the log model, and theme/font changes apply instantly without
recreating the terminal. Also improves UI for these controls and tidies minor
imports.
2025-12-14 23:16:35 +08:00
bincxz 3b608834f6 Adds connection log capture and replay for terminals
Implements persistent logging of terminal sessions, capturing system info and terminal output for each connection, including local and remote. Introduces a logs section in the UI to view, save, delete, and replay connection logs in read-only tabs. Adds deduplication for known hosts and improves tab management to support log replays alongside terminal and workspace tabs.

Enables future auditing, troubleshooting, and session review by storing terminal data and session metadata.
2025-12-14 21:37:46 +08:00