62 Commits
Author SHA1 Message Date
Kaede Akino 3601bd0963 chore: add GPL-3.0-only license and source headers 2026-10-20 12:05:32 +08:00
Kaede AkinoandClaude Code 72eaa65caf refactor: share connection and assistant policies
Centralize Journey mapping, interaction ordering, and localized tool presentation; remove redundant multiplexer and paywall state. Consume AgentKit 2.2.0 for shared operation, output, and transcript contracts, and correct its maintenance checkout documentation.

Validation: AgentKit 304 tests and local-package macOS/shared 215 regressions passed. iOS app built; 38 focused tests reported passing with an existing broken fixture excluded, but Xcode finalization stalled. Default macOS tests retain timeouts and Secure Enclave failures. A subsequent remote-pin build reported AgentTranscriptMessage.toolResult unavailable; it has not been diagnosed.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-18 09:49:24 +08:00
Kaede Akino 3bf5915395 fix(sync): reconcile untouched legacy theme seeds safely
Reconcile only untouched baseline theme seeds after an accepted newer
legacy terminal winner. Protect explicit native choices, edits, tombstones,
and same-batch native selections while preserving stable IDs and rollback.

Keep materialized theme ordering consistent with persisted loads. Require
complete-envelope equality before clearing a live saved record's pending
upload so stale acknowledgements cannot discard a changed baseline seed.
Hoist V6/V7 peer-key validation instead of rebuilding groups per key.
Validation: 143 focused persistence, sync, transport, and host tests passed,
including disk reopen, rollback, two-store propagation, and stale ACKs.
2026-10-17 09:50:58 +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 7d77acd3ed feat(themes): add synced custom themes and native editors 2026-10-16 17:03:57 +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 231be54e08 feat(history): refine recent history and restore closed windows 2026-10-06 14:42:51 +08:00
Kaede AkinoandCopilot b33c03a62d refactor: remove unused declarations, overloads, and parameters
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-05 23:49:46 +08:00
Kaede Akino 6dc5c82123 feat(terminal): remove keyword highlighting 2026-10-05 09:15:04 +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
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 11d3f471e1 fix(sync): restore V1 Metrics record compatibility 2026-10-03 16:14:25 +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 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 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 f5ed001938 feat(metrics): add per-core CPU bars and adaptive layouts 2026-10-01 22:56:20 +08:00
Kaede Akino f124d09251 refactor(commerce): simplify RevenueCat access management 2026-10-01 13:03:52 +08:00
Kaede Akino cfaceb5d15 feat(commerce): integrate RevenueCat entitlements and paywalls 2026-10-01 12:28:53 +08:00
Kaede Akino 22f09eaeee feat(diagnosis): add opt-in Firebase diagnostic data reporting 2026-10-01 08:45:38 +08:00
Kaede Akino 8c750980c1 fix(sync): detach CloudKit operations from delegate callbacks 2026-09-29 02:32:51 +08:00
Kaede Akino 0cae725a25 feat(mcp): import server configurations on both platforms 2026-09-28 10:27:51 +08:00
Kaede Akino ca6f66d051 fix(notifications): complete notification responses on main actor 2026-09-27 21:08:08 +08:00
Kaede Akino 755e1bdf27 refactor(notifications): share delivery and isolate routing lifecycles 2026-09-27 16:30:01 +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 8fb8633576 refactor(sync): retire legacy history and device cleanup 2026-09-25 20:31:41 +08:00
Kaede Akino 9f93f1d693 feat: remove 60s StoreKit sync 2026-09-25 01:29:46 +08:00
Kaede Akino aeedc538a9 refactor: CloudSyncContainer 2026-09-24 20:56:15 +08:00
Kaede Akino 60d8822df9 feat: delete old history and devices 2026-09-24 20:14:16 +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 cbfc8063df refactor: icloud sync 2026-09-24 15:16:43 +08:00
Kaede Akino f4a7e2c30f fix: wrong sync status 2026-09-24 14:57:38 +08:00
Kaede Akino 5e75c9dfcd refactor: connection history sync 2026-09-24 14:49:31 +08:00
Kaede Akino e599750779 Limit CloudKit sync batches to 250 records 2026-09-22 22:39:48 +08:00
Kaede Akino 46606b386a Unify workspace automatic naming 2026-09-22 20:27:51 +08:00
Kaede Akino 4a0a82b7fd feat: more safety cloud sync 2026-09-22 13:56:18 +08:00
Kaede Akino b69881eb41 Add host-owned custom identities 2026-09-21 16:48:50 +08:00
Kaede Akino 496676b571 Limit SSH sessions per connection 2026-09-20 02:04:36 +08:00
Kaede Akino 0590f91d09 Add logging 2026-09-19 17:23:49 +08:00
Kaede Akino f1796d879a Remove useless code 2026-09-19 12:30:16 +08:00
Kaede Akino cc62ba919c Refactors 2026-09-19 08:12:31 +08:00
Kaede Akino b68d6dd88c Refine SFTP Settings 2026-09-19 01:24:11 +08:00
Kaede Akino b96671383e Make Workspace composition free 2026-09-18 19:59:00 +08:00
Kaede Akino b1b6647a8c Refactors 2026-09-17 21:22:21 +08:00
Kaede Akino 7cdb755d5f Bulk: Vertex AI & Better Memory 2026-09-17 12:47:14 +08:00
Kaede Akino 8d591dd0f6 Add global Hermes memory and skill package tools
Add opt-in GRDB memory with frozen conversation snapshots, background learning, session search, and a user-only Destroy action on both platforms. Persist and synchronize complete skill packages with the new AgentKit management tools.

Pin signed AgentKit 0.12.3 and GRDB 7.11.1. Add the V18 package migration, regression coverage, bilingual UI snapshots, and architecture records.

Validation: AgentKit and iOS suites, focused macOS skills/memory/architecture/localization tests, Swift formatting, and Chinese localization checks passed. Full macOS runs exposed intermittent existing waveform-rendering and metrics-timing failures.
2026-09-17 07:54:04 +08:00
Kaede Akino 9b1514c3bc Fix Guardian sync 2026-09-15 11:06:28 +08:00