Commit Graph

118 Commits

Author SHA1 Message Date
LAPTOP-O016UC3M\Qi Chen e00fa2733b Renames app and codebase from Nebula to Netcatty
Updates all code references, IPC channels, CSS classes, and storage keys
from "nebula" to "netcatty" to align with new branding and application identity.
Ensures consistency across frontend, Electron backend, global types,
and package metadata.
2025-12-11 18:42:01 +08:00
LAPTOP-O016UC3M\Qi Chen 61cdc54096 Improves terminal performance and SSH responsiveness
Reduces terminal scrollback for faster rendering and preloads WASM for quicker terminal startup.

Optimizes SSH connection parameters for faster failure detection and lower latency (shorter timeout, longer keepalive interval, prioritized fast ciphers and key exchange).

Decreases IPC overhead by buffering terminal data output before sending to the frontend, reducing message frequency and improving efficiency.
2025-12-11 18:23:56 +08:00
LAPTOP-O016UC3M\Qi Chen 0f20d4211d Improves WASM terminal error handling and CSP for web
Handles WASM initialization and terminal opening errors to
provide better diagnostics and reliability for the embedded
terminal. Updates content security policy and dev server
headers to support WASM and SharedArrayBuffer use, and
optimizes build config for proper WASM module loading.
2025-12-11 18:18:15 +08:00
LAPTOP-O016UC3M\Qi Chen 5eb4eb0604 Improves code readability with consistent spacing
Applies consistent spacing in import and export statements across multiple UI components to enhance code readability and maintainability.

No functional logic or behavior is changed.
2025-12-11 18:05:00 +08:00
LAPTOP-O016UC3M\Qi Chen 17faf0b651 Simplifies focus and ring styles across UI components
Removes redundant focus ring and offset classes from multiple UI elements to streamline visual consistency and reduce CSS complexity. Updates snippet manager header structure for improved layout clarity.
2025-12-11 18:04:49 +08:00
LAPTOP-O016UC3M\Qi Chen ab91630c5c Improves code readability via consistent import formatting
Standardizes spacing in import and export statements to enhance
code clarity and maintain consistency across components.
2025-12-11 17:36:59 +08:00
LAPTOP-O016UC3M\Qi Chen fc69ef33a2 Unifies popover and dropdown border styling
Standardizes border appearance for popover and dropdown UI components
by applying a consistent border color and style, enhancing visual
cohesion across interactive elements.
2025-12-11 17:36:53 +08:00
LAPTOP-O016UC3M\Qi Chen 5a687667b5 Improves code consistency and formatting across components
Refactors code for consistent indentation, spacing, and style.
Enhances readability and maintainability by aligning formatting.
No logic changes; only visual and stylistic improvements applied.
2025-12-11 17:08:03 +08:00
LAPTOP-O016UC3M\Qi Chen ba32d0d75b Migrates to Tailwind CSS v4 and improves hook deps clarity
Switches to Tailwind CSS v4 with theme configuration via CSS, removing inline CDN config for better maintainability and security.

Adds explicit eslint-disable comments in hooks to clarify dependency intent, aiding future development and preventing unnecessary warnings.

Renames props and variables reserved for future features to underscore-prefixed names, improving clarity and reducing confusion.

Removes unused catch parameters for cleaner error handling.

References to future UI and logic enhancements are annotated for maintainability and roadmap visibility.
2025-12-11 17:07:55 +08:00
LAPTOP-O016UC3M\Qi Chen 5c25d588b2 Refactor UI components and improve SFTP/port features 2025-12-11 16:33:28 +08:00
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
LAPTOP-O016UC3M\Qi Chen d6064c8499 Removes port forwarding and SFTP panel components
Deprecates mock UI scaffolds for port forwarding and SFTP file management,
streamlining the codebase and eliminating unused or obsolete interfaces.
Supports ongoing refactoring and simplification efforts.
2025-12-11 15:32:45 +08:00
LAPTOP-O016UC3M\Qi Chen 9a96e97e7b Replaces popover menus with dropdown components
Improves UI consistency and interaction by switching filter and
view mode menus from popover to dropdown components.
Enhances code clarity and future extensibility for tab controls.
2025-12-11 15:27:15 +08:00
LAPTOP-O016UC3M\Qi Chen bcad0c6865 Refactors UI and Electron main into modular subcomponents
Extracts major UI panels, file transfer, terminal controls, and SFTP logic into dedicated subcomponents for improved maintainability and clarity.
Modularizes Electron main process, delegating SSH, SFTP, terminal, port forwarding, and window management to bridge modules, reducing complexity and centralizing IPC registration.

Enables easier future development, clearer separation of concerns, and better scalability by making both frontend and backend architectures more modular and easier to reason about.
2025-12-11 15:20:42 +08:00
LAPTOP-O016UC3M\Qi Chen 83b98416d6 Replaces SFTP view with improved unified implementation
Removes the experimental SFTP view in favor of a single, consolidated file transfer UI.
Unifies feature set, refactors component logic, and streamlines interaction handling for file browsing, operations, transfer queue, conflict resolution, and permissions editing.

Improves maintainability and user experience by eliminating duplication and inconsistencies between SFTP views.
2025-12-11 14:00:06 +08:00
LAPTOP-O016UC3M\Qi Chen 51d3348ff4 Adds host creation timestamp to model and forms
Introduces a createdAt field to host objects and ensures it is set when hosts are created across relevant components.
Improves ability to track and sort hosts by creation date for better management and auditing.
2025-12-11 12:09:16 +08:00
LAPTOP-O016UC3M\Qi Chen 48dc5aa6a8 Replaces popover menus with dropdowns and improves UX
Unifies UI controls by switching popover-based menus to dropdown components for view mode, sort, and tag filtering across multiple editors. Refactors dropdown rendering to use portals for more reliable positioning, and updates menu trigger icons for clarity.

Handles EPIPE and stream errors gracefully in Electron to prevent crashes when writing to closed streams, improving terminal stability.

Enhances code maintainability and ensures consistent user experience.
2025-12-11 12:05:06 +08:00
LAPTOP-O016UC3M\Qi Chen 7a710caa60 Switches dropdowns to popovers for improved UX
Replaces dropdown menus with popovers for filter and view actions,
streamlining interactions and visual consistency. Enhances popover
positioning logic to ensure reliable rendering in Electron, addressing
layout and visibility issues with dynamic updates.
2025-12-11 11:02:13 +08:00
LAPTOP-O016UC3M\Qi Chen 4756cd7c6e Improves code consistency by fixing indentation
Standardizes indentation across dropdown and select UI components
for improved readability and maintainability.
No logic changes introduced.
2025-12-11 10:51:36 +08:00
LAPTOP-O016UC3M\Qi Chen 085ced7751 Replaces popover components with dropdowns for menus
Switches UI menu interactions from popover to dropdown for improved stacking and positioning reliability.

Updates z-index and disables problematic animations to prevent display issues, especially on first open.

Enhances consistency and visual layering of menu components across the application.
2025-12-11 10:51:04 +08:00
bincxz e82c76fdb5 Improves host chain panel layout and scrolling
Refactors the host chain section for better readability and user experience by introducing a scrollable area, refining spacing, and updating panel structure. Enhances clarity of chain visualization and available hosts list, making it easier to manage long chains.
2025-12-11 05:00:41 +08:00
bincxz a67983dc3c Improves dialog appearance and backdrop behavior
Unifies custom box shadow styling for modal dialogs to enhance visual consistency.

Adds backdrop click handlers to dialog overlays, enabling users to dismiss dialogs by clicking outside the content area, while preventing accidental closure when interacting with the dialog itself.
2025-12-11 04:48:47 +08:00
bincxz 101c086eef Removes dialog overlay background and blur effects
Simplifies dialog appearance by eliminating darkened background and blur,
resulting in a cleaner modal overlay. Enhances visual consistency and
reduces excessive visual layering across modal dialogs.
2025-12-11 04:45:25 +08:00
bincxz 86648c39ca Improves avatar sizing and updates UI icons
Standardizes avatar sizing by introducing size variants,
ensuring consistent appearance across components.

Replaces generic grid icons with more context-appropriate
icons for package and folder group representations,
enhancing visual clarity and user experience.
2025-12-11 04:38:42 +08:00
bincxz 89b8cdcbec Unifies card styling and improves grid layout consistency
Refactors card components to use consistent "soft-card" and "elevate" styles,
harmonizes sizing and padding, and standardizes grid gaps for a uniform look
across managers and views. Updates hover effects and background transitions for
better visual feedback. Reduces box-shadow intensity and simplifies elevation
transitions for a cleaner UI.
2025-12-11 04:25:10 +08:00
bincxz c48b133da4 commits 2025-12-11 04:11:51 +08:00
bincxz 762786b69d Adds tag rename and delete support in tag filter UI
Improves tag filter dropdown with search, edit, and delete actions,
allowing users to rename or remove tags across all hosts. Enhances
usability for managing tags and streamlines selection workflow.
2025-12-11 04:11:50 +08:00
bincxz caa5a55160 Standardizes avatar and icon sizes across components
Unifies avatar, icon, and badge dimensions to 44x44 px with consistent rounded-xl styling for improved visual consistency across list, grid, and card layouts. Simplifies conditional sizing logic and ensures uniform icon appearance regardless of view mode.
2025-12-11 04:05:14 +08:00
bincxz d4c6334baa Adds list/grid view, search, and sorting to managers
Improves usability by introducing toggleable list and grid views, search, and sorting capabilities to key, host, snippet, and identity managers. Replaces some destructive actions in list mode with quick edit buttons for consistency. Enhances filtering via tags and enables a more compact, accessible layout, especially in list view, supporting faster navigation and management of items.
2025-12-11 04:00:57 +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
bincxz 52296be474 Adds Telnet and Mosh protocol support to host sessions
Enables users to connect to hosts using Telnet and Mosh protocols
in addition to SSH and local shell, improving flexibility for
varied environments. Updates UI to configure protocol-specific
settings, credentials, and theme. Integrates backend and bridge
logic for spawning Telnet and Mosh sessions. Improves detection
of available protocols per host.

Relates to multi-protocol connectivity feature.
2025-12-11 03:03:28 +08:00
bincxz 5480506853 Reformats components for consistent indentation
Improves code readability and maintainability by updating indentation
and whitespace across multiple components. No functional logic or UI
behavior is changed.
2025-12-11 02:33:01 +08:00
bincxz 375547b796 Adds multi-protocol and theme support for hosts
Enables configuration of multiple connection protocols (SSH, Telnet, Mosh) per host, including per-protocol theme selection. Introduces protocol-specific configuration, quick connect via search, and protocol selection dialogs to improve flexibility and user experience when managing and connecting to hosts.
2025-12-11 02:32:51 +08:00
bincxz c13fbdd727 Enables native SSH key generation and improves auth fallback
Integrates real SSH keypair generation via Electron backend, replacing previous client-side mock generation for stronger security and reliability.

Refines authentication logic to always provide password credentials for SSH and SFTP connections, ensuring fallback support when key-based authentication fails.

Improves public key export flow with better host update handling and clearer error feedback.

Updates host save logic to correctly update or insert records on key association.

Fixes edge cases in SSH command execution status reporting for more robust error detection.
2025-12-11 02:03:22 +08:00
bincxz 2e71450d5b Unifies terminal statusbar and control rendering
Streamlines the terminal UI by merging separate statusbars for single host and workspace modes into a single unified statusbar. Simplifies control rendering logic and ensures consistent appearance and behavior across modes. Improves maintainability and user experience by reducing conditional complexity and UI fragmentation.
2025-12-11 01:37:35 +08:00
bincxz 0e528fd090 Improves selection UX for groups, tags, keys, and packages
Replaces manual input fields for groups, tags, credentials,
and packages with combobox-based autocomplete and creation flows.

Unifies credential selection, supporting keys, certificates,
and FIDO2 options with clearer UI feedback and interaction.

Enhances tag management with autocomplete from all host tags,
streamlining host categorization and package assignment.
2025-12-11 01:27:54 +08:00
LAPTOP-O016UC3M\Qi Chen 98b1d1115a Enables inline host and group creation across panels
Improves user workflow by allowing hosts and groups to be created directly within selection and management panels, reducing navigation friction and simplifying onboarding for new resources.

Updates button labeling and placement for clarity in host creation flows.

Helps streamline multi-step processes when configuring keys, port forwarding, and snippets.
2025-12-11 00:11:23 +08:00
LAPTOP-O016UC3M\Qi Chen c44f6d0178 Refactors panel rendering and improves UI consistency
Unifies conditional rendering for sub-panels using if blocks, improving code readability and maintainability. Enhances UI alignment and indentation for various panels, ensuring consistent layouts. Updates some secondary UI elements and badges for clarity. No functional logic is changed; the update focuses on structure, user interface cohesion, and visual polish.
2025-12-10 23:52:02 +08:00
LAPTOP-O016UC3M\Qi Chen 38fb54bd7a Refactors panel components and improves snippets section layout
Replaces custom slide-out panels with a unified AsidePanel component for consistency and code simplification. Removes hardcoded "Personal vault" subtitles from panels to allow more flexible titling. Updates snippets section rendering for a more consistent layout experience and better separation from other sections.
2025-12-10 23:51:44 +08:00
LAPTOP-O016UC3M\Qi Chen b75900d234 Refactor UI components for consistency and readability
- Updated spacing and formatting in PortForwardingNew.tsx for improved layout.
- Cleaned up SelectHostPanel.tsx by standardizing button and filter logic.
- Enhanced SnippetsManager.tsx with consistent card layouts and improved target selection UI.
- Refined AsidePanel and SortDropdown components for better code clarity.
- Adjusted TagFilterDropdown for consistent button styling and layout.
2025-12-10 23:29:26 +08:00
LAPTOP-O016UC3M\Qi Chen f6d50c1795 Unifies aside panel UI, adds host tagging, improves selection
Migrates manual aside panels to a reusable design system for consistent slide-out UI across hosts, keys, port forwarding, and snippets.

Adds tag management to host forms and selection, enabling filtering and improved organization.

Improves host/group selection with sorting, tag filtering, and breadcrumb navigation.

Simplifies panel logic, centralizes host panel state, and enhances maintainability.
2025-12-10 23:29:11 +08:00
LAPTOP-O016UC3M\Qi Chen 6e8c9db054 Standardizes code formatting in components
Improves consistency by aligning whitespace and indentation
in multiple React components for better readability and
maintainability. No functional or logic changes applied.
2025-12-10 20:54:05 +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 d8296ed2b9 Refines formatting and whitespace in UI components
Improves code readability and consistency by adjusting whitespace and aligning code formatting in UI rendering logic. No changes to functionality or business logic.
2025-12-10 20:11:51 +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 2f4f59a542 Improves formatting and readability of error handling
Refines error handling logic by adjusting spacing and indentation,
making authentication error detection more readable and maintainable.
No functional changes introduced.
2025-12-10 17:27:02 +08:00
LAPTOP-O016UC3M\Qi Chen b86f04f82a Improves SSH auth failure handling and user feedback
Enhances SSH connection logic to detect authentication failures and prompt users for credential re-entry with clear error messaging.
Extends frontend dialog UX for retries and highlights errors.
Adds backend event and IPC handling for auth failures and timeouts, improving reliability and troubleshooting for multi-hop scenarios.
2025-12-10 17:26:48 +08:00
LAPTOP-O016UC3M\Qi Chen 6b41dccd8e Improves UI formatting, consistency, and readability
Refactors component layouts and code style for better clarity, consistent indentation, and visual grouping.
Enhances maintainability by standardizing React and JSX structure.
No functional logic changed; focus is on presentation and structure.
2025-12-10 16:26:09 +08:00
LAPTOP-O016UC3M\Qi Chen 5344e6dacb feat: add support for proxy and jump host configurations in SSH connections
- Introduced ProxyConfig and HostChainConfig types for structured proxy and jump host settings.
- Updated Host interface to include proxyConfig and hostChain properties.
- Enhanced Terminal and TerminalLayer components to handle proxy and jump host connections.
- Implemented chain connection progress tracking and UI updates in the terminal.
- Added KnownHostConfirmDialog for host key verification during SSH connections.
- Integrated known hosts management with callbacks for adding new hosts.

Adds SSH proxy and jump host chain support with UI

Introduces structured configuration for proxies and jump hosts in SSH connections.

Updates host model and terminal components to allow indirect connections via proxy or chained hosts, with progress tracking and improved connection feedback.

Enhances user interface for managing host details, proxy settings, environment variables, and host verification.

Improves connection security and flexibility for complex network scenarios.
2025-12-10 16:25:52 +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