Commit Graph
71 Commits
Author SHA1 Message Date
Kaede Akino 996ea85196 fix(tailscale)!: scope host identities and defer saved logout
Derive groupScopedV2 host UUIDs from the group, MagicDNS suffix and stable
node ID. Remove experimental identity compatibility and Tailnet conflict
handling, and hide unavailable Metrics hosts while retaining configuration.

Keep saved enrollments active until Save. Retire unsaved login candidates
on Logout or Discard, including repeated replacement logins, while preserving
the original enrollment. Use the same behavior in New and Edit forms.

Validation: 94 focused tests, iOS Simulator build, Swift formatting and
AppStrings/Chinese localization checks passed. The default suite still has
9 failures in untouched notification, agent and key export tests.

BREAKING CHANGE: Tailscale only accepts groupScopedV2 identities. Remove
old Tailscale test data before using this build; no ID migration is provided.
2026-10-03 16:58:40 +08:00
Kaede Akino 37b0de899f feat(keychain): add single-host export and deferred public keys 2026-10-03 13:48:19 +08:00
Kaede Akino 1ab7ed3da3 feat: isolate tailscale connections and harden history
Bind independent Tailnet connections to group IDs while preserving legacy host identities through the V3 sync format. Persist profile cleanup retries, isolate test storage, and reject stale dialers after re-enrollment.

Recover quarantined sync records safely, refresh metrics compatibility, fix multiline shell history, and remove obsolete mobile history gates. Pin libtailscale-spm to 1.0.1 alongside its submodule revision.

Validation: default macOS suites (2679 tests), targeted iOS suites (26 tests), strict Swift formatting, shared AppStrings checks, and Chinese localization checks passed. Both subagent reviews approved.
2026-10-03 09:46:09 +08:00
Kaede Akino aa5a92c352 feat: remove persistence connection and SFTP history 2026-10-03 04:18:14 +08:00
Kaede Akino 6eafa29369 feat: add Pro Tailscale SSH and SFTP integration 2026-10-03 03:12:12 +08:00
Kaede Akino beea076810 fix(assistant): correct terminal tool targeting and presentation 2026-10-02 19:58:09 +08:00
Kaede Akino 3708a7c54f refactor: remove obsolete code and redundant tests
Remove legacy Commerce types, unused helpers, duplicate SFTP progress code, and 28 unreferenced strings. Drop fixture-only tests and arbitrary screenshot size assertions while retaining behavioral coverage.

Validation: 2,592 macOS tests, 40 focused macOS tests, and 53 iOS tests passed. Swift formatting, AppStrings, and Chinese localization checks passed.
2026-10-02 17:50:47 +08:00
Kaede Akino 8450234179 fix(highlighting): refine rule editor and include trailing colons 2026-10-02 17:29:37 +08:00
Kaede Akino 82d871c4fe refactor: separate feature policies and UI workflows
Move connection policy out of ProAccess, keep terminal uploads with their
session, and share question interaction and highlight editing operations.
Consolidate CPU usage and settings snapshot handling, and remove obsolete
terminal selection, theme helpers, and hard-coded latest-schema assertions.

Fix draining connection-pool recovery and stale pane upload bindings. Keep
screenshot matrices opt-in and retain behavioral migration coverage.

Validation: 2468 macOS tests passed serially, 31 iOS tests passed, and both
SSH forwarding regressions passed against the local OpenSSH fixture.
Both app builds, Swift formatting, AppStrings, and Chinese localization
checks passed. Parallel test runs still exhibit intermittent timeouts.
2026-10-02 16:40:27 +08:00
Kaede Akino 75a10fbbd0 feat(pro): gate multi-connection acceleration without changing saved settings 2026-10-02 15:32:35 +08:00
Kaede Akino 7c8592d037 feat(terminal): add synced keyword highlighting 2026-10-02 14:01:23 +08:00
Kaede Akino d4323176ed feat(terminal): make uploads free and add native upload menus 2026-10-02 08:27:20 +08:00
Kaede Akino dbf56691fe feat(terminal): insert escaped paths from status bar drags 2026-10-02 00:33:41 +08:00
Kaede Akino f5ed001938 feat(metrics): add per-core CPU bars and adaptive layouts 2026-10-01 22:56:20 +08:00
Kaede Akino a1736d0cd7 fix(ssh): distinguish external security key storage 2026-09-29 11:11:39 +08:00
Kaede Akino 816a6ff121 feat(ssh): support hardware security key authentication
Add native security key registration, reference import, and signing on macOS and iOS. Store references in Vault metadata and route authentication through connection, Assistant, MCP, and agent forwarding flows.

Preserve signing cancellation and actionable authentication errors for security keys and Secure Enclave. Pin the released libssh2 forks as nested submodules and refresh package resolution.
2026-09-28 23:37:49 +08:00
Kaede Akino ac645aa7b7 feat(ssh): forward vault keys to remote sessions 2026-09-28 20:04:07 +08:00
Kaede Akino 4d6e4481c0 feat(mcp): add OAuth and 2025-03-26 compatibility
Integrate AgentKit 0.18.1 with native authorization on macOS and iOS, device-local OAuth credentials, V43 configuration persistence, and Assistant authorization prompts.

Add HTTPS callback metadata, keep native callbacks safe across actor boundaries, and distinguish authorization setup failures from cancellation. Extend the external MCP server to negotiate 2025-03-26.
2026-09-28 12:36:32 +08:00
Kaede Akino 6d8bd1dd6b feat(notifications): unify assistant terminal and transfer alerts 2026-09-27 15:30:58 +08:00
Kaede Akino e2452df929 feat: add terminal notificaitons 2026-09-27 13:33:41 +08:00
Kaede Akino 80f08b089f refactor: share transfer presentation and polish workspace actions
Centralize transfer state and presentation rules, extract the macOS transfer center, and preserve remote home metadata for compact iOS transfer paths.

Correct the shared Close Others action and extend transfer regression coverage.
2026-09-26 12:05:26 +08:00
Kaede Akino 3250aa55fa feat: use CloudKit's delete 2026-09-24 17:52:59 +08:00
Kaede Akino 2a09c494b9 feat: remove compatibility to old history sync 2026-09-24 17:03:21 +08:00
Kaede Akino 5e75c9dfcd refactor: connection history sync 2026-09-24 14:49:31 +08:00
Kaede Akino 46606b386a Unify workspace automatic naming 2026-09-22 20:27:51 +08:00
Kaede Akino b9c9b6808d Replace Identity usage time with modification time 2026-09-22 19:18:48 +08:00
Kaede Akino adfb8697e1 Sync connection history across devices 2026-09-22 18:08:06 +08:00
Kaede Akino 4a0a82b7fd feat: more safety cloud sync 2026-09-22 13:56:18 +08:00
Kaede Akino 762e6b1b57 Remove Host Key Changed 2026-09-22 01:28:47 +08:00
Kaede Akino 90fb1bfbcc Change Telnet's icon 2026-09-22 01:13:35 +08:00
Kaede Akino 759c1d8f7b Add Telnet 2026-09-21 21:09:11 +08:00
Kaede Akino fa734f1e1c Add charset 2026-09-21 18:30:39 +08:00
Kaede Akino 2918b32af3 Add Host PTY environment variables 2026-09-21 16:48:54 +08:00
Kaede Akino 8a9793eadb Add Host startup snippets 2026-09-21 16:48:50 +08:00
Kaede Akino b69881eb41 Add host-owned custom identities 2026-09-21 16:48:50 +08:00
Kaede Akino f09c57e332 Clarify SSH connection and channel APIs 2026-09-20 16:54:31 +08:00
Kaede Akino 2c6ee51e45 Add multi-connection port forwarding 2026-09-20 09:48:29 +08:00
Kaede Akino 496676b571 Limit SSH sessions per connection 2026-09-20 02:04:36 +08:00
Kaede Akino 145cfd535a Unified SFTP scheduler 2026-09-19 22:42:15 +08:00
Kaede Akino f1796d879a Remove useless code 2026-09-19 12:30:16 +08:00
Kaede Akino 71ad96dbf5 Add per-host shell integration preferences 2026-09-19 01:40:20 +08:00
Kaede Akino b68d6dd88c Refine SFTP Settings 2026-09-19 01:24:11 +08:00
Kaede Akino 3abc6e2483 Fix name tests 2026-09-19 00:01:17 +08:00
Kaede Akino eaa95b98b1 Unified generate name strategies 2026-09-18 23:57:26 +08:00
Kaede Akino 61cde4cd40 Refactor Port Forwarding 2026-09-18 23:37:57 +08:00
Kaede Akino b96671383e Make Workspace composition free 2026-09-18 19:59:00 +08:00
Kaede Akino 112d1d144c Add device-local terminal font settings 2026-09-18 13:09:56 +08:00
Kaede Akino f395841d18 Restore mobile Workspaces for Live Activity links 2026-09-18 11:42:56 +08:00
Kaede Akino 7cdb755d5f Bulk: Vertex AI & Better Memory 2026-09-17 12:47:14 +08:00
Kaede Akino c2d1bed4fe Add macOS terminal mouse copy and paste preferences 2026-09-17 12:38:31 +08:00