243 Commits
Author SHA1 Message Date
Kaede Akino b2b3927db0 fix: mcp 2026-10-19 02:17:05 +08:00
Kaede Akino 58686b400b feat: Quick Open with more transports 2026-10-18 13:00:16 +08:00
Kaede Akino 286045ab24 refactor: ui perf 2026-10-18 12:44:38 +08:00
Kaede Akino 2d967a7e32 fix(assistant): preserve structured tool results across restart
Redact decoded tool result fields without cutting their JSON envelopes. Preserve frozen model projections and recover damaged historical presentation from valid retained output. Do not mistake shorter redacted content for truncation.

Use Output as the command output section heading with localized equivalents.
2026-10-17 23:03:20 +08:00
Kaede Akino 7e78bc00c4 feat(agent): unify output truncation and scratch capture
Integrate AgentKit 2.0.1 with shared scratch storage, whole-line tool policies, generated capture paths, and external MCP projection bypass. Update ssh-exec instructions and document the complete tool policy inventory.

Keep compact expansion controls left aligned and display the AgentKit truncation marker above them on both platforms. Cover narrow and wide native layouts, both button states, and marker ordering.
2026-10-17 22:51:26 +08:00
Kaede Akino cbda3f0712 fix: unavaialbe workspace in live activity 2026-10-17 15:58:03 +08:00
Kaede Akino 8c3db48815 fix(workspace): restore unified workspace persistence 2026-10-17 15:19:17 +08:00
Kaede Akino ebeb0027d4 feat(ssh)!: redesign command execution tools
Split command execution into run, output, stdin, cancel and list tools for the assistant and MCP. Preserve bounded output tails and use conversation-scoped handles and secret storage with AgentKit 1.20.0.

Add the built-in ssh-exec skill with timestamped log redirection and text/secret stdin workflows. Expand long tool output without adjacent copy controls, update localized presentation, and refresh regression coverage and the website tool name.

BREAKING CHANGE: Replace ssh_exec and ssh_wait with ssh_exec_run and ssh_exec_output. Move stdin to ssh_exec_stdin and remove execution timeout and cwd arguments. Use run_in_background to control foreground execution.
2026-10-17 12:26:48 +08:00
Kaede Akino 64e9a28b58 chore(deps): upgrade 2026-10-17 10:06:11 +08:00
Kaede Akino dca37ca72f fix(icons): use the Simple Icons macOS logo
Replace the Apple silhouette with the unmodified macOS wordmark from
Simple Icons 16.29.0. Update generator and provenance, retain the stable
HostOS-macos asset/detection IDs, and add a real-bundle source regression.
Other 45 assets and all license files remain byte-identical.

Validation: 19 macOS and 20 iOS focused tests passed; icon integrity,
formatting, AppStrings, localization, and diff checks passed.

Full integration before this isolated resource change: all 1206 shared
iOS tests passed. Two inherited hosted-iOS identity/artwork tests remain
failing. Two unchanged macOS Keychain/Secure Enclave tests return -25308
(errSecInteractionNotAllowed), including a narrow retry. Neither default
full scheme is claimed completely green; no security checks were relaxed.
2026-10-17 09:51:04 +08:00
Kaede Akino 9743589f86 refactor(ui): remove unused copy and repair metrics fixtures
Remove six unused title/discovery resource APIs and catalog entries while
retaining legacy preference compatibility and all remaining translations.
Replace stale negative discovery assertions with observable row/actions.

Provide the required AppModel to two direct metrics fixtures, sharing their
hosts/model and cleanup. Keep production ownership and UI opt-ins intact.
Validation: 38 focused layout/localization tests, strict formatting,
AppStrings validation, and localization checks passed.
2026-10-17 09:51:00 +08:00
Kaede Akino c6d9aad810 fix(hosts): validate wake addresses before saving credentials
Validate configured MAC addresses in desktop/mobile editors and ordinary,
managed, and custom-identity save paths before credential writes. Preserve
the Auto Wake preference while editing and add localized invalid-address
feedback with regression coverage for rejected writes.

Keep production artwork observation unchanged. Diagnostics confirmed an
inherited hosted-test static-link identity issue; temporary linker and
trace experiments were removed without weakening behavioral assertions.
Validation: 83 focused macOS tests passed; iOS MAC cases passed while the
two known hosted-test identity/artwork failures remain.
2026-10-17 09:50:56 +08:00
Kaede Akino d2cce7d2ce feat: make core features free and add host-based Pro limits
Make AI, MCP, Metrics, and Wake-on-LAN free while retaining iCloud sync as a Pro feature. Limit free accounts to three saved hosts and preserve excess hosts with remote-operation locks.

Gate host creation, import, and runtime access; preserve stable host admission across persistence and sync. Add upgrade states on macOS and iOS, open the paywall from locked Wake actions, and use wrench icons for MCP.

Include regression coverage, opt-in UI review fixtures, localized copy, and the updated pricing website revision.
2026-10-17 06:13:38 +08:00
Kaede Akino 2ea6eb0dcd fix(host-editor): simplify MAC address lookup presentation 2026-10-17 02:37:13 +08:00
Kaede Akino 632d913bb3 feat(terminal): add device-local experience preferences
Add local Bell and screen-awake controls with per-session bell observation and scene-aware effects. Provide foreground Connection Journey success haptics independent of terminal preferences.

Replace the notification sound with an original bell resource, make AudioToolbox completion queue-safe, and group mobile theme settings.
2026-10-17 02:20:38 +08:00
Kaede Akino 1398ff94e1 fix(terminal): unify resumable recovery in connection journey 2026-10-17 01:34:50 +08:00
Kaede Akino b139fbc841 feat(hosts): expand icons and fix automatic previews 2026-10-17 00:54:34 +08:00
Kaede Akino 21accf8ae5 fix(settings): simplify copy and polish native settings layouts 2026-10-17 00:14:12 +08:00
Kaede Akino d92318a2bb fix(terminal): restore multiplexer paths and silent session close 2026-10-16 22:32:31 +08:00
Kaede Akino 9da4b350cf refactor: register terminal backends and reuse shared workflows
Extract multiplexer dialect and resumable terminal engine registries while preserving session and checkpoint compatibility.

Share local-network and theme policies, add regression coverage, and update discovery actions to Cancel and Rescan with localized Telnet copy.
2026-10-16 20:02:13 +08:00
Kaede Akino 5a74809da8 feat(sessions): unify multiplexer backends and preserve cwd
Add Zellij, zmx, and Herdr alongside tmux using shared lifecycle, shell startup, journal, and runtime infrastructure. Keep verified shell directories visible during commands without restoring unsafe operation capabilities.

Cover backend ownership, startup replay, runtime context, and desktop/mobile cwd regressions. Preserve conservative degradation where client focus cannot be verified.
2026-10-16 18:50:55 +08:00
Kaede Akino 7d77acd3ed feat(themes): add synced custom themes and native editors 2026-10-16 17:03:57 +08:00
Kaede Akino 7f66b3a444 fix(terminal): use default transport for SFTP companion sessions 2026-10-16 15:21:10 +08:00
Kaede Akino 3c06c23435 feat: add local discovery and Pro Wake-on-LAN 2026-10-16 14:56:39 +08:00
Kaede Akino f6b2c4f444 feat(hosts): add BSD detection and expand system icons 2026-10-16 11:47:22 +08:00
Kaede Akino 9738605dd3 feat(terminal): add Mosh and Eternal Terminal transports
Add SSH-authenticated transports with independent settings, protocol-aware menus and snippets, and tmux session persistence.

Restore eligible iOS workspaces from encrypted transport checkpoints without adding a macOS recovery entry. Include schema migrations and regression coverage.
2026-10-16 08:36:56 +08:00
Kaede Akino 59bcfd92ee feat(hosts): add selectable macOS and Windows icons 2026-10-16 02:03:09 +08:00
Kaede Akino 8e3f1128da feat(sessions): add tmux persistence and terminal context tracking
Add extensible remote session backends, safe ownership and restore handling, and pane-scoped shell integration over the existing SSH connection.

Keep iOS workspaces in memory and rebuild expired Activity targets on demand. Integrate session selection into Connection Journey with consistent controls, cancellation behavior, and localized counts.
2026-10-16 01:04:12 +08:00
Kaede Akino babb6711b5 feat(ios): add optional compact card layout 2026-10-15 18:41:17 +08:00
Kaede Akino a03397ad22 feat(review): replace automatic prompts with inline invitations 2026-10-14 18:17:08 +08:00
Kaede Akino 0eba936203 feat(localization): complete German, French, and Korean support
Update AgentKit to 0.19.2, align the maintenance gitlink and resolved package revision, and unify localization validation.
2026-10-14 13:05:48 +08:00
Kaede Akino e89954982a fix(ssh): preserve authentication failures across fallback 2026-10-14 13:05:46 +08:00
Kaede Akino dcd750c238 fix(macos): distinguish quit and window close confirmations 2026-10-10 20:51:57 +08:00
Kaede Akino af575287a1 fix(settings): remove automatic language relaunch 2026-10-10 02:22:58 +08:00
Kaede Akino 9bcdcd7a77 feat(macos): toggle transfers window and support close shortcut 2026-10-08 14:59:41 +08:00
Kaede Akino 02c4a1cf39 feat(macos): add status bar visibility and session menu actions 2026-10-08 14:31:48 +08:00
Kaede AkinoandClaude Code 975358f98a refactor: remove redundant code and over-defensive branches
Consolidate code that existed twice and drop code nothing reaches.

- SSH: hoist the duplicated ASCII hex-nibble decoder out of
  RemoteCharsetConverter and SSHPTYChannel into SSHWireEncoding.hexDigit.
- Transcript: AgentToolDetail.Tint shares BatchTint's vocabulary, so the
  byte-identical detailColor map now delegates to batchColor.
- Commerce: replace ProPaywallState's unreachable default branch and its
  `preconditionFailure("Handled above")` with an exhaustive switch the
  compiler can prove complete.
- Strings: delete the unreferenced Workspace.closePaneAction (the live help
  text uses closePane) and its orphan catalog entry.
- Drop the unused SwiftData and UniformTypeIdentifiers imports.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-08 11:01:27 +08:00
Kaede AkinoandClaude Code a53d9f11eb fix(settings): rename login toggle to start minimized
The toggle describes behavior in tray terms rather than as a hidden
launch, so rename the string to "Start minimized to system tray" and
sync the Japanese and both Chinese translations.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-08 10:42:41 +08:00
Kaede Akino 5c50b68f73 fix(sftp): make mobile context menu previews opaque 2026-10-07 20:39:08 +08:00
Kaede Akino 7148691114 feat(localization): add Japanese language support and CJK validation 2026-10-07 12:43:39 +08:00
Kaede Akino f297d0bd8d feat: refresh welcome copy and Pro Max screenshot workflow 2026-10-06 22:09:53 +08:00
Kaede Akino 231be54e08 feat(history): refine recent history and restore closed windows 2026-10-06 14:42:51 +08:00
Kaede Akino b5e022419a fix(terminal): remove menu bar title display and setting 2026-10-06 13:49:23 +08:00
Kaede Akino c15fdbb761 feat(history): add history menus across platforms 2026-10-06 11:39:46 +08:00
Kaede Akino ca7c10b689 feat(shortcuts): align window and assistant commands across platforms 2026-10-06 11:04:36 +08:00
Kaede Akino 95593055db fix: simplify delete menus and refine snippet localization 2026-10-06 10:56:32 +08:00
Kaede AkinoandCopilot 47a6f831c5 refactor(strings): remove unused app strings
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-05 23:49:44 +08:00
Kaede Akino 6dc5c82123 feat(terminal): remove keyword highlighting 2026-10-05 09:15:04 +08:00
Kaede Akino c46344a7c0 feat(models): adopt the typed Pi 1.0.2 catalog 2026-10-04 22:23:41 +08:00
Kaede Akino ad2bf28790 refactor: remove obsolete application paths and adapters
Remove the transfer forwarding adapter, borrowed SFTP channel scheduling,
legacy assistant send entry points, unreachable Telnet password state,
unused Tailscale APIs, and unused host deletion impact projections.
Migrate behavioral tests to current paths and cover SFTP passphrase saving.

Validation: Swift formatting and shared-copy/localization checks passed.
The macOS test run reported failures in ConnectionStatusIconLayoutTests
and AgentRuntimeTests; investigation and iOS validation remain pending.
2026-10-04 22:10:09 +08:00