Commit Graph
335 Commits
Author SHA1 Message Date
Kaede Akino 9b5ae755ca fix(ssh): retire PTY resources before releasing the worker 2026-10-04 21:26:41 +08:00
Kaede Akino f2cdaafd3a feat: refine confirmation UX 2026-10-04 21:09:22 +08:00
Kaede Akino 72ea5ae355 fix(tailscale)!: use data protection keychain storage
Update TailscaleKit to 1.0.2, align the state namespace with the app identifier, and verify scoped cleanup in signed macOS and iOS app hosts.

BREAKING CHANGE: Existing legacy Tailscale Keychain state is not migrated. Sign in again to create device-local Data Protection Keychain state.
2026-10-04 18:39:23 +08:00
Kaede Akino 7edd948843 fix(ssh): restore leading space in Bash integration command 2026-10-04 17:21:02 +08:00
Kaede Akino cb95f47c95 fix(terminal): remove shell integration history hint 2026-10-04 15:58:45 +08:00
Kaede Akino fc58e895f2 fix(snippets): rename ungrouped label to unpackaged 2026-10-04 12:34:28 +08:00
Kaede Akino b3066afe77 feat(snippets): share cards and add color selection
Reuse card content across macOS and iOS with platform-sized icons and matching card heights. Add the shared Color field below Package and preserve selection, drag, and execution behavior.

Migrate stored snippets to V51 and write color in Vault V2 while retaining V1 decoding and guarding against lossy V1 writes.

Validation: macOS focused snippet, migration, architecture, and localization tests pass; 30 iOS focused tests pass; Swift format and localization checks pass. Full macOS testing also reports failures in unchanged KeyExport, MCP, and Agent suites.
2026-10-04 12:25:52 +08:00
Kaede Akino b3b4899a59 fix(tailscale): refine forms and peer details 2026-10-04 12:01:48 +08:00
Kaede Akino 981106f687 fix(assistant): align markdown and command rendering with upstream 2026-10-04 11:11:50 +08:00
Kaede Akino 31e7e1dcdd fix(ios): preserve terminal output during search resizing 2026-10-04 11:11:46 +08:00
Kaede Akino 5a04f0c5a4 fix(ios): stabilize native workspace search dismissal 2026-10-04 02:41:06 +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 661c448ba2 fix(tailscale): separate login from group editor save 2026-10-03 15:51:48 +08:00
Kaede Akino e8ec2df237 fix(keychain): refine key actions and encrypted-key passphrase controls 2026-10-03 14:36: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 191740a3c7 refine: tailscale UI 2026-10-03 04:47:32 +08:00
Kaede Akino aa5a92c352 feat: remove persistence connection and SFTP history 2026-10-03 04:18:14 +08:00
Kaede Akino 5d5a3585ac fix(l10n): translate enabled as an action in Chinese 2026-10-03 03:53:24 +08:00
Kaede Akino 6eafa29369 feat: add Pro Tailscale SSH and SFTP integration 2026-10-03 03:12:12 +08:00
Kaede Akino f9980baaf8 fix: remove highlight rule name placeholder 2026-10-02 20:53:22 +08:00
Kaede Akino a40b8a5b74 feat: include terminal viewport in command generation 2026-10-02 20:15:56 +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 6af6b7fbaf feat(assistant): add voice input to question answers 2026-10-02 16:02:53 +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 852c6400e2 fix(settings): fill available height in macOS theme editor 2026-10-02 14:26:58 +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 bd66ab398c feat(ios): adopt the native terminal keyboard accessory 2026-10-02 08:10:44 +08:00
Kaede Akino 03d1709ccc fix(terminal): follow live background colors in terminal chrome 2026-10-02 07:49:43 +08:00
Kaede Akino a8e00e5122 feat(terminal): add inline selection and native menus 2026-10-02 04:06:18 +08:00
Kaede Akino dbf56691fe feat(terminal): insert escaped paths from status bar drags 2026-10-02 00:33:41 +08:00
Kaede Akino 58d8440ca5 feat(settings): add theme browser and live configuration preview 2026-10-01 23:43:34 +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 86119d1936 fix: standardize diagnostics wording 2026-10-01 13:48:16 +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 7084145c47 feat(assistant): remove todo tool and task list UI 2026-09-30 14:12:16 +08:00
Kaede Akino ef95e428ec fix(commerce): reorder paywall features 2026-09-30 01:42:51 +08:00
Kaede Akino 5bed5d363e fix(pro): clarify iCloud sync feature description 2026-09-29 21:53:36 +08:00
Kaede Akino 707ccccc81 fix(keychain): unify mobile hardware key editors 2026-09-29 15:50:43 +08:00
Kaede Akino b96d52964c fix(keychain): align security key editor sections 2026-09-29 15:24:45 +08:00
Kaede Akino b30ebae878 fix(persistence): prevent concurrent macOS database access 2026-09-29 11:36:08 +08:00
Kaede Akino a1736d0cd7 fix(ssh): distinguish external security key storage 2026-09-29 11:11:39 +08:00
Kaede Akino 8c750980c1 fix(sync): detach CloudKit operations from delegate callbacks 2026-09-29 02:32:51 +08:00