Commit Graph
1957 Commits
Author SHA1 Message Date
Kang af5750cd1a fix(ci): enhance release validation in build-release workflow to check for prerelease status 2026-10-02 14:39:56 +08:00
Kang de4e6a47cc fix(ci): update permissions in build-release workflow to allow write access for draft releases 2026-10-02 14:36:12 +08:00
Kang a21b04ff6a feat(ci): add release verification job to ensure draft releases are ready before building 2026-10-02 10:27:36 +08:00
Kang 06e1a7a598 docs: Add new images for file tree view, keyword highlight presets, and NyaTerm 2.0 preview 2026-10-02 10:27:21 +08:00
Kang f79818c319 Merge pull request #823 from jeeinn/fix/gitee-gist-sync-capacity
Fix/gitee gist sync capacity
2026-10-01 21:26:43 +08:00
Kang 1a1c77fc53 fix(sync): account for snapshot overwrites in capacity pruning 2026-10-01 20:46:40 +08:00
Kang 0fb704b726 fix(sync): protect remote heads during capacity pruning 2026-10-01 20:20:41 +08:00
Kang 5b331dbbb0 fix(sync): limit capacity recovery to gitee snippets 2026-10-01 19:59:40 +08:00
Kang be061b2467 fix(sync): make gist capacity cleanup safe 2026-10-01 19:41:33 +08:00
Kang 8b565aa6fb Merge pull request #830 from victorwon2001/fix/issue-625
fix(vnc): support RA2_256 Raspberry Pi connections
2026-10-01 18:37:22 +08:00
Kang e15af8f6c5 fix(vnc): prevent stale trusted key writeback 2026-10-01 18:26:34 +08:00
Kang 28c7115504 fix(vnc): guard server trust and route verification to owner windows
Persist server keys only after authenticated RA2 and RFB initialization, guarded against cancellation and stale generations. Preserve owner routing through creation, restoration, and reconnect, and clear resolved verification prompts.

Keep the compatible RSA range, honor the configured 8192-bit maximum, support both documented and TigerVNC random lengths, and add protocol, storage, and frontend regressions.
2026-10-01 17:28:31 +08:00
victorwon2001 64d592cf41 fix(vnc): support RA2_256 Raspberry Pi connections 2026-10-01 15:28:38 +08:00
Kang 642c0de88b Merge pull request #827 from developerjillur/fix/694-exported-prompt-command
fix(ssh): keep child shells working when PROMPT_COMMAND is exported
2026-10-01 15:19:28 +08:00
Kang b895c80b29 fix(ssh): keep prompt hook out of child shells 2026-10-01 15:16:57 +08:00
Kang 3de2029125 feat(terminal): improve PowerShell prompt handling for virtual environments
- Updated the PowerShell prompt initialization to better manage virtual environment prompts, ensuring that the original prompt is preserved and restored correctly.
- Added a new test to validate that the virtual environment prompt survives idle repairs and deactivation, preventing recursive prompt issues.
- Enhanced the prompt wrapper logic to avoid cycles when dealing with shared delegates, improving overall stability.
2026-10-01 14:55:48 +08:00
Kang 0d8c0dc5eb feat(app): integrate new hooks for enhanced app window event handling and asset monitoring
- Introduced `useAppWindowEvents` hook to manage cross-window events, including session creation and security prompts.
- Added `useAssetMonitoringCache` hook for efficient handling of asset monitoring data, ensuring snapshots are managed correctly during session lifecycle.
- Implemented `useConnectAfterEdit` hook to streamline session reconnections after edits, improving user experience.
- Created comprehensive tests for the new hooks to validate functionality and ensure reliability in various scenarios.
2026-10-01 12:25:42 +08:00
Kang 1c2175182d feat(network-history): improve session management in useNetworkHistory and useRemoteStats hooks
- Enhanced the useNetworkHistory hook to manage live session IDs, allowing for the eviction of closed sessions while retaining live history.
- Updated the useRemoteStats hook to incorporate live session management, ensuring that only active sessions are monitored and stale data is properly handled.
- Added tests to validate the behavior of session eviction and caching, ensuring that closed sessions do not affect live data retrieval.
2026-10-01 11:52:22 +08:00
Kang 37af812c48 feat(remote-stats): enhance session management and caching in useRemoteStats hook (#828)
- Added caching mechanism for remote stats using a Map to store session data, improving performance and reducing unnecessary fetches.
- Implemented tests to validate session ownership behavior, ensuring cached stats are restored correctly during session switches and polling only occurs for active sessions.
- Enhanced handling of manual refreshes to prevent stale data from affecting new session states.
2026-10-01 11:38:45 +08:00
Kang 540784da95 Merge branch 'main' of https://github.com/nyakang/nyaterm 2026-10-01 11:04:13 +08:00
Kang fe0d824d08 feat(quick-commands): add QuickCommandEditor component and tests (#824)
- Implemented the QuickCommandEditor component for enhanced command input with undo/redo functionality.
- Added unit tests to validate selection preservation, external value handling, and proper rendering in StrictMode.
- Removed the deprecated QuickCommandScriptEditor from QuickCommandPage and integrated QuickCommandEditor for a more streamlined user experience.
2026-10-01 11:04:11 +08:00
Kang 33d39fda17 Merge pull request #826 from sgnay/feat/package-manager-support
feat(packaging): 通用化外部包管理器支持
2026-10-01 09:38:55 +08:00
sgnay 28d9a7b24d Merge branch 'nyakang:main' into feat/package-manager-support 2026-10-01 06:30:46 +08:00
Kang f728210050 fix(packaging): guard externally managed updates 2026-10-01 00:55:07 +08:00
sgnay f6cadb1eb2 feat(packaging): support external package managers 2026-09-30 15:16:12 +08:00
Kang a0c0ee5b1d feat(agent): enhance conversation history management in agent interactions (#825)
- Introduced `build_initial_agent_conversation` function to construct the initial conversation with prior messages, ensuring context is maintained across sessions.
- Implemented logic to filter and limit history messages based on session ID and specified history turns.
- Updated `run_agent_stream` to utilize the new conversation building function, improving the handling of user input and assistant responses.
- Added unit tests to validate the correct restoration of previous turns and session-specific history management.
2026-09-30 13:24:50 +08:00
Jillur Rahman f9a4f3b8c5 fix(ssh): keep child shells working when PROMPT_COMMAND is exported
When the login shell exports PROMPT_COMMAND (for example from
/etc/profile), the bash shell integration line keeps that export, so
`su`, a nested `bash` and zellij panes inherit "__nyaterm_prompt; ..."
without the function. They print
"bash: __nyaterm_prompt: command not found" before every prompt, and
the user's own hook sees $? = 127.

For an exported PROMPT_COMMAND, call the hook through a variable that
is not exported. Child shells then skip it and run the rest of
PROMPT_COMMAND with the real $?. A non-exported PROMPT_COMMAND is
installed exactly as before.
2026-09-30 09:18:29 +06:00
jeeinn b54917809c fix(sync): make gist capacity handling reliable and self-healing
A full Gitee snippet could wedge cloud sync for good: the API answered 200
without storing the new snapshot file, the read-back verification then reported
a missing snapshot, and that failure was classified as non-retryable, so even
automatic checks stopped until the settings changed.

- verify gist PATCH responses so a silently dropped write or an ignored delete
  surfaces as an explicit error instead of a missing-snapshot mystery
- treat a response without a files map as unknown rather than rejected
- count every file in the gist, including entries outside the current sync
  root: the managed listing alone made capacity math far too optimistic
- keep the hard file limit Gitee-only, since GitHub gists have no such cap
- prune capacity before every upload path (push, recovery, legacy migration),
  best effort, and only when the upload would exceed the limit, so the common
  case costs one count request instead of reading every snapshot
- classify SnapshotNotAccepted/RemoteFileRejected as retryable again, and
  publish CloudSyncStatus.error_code so the UI stops matching English error
  prose to decide whether to offer its recovery action
- offer the capacity recovery action for gist providers only
2026-09-30 10:58:55 +08:00
jeeinn a096009812 feat(sync): implement gist capacity handling and recovery actions
- Added logic to detect gist capacity sync failures and introduced a recovery button in the SyncBackupTab for users to clean remote snapshots and retry the push.
- Updated internationalization files to include new strings for the recovery action and hints regarding gist capacity limits.
- Enhanced cloud sync management to prune snapshots before uploads to avoid exceeding gist file limits, improving overall sync reliability.
- Implemented tests to ensure proper functionality of the new gist handling features.
2026-09-29 23:53:41 +08:00
Kang 1ef75d1bbb feat(env): implement Windows environment variable handling (#821)
- Added support for reading and expanding Windows environment variables from the registry.
- Introduced `RegistryEnvValue` struct to manage registry values and their expandability.
- Implemented `reg_value_to_env` and `expand_environment_value` functions for converting registry values to environment variables and expanding them recursively.
- Enhanced `merge_windows_env` function to merge system and user environment variables, ensuring proper handling of expandable values.
- Updated the environment retrieval logic to utilize the new functions, improving compatibility with Windows environment management.
2026-09-29 18:57:35 +08:00
Kang fb48336f55 feat(recording): enhance session management with pane ID support
- Added `paneId` to `PendingTabCreation` and updated related functions to handle recording scope IDs for various session types.
- Implemented logic to finish recording scopes when sessions are disconnected or finalized, ensuring proper resource management.
- Updated session creation functions to accept and utilize `recordingScopeId`, improving the integration of recording features across different session types.
- Enhanced tests to validate the new recording scope functionality and ensure isolated pane behavior during session management.
2026-09-29 16:27:35 +08:00
Kang 9b9b57069a chore: bump version to v1.2.12 2026-09-29 01:55:41 +08:00
Kang a5f48de507 docs: minimize changelog formatting diff 2026-09-29 01:17:13 +08:00
Kang fb2c901810 docs: update changelog for v1.2.12 2026-09-29 01:14:58 +08:00
Kang 877ff10a9a fix(ci): prepare ConPTY before Win7 cargo build 2026-09-28 18:33:49 +08:00
Kang 3807857e3f perf(terminal): implement output pressure tracking and enhance logical line handling
- Introduced `TerminalOutputPressureTracker` to monitor output pressure and manage performance modes based on backlog and burst conditions.
- Added logic to handle long lines and wrapped lines efficiently, preventing excessive processing.
- Updated `XTerminal` and related components to integrate output pressure tracking, ensuring smoother terminal performance under load.
- Added tests for new functionality to validate output pressure detection and logical line processing.
2026-09-28 16:35:28 +08:00
Kang 7b8403607a Merge pull request #811 from aqnyl/feat/my-feature
feat(terminal): add command navigation and clear shortcuts
2026-09-28 15:10:10 +08:00
Kang 4ff29e5009 fix(terminal): enhance fallback command detection for quit commands 2026-09-28 14:59:52 +08:00
Kang f4f6f6a4bb fix(terminal): restore SSH command navigation fallback 2026-09-28 14:47:24 +08:00
Kang dd3769cb81 fix(terminal): refine command navigation shortcuts 2026-09-28 14:12:33 +08:00
xtnxnb 2b4c90ff3e feat(terminal): add command navigation and clear shortcuts
1. 新增快捷键 Ctrl+Shift+Left/Right/Slash:支持快速跳转到上/下一个命令,并快速选择命令到下一条命令

2. 为终端右键菜单添加「全部清除」项,快捷键 Ctrl+Shift+L
2026-09-28 13:18:02 +08:00
Kang 505ccfef3c feat(sftp): add shell availability support and enhance SFTP command execution (#773)
- Introduced `shell_available` field in `AutoRemoteFs` and `SftpBackend` to manage shell command execution availability.
- Updated SFTP command execution to return an error if shell commands are attempted in SFTP-only sessions.
- Enhanced logging for SFTP directory read operations and identity resolution processes.
- Added a new constant for SFTP execution timeout to improve command handling.
2026-09-28 10:55:57 +08:00
Kang de44b58f02 Merge pull request #802 from LunaSpica/feat/ai-provider-model-settings
feat(ai): 重构供应商与模型设置,完善连接测试和推理配置
2026-09-27 21:19:47 +08:00
Kang 84db9f0516 fix(ai): preserve default reasoning efforts 2026-09-27 21:12:54 +08:00
Yue-Sui d77b00a90d fix(ai): allow keyless local provider discovery 2026-09-27 19:58:49 +08:00
Kang e6699580d4 feat(zmodem): enhance ZMODEM upload command handling and add tests for control escaping (#740, #803)
- Refactored `buildZmodemReceiveCommand` to include control escaping options for overwrite and skip modes.
- Introduced new tests for `buildZmodemReceiveCommand` to validate command generation.
- Updated ZMODEM header and transmission logic to support control escaping, ensuring proper handling of control characters during transmission.
- Added tests to verify control escaping functionality in the ZMODEM protocol.
2026-09-27 18:32:30 +08:00
Yue-Sui 2d06062600 feat(ai): refactor provider and model settings 2026-09-27 16:08:00 +08:00
Kang d0b7f2b380 Merge pull request #797 from nyakang/fix/issue-444-telnet-binary-sync
fix(terminal): preserve binary input across Telnet and sync sessions
2026-09-27 00:04:41 +08:00
Kang 334817dbff feat(terminal): implement synchronized binary input handling for XTerminal
- Added `sendSessionBinaryInputWithSync` function to broadcast binary input to sync peers.
- Updated `XTerminal` component to utilize the new function for handling binary input with peer synchronization.
- Enhanced tests to verify the correct broadcasting of binary input to multiple peers without text bookkeeping.
- Introduced `escape_telnet_application_data` function to handle IAC byte escaping for telnet transport.
- Added tests for the new escaping functionality to ensure proper data handling in telnet sessions.
2026-09-26 23:59:13 +08:00
Kang 280272aaaf feat(terminal): add binary input handling to XTerminal and session management (#444)
- Implemented `sendSessionBinaryInput` function to send binary data to terminal sessions.
- Enhanced `XTerminal` component to handle binary input events, ensuring proper data transmission.
- Updated session commands to support raw data writing, allowing for better handling of binary inputs.
- Added tests for binary input functionality to ensure accurate data processing without text bookkeeping.
2026-09-26 23:27:23 +08:00