Commit Graph
70 Commits
Author SHA1 Message Date
Kang 7c85c9b789 feat(terminal): add alternating row stripe mode
Add an opt-in display-row mode with matching gutter backgrounds and stable colors through scrolling and history eviction. Preserve existing behavior by defaulting the new local setting to false, and update translations, documentation, and regression tests.
2026-11-04 16:42:05 +08:00
Kang da26ec5f3e Merge pull request #1124 from WerVa/feat/dracula-theme
feat(ui): follow the official Dracula palette and add Dracula Light
2026-11-03 17:26:50 +08:00
Kang 3bb1d66517 fix(ui): keep Dracula success labels readable on hover 2026-11-03 16:37:20 +08:00
Kang 0bd5f8093b feat(rdp): enhance clipboard functionality and update dependencies
- Updated `Cargo.toml` to reflect new versions for `ironrdp-cliprdr`, `ironrdp-pdu`, and `ironrdp-svc`, ensuring compatibility with recent changes.
- Implemented a test to verify that the clipboard backend supports file capabilities across all legacy clipboard modes.
- Normalized clipboard settings to always enable text and file redirection, improving user experience and consistency across sessions.
- Adjusted related documentation to clarify the new clipboard behavior and its implications for users.
2026-11-03 09:24:25 +08:00
Jakub Werwinski ec17cb2d11 feat(ui): follow the official Dracula palette and add Dracula Light
The built-in Dracula used purple-tinted surfaces (#251b33) instead of the
official Dracula Classic ones. Switch it to the specification's surfaces
(#282a36, #21222c, #343746, #44475a) and add Dracula Light from the official
Alucard Classic palette (cream background).

Both themes now take the bundled JSON as their single color source through
palette_from_theme, like the WindTerm themes, so the hard-coded Dracula
palette is removed. The theme id and every color the existing tests pin
(primary, hover, on-primary, focus ring, link, accent) are unchanged, so
saved settings keep working.

The light theme keeps ANSI black dark so black text stays visible on the
light background, unlike the specification's inverted mapping.
2026-11-02 21:52:55 +01:00
Kang 505e54b806 feat(ci): implement selective job execution for Rust workflows
- Introduced an `orchestrate` job to determine which CI jobs to run based on changed paths in pull requests.
- Updated Rust workflow to conditionally execute jobs like linting, testing, and plugin SDK based on the selection logic.
- Added a new script `select_rust_jobs.py` to handle job selection logic without requiring a Rust installation.
- Enhanced documentation to explain the new CI execution model and its implications for contributors.
2026-11-02 13:03:16 +08:00
Kang bd2d91ef82 feat(protocols): implement URL protocol handling for Windows
- Added support for registering and unregistering URL protocols on Windows, allowing external applications to invoke NyaTerm.
- Introduced a new module for managing URL protocol registration, including functions for creating, setting, and deleting registry keys.
- Updated the main application logic to handle incoming protocol requests and execute corresponding actions.
- Enhanced the activation request parsing to accommodate new connection types and behaviors.
- Added tests to validate the URL protocol registration and handling functionality.

This update significantly improves the integration of NyaTerm with external applications, enhancing user experience and connectivity options.
2026-11-01 12:41:49 +08:00
Kang d6bb95b5db Merge pull request #1066 from sgnay/feat/external-package-manager-2.0
feat(packaging): honor an externally managed update channel
2026-10-30 23:44:47 +08:00
Kang 9c17cb6b2f feat(sync): introduce cloud synchronization features with encryption and AI configuration
- Added new modules for cloud synchronization, including `sync_schema`, `encryption`, and `ai`.
- Implemented encryption for credential values to enhance security.
- Introduced AI configuration policies and structures for managing AI-related data.
- Enhanced `CloudSyncRemote` trait with methods for writing and listing sync files.
- Updated `Cargo.toml` and `Cargo.lock` to include new dependencies and workspace members.
- Added tests for new functionalities to ensure reliability and correctness.
2026-10-30 20:04:25 +08:00
sgnay 69f0360d62 feat(packaging): honor an externally managed update channel
Source-build packagers (nixpkgs and similar) can declare that they own the
update channel by setting `NYATERM_PACKAGE_MANAGER` at build time. The value is
baked into the binary through `option_env!` in `nyaterm_core::packaging`; with
the variable unset, an ordinary build keeps the in-app updater exactly as it is
today. rustc records the variable in its dep-info, so Cargo rebuilds on change
and no build script is needed.

When the variable is set the application:

- skips the startup silent update check;
- hides the in-app update entry in the title-bar Help menu and the tray;
- reports the package manager name in the About dialog support information.

This restores, for the Cargo/GPUI workspace, the capability the 2.0 rewrite
dropped from the Tauri-era implementation (#826).

The update policy is an explicit argument to the Help menu and tray snapshot
builders, so a single build's tests cover both the ordinary and the externally
managed menu instead of only the one selected by the environment.

Verified on Linux:
- `cargo fmt --all -- --check`
- `cargo clippy -p nyaterm-desktop --all-targets` (no findings in the changed
  files; the workspace-wide `-D warnings` failures are pre-existing lints from a
  newer toolchain in untouched files)
- `cargo test -p nyaterm-core --lib`
- targeted `nyaterm-desktop` tests for the Help menu, tray structure and i18n
  catalog parity, run both with and without `NYATERM_PACKAGE_MANAGER=nix`

No persistence, credential, backup or cloud-sync format changes.
2026-10-30 17:24:10 +08:00
Kang d34fc9187a feat(sync): implement caching for cloud synchronization checks
- Introduced `CloudSyncCheckCache` for efficient management of synchronization state and conflict resolution.
- Added methods for caching validated snapshots and handling cloud sync conflicts.
- Enhanced the `check_snapshot_with_remote_cached` function to utilize the cache for improved performance.
- Implemented metadata caching to optimize read operations and reduce unnecessary remote calls.
- Updated tests to validate the new caching behavior and ensure correct conflict handling.
2026-10-27 08:38:27 +08:00
Kang b9c49f071a feat(sync): integrate httpdate package and enhance cloud sync conflict resolution
- Added the `httpdate` package as a dependency for improved date handling in HTTP requests.
- Introduced new modules for conflict resolution in cloud synchronization, including detailed conflict previews and resolution requests.
- Enhanced error handling in cloud sync operations to classify and manage various error types effectively.
- Updated the portable snapshot structure to include device names for better identification during sync operations.
- Improved debug output to redact sensitive information in HTTP requests and responses.
- Added localization strings for new sync features in English, French, and Japanese.
2026-10-26 22:44:11 +08:00
Kang 0bfdf0862f docs(release): document GPUI migration and cutover gates 2026-10-26 14:26:14 +08:00
Kang d7f6569232 feat(cloud_sync): enhance snapshot management with new heads and synchronization features
- Introduced a new `heads` module to manage device heads and their synchronization states, improving cloud sync reliability.
- Added functionality to handle concurrent snapshot publications, ensuring both branches are retained until explicitly resolved.
- Enhanced the `CloudLocalStore` trait with `apply_sync_snapshot_checked` to validate content before applying snapshots, preventing conflicts.
- Updated the `CloudSyncState` and `RemoteSyncPointer` structures to include synchronization clocks, enabling better tracking of snapshot revisions.
- Implemented tests for concurrent head management and regression scenarios, ensuring robust handling of cloud sync operations.
2026-10-23 16:59:40 +08:00
Kang dc5fe7a282 fix(commands): preserve workspace input guards when syncing target branch
Merge migration/gpui at 2a27ce375 and retain its is_session rule in the shared input guard. Cover file manager tabs with actual TCP regression tests and document that cancellation leaves already sent text in the remote terminal.
2026-10-22 01:05:04 +08:00
Kang 7577148f8a fix(commands): guard staged quick command delivery
Share active-workspace input gating, accumulate complete per-target history lines, and suppress sensitive prompt input. Cancel pending writes on competing session input or teardown while keeping targets pinned across focus changes. Correct bilingual login examples and add asynchronous TCP delivery regression tests.
2026-10-22 00:08:06 +08:00
Kang 2b7b4ebeed feat(themes): add WindTerm Dark and WindTerm Light themes
- Introduced two new built-in themes: WindTerm Dark and WindTerm Light, based on WindTerm's dige-black and dige-white palettes, respectively.
- Updated the themes' color configurations to adapt to NyaTerm's UI and terminal settings.
- Enhanced theme management tests to ensure proper functionality and validation of the new themes.
- Updated documentation to include details about the new themes and their usage.

Validated with comprehensive tests and documentation updates to ensure consistency and accuracy in theme representation.
2026-10-21 17:24:19 +08:00
Kang 97f6024baa fix(terminal): enable native IME without a compatibility toggle
Remove the legacy macOS IME setting, runtime gates, and related UI text.
Always register native terminal input and render IME preedit. Preserve
the legacy configuration field and its stored value for compatibility.

Validation on Windows: 38 filtered desktop tests and the legacy settings
round-trip test passed. Workspace check, Clippy, and formatting passed
in an isolated worktree containing only this change. Full tests in the
main worktree were blocked by unrelated file-manager changes.
Manual Windows Shift input-method switching remains unverified.
2026-10-20 21:59:36 +08:00
moonmicah f0b03b06d3 fix(commands): send quick command variable values literally 2026-10-20 15:50:28 +08:00
moonmicah 7695c3cadf feat(commands): support escape sequences and pauses in quick commands
Quick command scripts now interpret \r, \n, \t and \\ when they are
sent, and \p pauses for one second before sending whatever follows it.
Unknown escape sequences (for example \d, or Windows paths such as
C:/Users/...) are passed through unchanged, and the storage format is
untouched since the escapes are only expanded at send time.

Staging only kicks in when a pause is present: a script without \p keeps
using the existing single-write path byte for byte. A multi-chunk script
locks its target sessions at click time (the active session plus synced
input peers, or every live session for "send to all") and writes each
chunk from a spawned task, so moving focus during a pause cannot retarget
the remaining chunks. A chunk that fails for one session leaves the other
sessions untouched.

The quick command editor now shows the escape rules under the script box
and the guide gains a matching section in both locales.

Refs #887
2026-10-20 15:50:28 +08:00
Kang 982ffdf0e0 feat(credentials): enhance password management with new update operations and UI localization
- Introduced `PasswordUpdate` enum to manage password operations (Keep, Replace, Remove) explicitly.
- Added new localization strings for password management in English, French, Japanese, Korean, Simplified Chinese, and Traditional Chinese.
- Updated connection editor logic to validate account and password states, ensuring better user feedback during password changes.
- Enhanced tests to cover new password update scenarios and localization validations.

Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
2026-10-18 02:39:12 +08:00
Kang e389e25473 feat(theme): introduce theme management module with mutation handling
- Added a new `management.rs` module for theme management, including structures for `ThemeSettings`, `ThemeMutation`, and `ThemeCommit`.
- Implemented functionality to apply, save, and delete themes, allowing for granular control over UI and terminal themes.
- Enhanced the `ThemeDesignerState` to manage theme drafts and user interactions more effectively.
- Updated tests to validate theme application and mutation behaviors, ensuring correct functionality across different scenarios.

Validated on Windows with workspace checks, tests, formatting, and all-target clippy.
2026-10-17 15:09:26 +08:00
Kang 55883ade12 feat(theme): add custom theme management and CSS color parsing support
- Introduced a new `themes` module to manage custom themes, including a `ThemeCatalog` for storing and validating themes.
- Added support for CSS color parsing with the `csscolorparser` dependency, enabling advanced color handling in themes.
- Implemented a theme designer interface for users to create, edit, and manage custom themes, with options to import and export themes in JSON format.
- Enhanced the UI to reflect theme changes immediately, ensuring a seamless user experience when switching themes.
- Updated localization files to include new strings related to theme management features in multiple languages.
- Added tests to verify theme validation, import/export functionality, and color parsing accuracy.
2026-10-16 01:46:04 +08:00
Kang 6966953f83 feat(tabs): enhance tab management and workspace layout
- Added functionality to reorder tabs when moved after another tab, improving user experience in tab organization.
- Updated menu item states to disable certain actions based on session conditions, ensuring better user feedback.
- Refactored the rendering of open tabs menu to support group-specific tab management, enhancing usability in multi-session environments.
- Introduced tests for workspace group functionalities, ensuring robust behavior during tab interactions and layout adjustments.
2026-10-03 16:28:06 +08:00
Kang ec59a5dbe3 feat(ai): refactor agent tool management and enhance context handling
- Moved agent tool definitions and schemas into a new harness module, improving organization and maintainability.
- Updated agent tool functions to utilize a shared registry for tool schemas, enhancing flexibility and reducing redundancy.
- Introduced new fields in the AiRequestOptions and AiToolCall structs to support ephemeral context and thought signatures, improving the tracking of agent actions.
- Enhanced the handling of tool calls in various AI provider request bodies, ensuring better integration with the new context management features.
- Improved risk assessment logic to incorporate new agent approval decisions, streamlining command execution policies.
2026-10-03 08:29:58 +08:00
Kang b0a8d66695 chore: update references from gpui-component to gpui-kit
- Replaced all instances of `gpui-component` with `gpui-kit` across various files to reflect the new naming convention.
- Updated Cargo.toml and documentation to ensure consistency in dependency management and integration boundaries.
- Adjusted comments and code references to align with the new structure, enhancing clarity and maintainability.
2026-09-22 00:00:58 +08:00
Kang 8e27865206 ci(contributing, docs): enhance contribution guidelines and installation instructions
- Updated the `CONTRIBUTING.md` to include additional test commands for release asset verification and package metadata generation.
- Revised `README.md` and `README.zh-CN.md` to clarify the installation process for Windows portable editions and added details on migrating from Tauri to GPUI.
- Introduced new workflows for publishing to AUR, Gitee, and Homebrew, ensuring streamlined release processes across platforms.
- Added a new `actionlint.yaml` for workflow syntax validation, improving CI/CD reliability.
- Enhanced documentation to reflect changes in artifact versioning and release management, ensuring clarity for contributors and users.
2026-08-31 10:32:18 +08:00
Kang e1201a413c ci(release): strengthen native package validation 2026-08-28 00:49:08 +08:00
Kang ba2f16a5b7 feat(terminal): preserve background terminal state 2026-08-28 00:48:29 +08:00
Kang ce9f254db8 feat(app): add authenticated single-instance activation 2026-08-28 00:44:22 +08:00
Kang 264b7b298a docs: describe the child-window model and drop the deleted WindowRuntimeStore
The layout guide claimed NyaTerm remembers child-window position, size and modal
relationships. The Tauri implementation did, through a `stateKey` and
`load_child_window_state`; the GPUI port dropped it and this change does not add
it back, so the guide now says what actually happens: where a child window opens,
which ones block the main window and why, which one stays on top, and the
keyboard. Both languages.

`WindowRuntimeStore` was deleted in 15994ef6 along with the global runtime tick
it drove, but `AGENTS.md`, both architecture pages and the `entities` module doc
still listed it as one of the Entity stores.
2026-08-26 15:15:10 +08:00
KangandClaude Opus 5 dc26370b92 ci(docs): run the documentation job on Node 22 with a pinned pnpm
The Documentation site job failed on its first run. `pnpm/action-setup` with
`version: 11` resolved to pnpm 11.22.0, which imports `node:sqlite` and so
needs Node.js >= 22.13, but the job pinned Node 20 and crashed with
ERR_UNKNOWN_BUILTIN_MODULE before installing anything. It passed locally only
because this machine runs Node 26.

- Move the job to Node 22. Node 20 reached end of life in April 2026, so
  raising the floor was due regardless of pnpm.
- Pin pnpm to 11.15.1, the version that produced the lockfile, instead of the
  floating 11 range. A range means the next 11.x release can move the Node
  floor again without any change in this repository, which is exactly what
  happened here.
- Add `packageManager` to docs-site/package.json so a local pnpm cannot
  silently diverge from CI, and correct the setup guide, which told
  contributors Node 18+ was enough and would have walked them into the same
  crash.

Verified by reproducing the CI environment locally: a clean
`pnpm --dir docs-site install --frozen-lockfile` plus
`pnpm --dir docs-site build` and the parity script, all under Node 22.23.2 with
pnpm 11.15.1, and re-checked on the Node 26 toolchain used for local work.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:58:05 +08:00
KangandClaude Opus 5 ab02c222cc ci(docs): build the docs site and check translation parity
The docs site was not in any CI path filter, so nothing built it and nothing
compared the two locales. That is how the English pages drifted several
sections behind Chinese and how seven internal screenshot-planning notes stayed
published.

- Add scripts/ci/check_docs_translations.py, covering what a Docusaurus build
  does not: a page existing in only one locale, a heading-count mismatch
  between the two copies, a page no sidebar references, and authoring
  leftovers (screenshot-planning notes, /img/docs/ paths, scripts/demo-*.sh
  references, stray TODO markers). Verified it fails on each of those by
  reintroducing them.
- Add a Documentation site job that runs the script and then builds every
  locale, and add docs-site/** to the workflow path filters.
- Fix docs-site/pnpm-workspace.yaml, whose allowBuilds entries still held the
  placeholder text "set this to true or false". That made every `pnpm install`
  in the site fail with ERR_PNPM_IGNORED_BUILDS, which means the
  `pnpm --dir docs-site build` command our own contributing guide tells people
  to run did not work. Deny the four build scripts explicitly; none is needed
  to build the site.
- Correct the homepage, which still advertised only SSH, local shell, Telnet,
  and serial: the workspace card, the docs card, and the page description now
  name RDP, VNC, and the AI assistant. The three retargeted translate() keys
  are updated in i18n/en/code.json so English does not fall back to Chinese.
- Document the new script in the setup and contributing guides, replacing the
  note that said no translation-completeness check exists.

Verified with `python3 scripts/ci/check_docs_translations.py`,
`pnpm --dir docs-site install --frozen-lockfile`, and
`pnpm --dir docs-site build`, and by confirming the new homepage strings render
in both locales.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:27:47 +08:00
KangandClaude Opus 5 e18cb3902e docs: cut the template phrasing and the authoring notes
The migrated prose leaned on a small set of constructions and repeated them
until they stopped carrying information. Across ~3.7k lines the source had 78
uses of "适合", 63 of "如果你", and 34 contrastive "而不是" clauses, most of
them attached to bullet lists that restated the feature name.

What changed:
- Replaced the "适合场景 / 适合:" tail hanging off nearly every section with
  either a plain sentence or nothing. "适合" is now 0, "如果你" is 0, and the
  18 remaining "而不是" clauses each rule out an assumption a reader would
  actually make (a rejected password is not truncated; a font name is not a
  bundled file; a decoder panic must not exit silently).
- Removed the closing editorial lines that asserted significance without adding
  information ("这也是 NyaTerm 和普通多标签终端差异较大的地方"), and the
  meta-commentary where the docs explained their own conventions.
- Dropped the relative time anchors that were already going stale: "新的 SFTP
  后端", "较新的工作区", "现在可以", "Newer Agent workflows".
- Deleted the "如果你准备录制文档素材" passage, which told the reader how to
  stage screenshots for the docs rather than how to use the recorder.
- Removed seven `:::tip Screenshot suggestion` blocks that shipped only in the
  English pages. They were internal authoring notes and pointed at a
  /img/docs/ tree and scripts/demo-*.sh files that do not exist in this repo.
- Dropped "推荐的工作流组合", four permutations of features documented
  elsewhere, and gave the synchronized input group one home instead of the
  three partial copies it had across two pages.
- Rewrote the cloud-sync conflict choices to lead with what is lost, since
  "适合:你确认云端版本才是应该保留的版本" buried the fact that local
  unsynced changes are discarded.

Also closes the remaining English gaps found while doing this: selection and
bulk operations, content-fingerprint upload, two FAQ entries, and two
quick-start steps existed only in Chinese. Chinese and English now carry the
same heading count on every page.

Verified with `pnpm --dir docs-site build` (both locales) and by re-resolving
all 22 cross-page anchors against the generated heading ids.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:27:47 +08:00
KangandClaude Opus 5 049a5a4329 docs: restructure the guide around the pages the features deserve
The page layout still reflected the Tauri-era docs, where RDP and VNC were a
table row and terminal.md absorbed whatever did not have a home.

Sidebar:
- Drop sidebar_position from all 46 pages. sidebars.ts enumerates every entry
  explicitly, so the values never affected ordering, and four of them collided
  (guide had two 2s, three 5s, two 6s, two 8s) while implying an order that did
  not match the real one.
- Reorder the guide by workflow: session types, per-protocol configuration,
  workspace, terminal, monitoring, files, commands, AI, network, auth,
  security, appearance, sync, shortcuts.

New pages:
- guide/rdp.md and guide/vnc.md. RDP and VNC are two of the six session types
  and had no page of their own. Both document the real config fields, the
  validation ranges, the certificate/security policies, and the error kinds,
  and both note the helper-process requirement.
- guide/remote-monitoring.md, extracted from terminal.md, covering all five
  panels.

Deduplication:
- terminal.md drops from 345 to 253 lines. Its AI, provider, translation, and
  risk-tier sections restated ai-assistant.md and translation.md; they are now
  the terminal-specific entry points plus a link. The risk tier table moves to
  ai-assistant.md, which owns the setting that gates it.
- session-types.md keeps the comparison table and links out for RDP/VNC detail
  instead of carrying a second copy of it.
- The migration format list appeared verbatim in four pages. ssh-connection.md
  is now the single source; installation.md, quick-start.md, and faq.md link to
  it.
- installation.md drops from 112 to 63 lines: its workspace tour, settings
  checklist, and "suggested first run" were quick-start.md again.

Verified with `pnpm --dir docs-site build` (both locales) and by resolving
every cross-page anchor against the generated heading ids, since
onBrokenAnchors is set to ignore.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:27:47 +08:00
KangandClaude Opus 5 46d1104440 docs: correct claims that no longer match the implementation
The docs-site pages were migrated from the Tauri build and patched for GPUI
keywords, which left a set of statements that contradict the current code.
Verified each against the implementation and fixed:

- Process Manager and Docker Manager are on by default, not off
  (ui_show_process_manager / ui_show_docker_manager default to true).
- There are five SSH monitoring panels, not four. Ascend NPU monitoring was
  undocumented; add it and record every panel's real default and interval.
- The AI risk table misfiled its own examples. Bare chmod/chown are medium and
  only -R raises them to high; critical is mkfs/wipefs/dd-to-device/fork
  bomb/shutdown/rm -rf /. Also replace the invented "level to behavior" mapping
  with the real model: effective risk is max(model, local rules), gated by the
  three command execution policies and the smart auto-execute ceiling.
- The Command Palette does not contain application actions. QuickSwitchItem
  only carries sessions, pending sessions, and saved connections, and the
  "session quick switcher" is that same overlay, not a second feature.
- JetBrains Mono / Noto Sans SC Variable / Inter are default font *names*
  resolved from system fonts, not bundled files. Nothing under assets/ or
  gpui-component's asset crate embeds a font.
- There are two high-contrast themes (Nya HC, Nya HC White).
- Shortcuts are configurable today via Settings -> Keybindings; regroup the
  page to match the six in-app categories, add Shift+Insert, and correct
  Ctrl+Shift+P, which opens the bottom quick commands panel.
- setup.md omitted that the RDP/VNC helpers must be built or both protocols
  fail with HelperMissing, and called the patched dependencies "vendored" when
  they are pinned fork revisions. Document the fork/patch workflow.
- architecture.md was missing nyaterm-remote-desktop and both helper crates,
  along with the helper-process isolation boundary they exist for.
- Document Vulkan/X11-or-Wayland as a Linux runtime requirement.
- Add the undocumented settings: minimum contrast (WCAG steps), low latency
  mode, zebra stripes, multi-line paste review, OSC 52 clipboard writes,
  Option-as-Meta, and the scrollback/keep-alive ranges.

Also fills the English mirror gaps this touched: command risk assessment,
command cards, and provider/model sections were absent from the English
terminal page entirely.

Verified with `pnpm --dir docs-site build` (both locales) and by checking the
generated heading anchors the new cross-links point at.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:27:47 +08:00
Kang 46057b2447 docs: enhance documentation and features in NyaTerm
- Updated quick start guide to include new session types: RDP and VNC.
- Added support for trzsz file transfer protocol in file transfer documentation.
- Corrected keyboard shortcuts for clearing the screen and tab navigation.
- Improved security documentation regarding known hosts and credential management.
- Enhanced sync and backup documentation with details on GitHub Gist and cloud storage integration.
- Clarified terminal features and output handling in the terminal guide.
- Expanded introduction to include new session types and migration options.
- Added a new pnpm workspace configuration file for build settings.
- Updated changelog to reflect historical context of project evolution.
2026-08-17 00:20:46 +08:00
Kang e31ec74cf7 docs: restructure backend, frontend, and contributing documentation
- Updated backend documentation to clarify crate boundaries and session management.
- Revised frontend documentation to enhance clarity on GPUI desktop development and state management.
- Improved contributing guidelines with clearer workflow and commit conventions.
- Enhanced development setup instructions for better clarity on prerequisites and platform-specific dependencies.
- Updated installation and terminal feature documentation for accuracy and completeness.
2026-08-16 21:08:40 +08:00
Kang 2a0e705e0e refactor: Remove icon management scripts and related assets
- Deleted `check-icon-references.sh` script which verified icon references in the UI.
- Removed `icons.manifest` file that served as a vendor manifest for bundled icon assets.
- Eliminated `package-windows.ps1` script used for packaging the Windows application.
- Removed `sync-icons.sh` script responsible for syncing icon assets from upstream sources.
2026-08-16 20:34:06 +08:00
Kang 63ff274888 refactor: migrate to GPUI 2026-07-05 17:26:19 +08:00
Kang 4566950ee4 docs: update changelog and documentation
- Added new entries in CHANGELOG.md for version 1.1.12, detailing enhancements to jump host configuration and cycle prevention.
- Updated README.md and its Chinese counterpart to include new AI Assistant features, such as command generation, error analysis, and multi-step workflows.
- Enhanced documentation for terminal features, file transfer capabilities, and user settings to reflect recent changes and improvements.
- Introduced a new guide for the AI Assistant, detailing its working modes, command cards, and risk control mechanisms.
2026-07-01 12:09:28 +08:00
Kang 5270e45c79 refactor(appearance): remove font ligatures setting from appearance options
- Eliminated the ligatures customization option from the appearance settings in both the UI and backend.
- Updated documentation to reflect the removal of ligatures from the terminal and themes sections.
2026-06-30 10:22:03 +08:00
Kang 3a46f6e8d8 docs(sponsorship): update QR code links to use direct URLs in sponsorship documentation
- Replaced local image paths with direct URLs for WeChat and Alipay sponsorship QR codes in both Chinese and English documentation.
- Enhanced the visual presentation of sponsorship options by wrapping images in paragraph tags for better formatting.
2026-06-26 17:52:58 +08:00
Kang 275a64b107 docs(sponsorship): update QR code display format in sponsorship documentation
- Replaced HTML image tags with Markdown syntax for WeChat and Alipay sponsorship QR codes in both Chinese and English documentation.
- Improved consistency in documentation formatting across different languages.
2026-06-26 17:48:30 +08:00
Kang bf4334112e docs(sponsorship): add sponsorship section to README and documentation
- Introduced a new "Sponsor" section in both English and Chinese README files to encourage community support for NyaTerm.
- Created dedicated sponsorship documentation with payment options and alternative support methods.
- Updated sidebars to include the new sponsorship page for better visibility.
- Added payment QR codes for WeChat and Alipay to facilitate contributions.
2026-06-26 17:44:19 +08:00
Kang edcb8b2ea7 docs: add instructions for GitHub Gist cloud sync authorization in setup guide
- Included steps to set the GitHub OAuth App device flow Client ID for local builds using GitHub Gist.
- Provided examples for both bash and Windows PowerShell environments to facilitate user setup.
2026-06-21 23:46:30 +08:00
Kang 8612154fa2 docs: update terminology and content for cloud sync
- Replaced references to "sync and backup" with "cloud sync" throughout the documentation for consistency.
- Clarified the functionality of cloud sync, emphasizing its role in cross-device configuration synchronization and encrypted backups.
- Updated various sections to reflect the new terminology, including settings, guides, and security models.
- Enhanced localization strings to align with the updated terminology and functionality descriptions.
2026-06-21 13:10:01 +08:00
Kang 9cfe1ce897 docs: add import functionality for custom highlight rules in terminal guide
- Updated the terminal documentation to include instructions for importing custom highlight rules from JSON files.
- Provided details on how imports merge with existing rules and the expected JSON structure for custom rules.
- Enhanced user guidance for managing highlight rules in both English and Chinese.
2026-06-21 00:29:30 +08:00
Kang 7efd734772 docs: add X11 forwarding section to SSH connection guide
- Included detailed instructions for enabling X11 forwarding in SSH connections.
- Provided requirements for remote servers and local X server installations on various operating systems.
- Updated both English and Chinese documentation to enhance user understanding of X11 forwarding capabilities.
2026-06-20 00:13:06 +08:00
Kang 1d8fb85009 docs: update documentation
- Introduced a searchable session quick switcher for easier navigation between saved connections and local sessions.
- Added an auto-start recording feature that begins recording automatically when a session opens.
- Enhanced terminal functionality to serialize text for reconnecting sessions and allow closing of disconnected panes.
- Improved file explorer and clipboard management with new features and optimizations.
- Updated documentation to reflect these new features and enhancements.
2026-06-13 01:36:06 +08:00