Commit Graph

13 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 443e038dcf fix(sftp): fix Ctrl+S stale closure and improve file watcher events
- Fix built-in editor Ctrl+S stale closure bug that caused saving the
  initial content instead of the current content
- Use a ref to always capture the latest handleSave function
- Improve file watcher to handle both 'change' and 'rename' events
  (some editors use atomic writes which trigger 'rename' instead)

Co-authored-by: binaricat <16399091+binaricat@users.noreply.github.com>
2026-01-09 08:17:04 +00:00
LAPTOP-O016UC3M\Qi Chen 5317a4b81b Removes unnecessary whitespace in state initialization
Cleans up formatting in the state initialization expression for improved code consistency. No functional changes introduced.
2026-01-08 11:15:16 +08:00
LAPTOP-O016UC3M\Qi Chen 2574d6d5e4 Syncs editor theme with app by observing HTML class
Replaces use of global settings state for theme with a MutationObserver
that tracks the presence of the 'dark' class on the root HTML element.
Ensures the editor theme stays consistent with the actual app theme,
even if changed via side effects outside React state.
2026-01-08 11:15:11 +08:00
LAPTOP-O016UC3M\Qi Chen f04b1220ed Syncs editor theme with user settings
Updates the editor to use the app's current theme preference,
ensuring consistency with user-selected light or dark modes.
Also improves the loading UI to better match the surrounding style.
2026-01-08 11:09:41 +08:00
LAPTOP-O016UC3M\Qi Chen 044165319e Updates Monaco editor path handling for production builds
Configures the editor to load Monaco assets from a local directory in production, improving reliability and performance by avoiding CDN usage.
Adds prebuild script to copy Monaco files, and updates ignore rules to exclude copied assets from version control.
2026-01-08 10:34:49 +08:00
bincxz 12188e11ef Adds loading indicators for text editor file loading
Improves user feedback by displaying loading spinners when opening files in the SFTP and text editor modals.
Clarifies loading state to prevent confusion during slow file reads.
2026-01-08 01:02:28 +08:00
bincxz a3e0d4d5c1 Replaces language selector with combobox and improves UI truncation
Switches the language selection component in the editor modal to a combobox for better usability and UX consistency.
Improves truncation and overflow handling on dialogs and combobox triggers to prevent layout issues and enhance readability, especially for long file names and options.
Removes redundant "only system app" info for non-editable files to streamline the dialog.
2026-01-08 00:13:37 +08:00
bincxz 00784a6b0e Removes built-in image preview functionality
Drops support for the built-in image viewer, including related UI, state, and file association logic. Simplifies file opener options and context menus to support only text editing and external system applications.

Streamlines codebase by eliminating redundant image preview code and reduces maintenance overhead for this feature.
2026-01-07 23:50:37 +08:00
bincxz d2b58e69b0 Adds file preview and edit actions to SFTP UI
Enables text and image file viewing and editing directly from the SFTP interface with context menu actions and modals. Improves file type detection to distinguish between text, image, and known binary files, preventing inappropriate editing options. Updates editor modal with find support and refines build config to reduce dev warnings.

Enhances user workflow by reducing friction in managing remote files.
2026-01-07 22:06:04 +08:00
LAPTOP-O016UC3M\Qi Chen 7ffc9d427e Removes unnecessary whitespace for code style consistency
Cleans up extra blank lines and trailing spaces across multiple
components to improve code readability and maintain consistent
formatting. No logic or functional changes are introduced.
2026-01-07 21:09:25 +08:00
LAPTOP-O016UC3M\Qi Chen d6db6c5db1 Adds Monaco-based syntax highlighting editor and OSC 7 CWD sync
Integrates Monaco Editor for enhanced syntax highlighting in the text editor modal, improving editing experience for code and config files.

Tracks and synchronizes the terminal's current working directory via OSC 7 escape sequences, enabling SFTP dialogs to open at the detected shell path even after user or directory changes.

Introduces IPC and backend support for querying the current shell directory from active SSH sessions, with fallback and path validation logic for remote SFTP browsing.

Improves file type detection by analyzing file content in addition to extensions.

Updates i18n strings and UI elements for clarity and future system application integration.

Adds necessary dependencies for Monaco Editor and updates content security policy for web workers.
2026-01-07 21:09:07 +08:00
copilot-swe-agent[bot] 3bbe5f5fc4 Fix lint warnings and TypeScript errors in SFTP file opener
Co-authored-by: binaricat <16399091+binaricat@users.noreply.github.com>
2026-01-07 11:27:23 +00:00
copilot-swe-agent[bot] e515e3d981 Add SFTP file opener feature with text editor and image preview
Co-authored-by: binaricat <16399091+binaricat@users.noreply.github.com>
2026-01-07 11:22:28 +00:00