29 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 c97f389bff refactor: remove verified unused Swift code
Remove unused helpers, payload fields, string accessors, imports, and test fixture storage identified by cross-platform Periphery scans.

Preserve historical SwiftData storage schemas, wire formats, and runtime lifetime anchors.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-18 16:57:37 +08:00
Kaede Akino 9a36fde226 fix(pro): enforce protocol-aware host admission before mutation
Distinguish SSH route admission from Telnet target admission and wire
Telnet access and automatic Wake hooks. Await entitlement resolution for
manual Wake and duplication before host or credential mutation.

Use explicit protocol-extension forwarding overloads so existential
single-argument calls cannot bypass the concrete admission witness.
Remove dead paywall state and update obsolete quota/date test fixtures.
Validation: 81 focused macOS and 58 focused iOS tests passed.
2026-10-17 09:50:55 +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 3c06c23435 feat: add local discovery and Pro Wake-on-LAN 2026-10-16 14:56:39 +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 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 6eafa29369 feat: add Pro Tailscale SSH and SFTP integration 2026-10-03 03:12:12 +08:00
Kaede Akino 565ef17d87 refactor(ssh): share key workflows and wire encoding 2026-09-29 00:05:32 +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 b58c8beb5e fix(ssh): restore saved passphrases and authentication saving 2026-09-28 18:37:21 +08:00
Kaede Akino b9c9b6808d Replace Identity usage time with modification time 2026-09-22 19:18:48 +08:00
Kaede Akino 762e6b1b57 Remove Host Key Changed 2026-09-22 01:28:47 +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 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 4ae95df1f7 Add proxy identity choose UI 2026-09-21 09:13:28 +08:00
Kaede Akino 3db8cdbf85 Harden one-shot SSH secret handling 2026-09-20 20:33:18 +08:00
Kaede Akino cb106ba15d Clear SSH secrets after each connection attempt 2026-09-20 20:33:17 +08:00
Kaede Akino 5f519eaa6c Keep additional SSH credentials reference-only 2026-09-20 20:31:50 +08:00
Kaede Akino 509484ae4c Parse ssh command 2026-09-19 11:06:07 +08:00
Kaede Akino cc62ba919c Refactors 2026-09-19 08:12:31 +08:00
Kaede Akino 2f2c800843 Improve SSH Interaction Policy 2026-09-18 22:24:59 +08:00
Kaede Akino 9e1426393a Fix identities last used time 2026-09-15 13:23:37 +08:00
Kaede Akino 0793acea67 Support SDK 27.0 2026-09-14 19:31:55 +08:00
Kaede Akino 9b04003012 Keep SSH host-key approval on one connection 2026-09-12 15:33:26 +08:00
Kaede Akino 4c68a01c48 Share cross-platform session and presentation logic 2026-09-12 10:36:15 +08:00
Kaede Akino c2958a05b3 Add iOS workspaces and shared feature services
Share Vault, persistence, SSH/SFTP, forwarding, and SwiftUI components across platforms. Add mobile editors, terminal input, standalone Assistant, Metrics navigation, transfers, and a unified Live Activity with host system icons.

Validation: 35 iOS tests and 100 focused macOS tests pass; formatting and zh-Hans checks pass. The full macOS run reports 14 issues in the documented timing, Keychain, and popover suites. Remaining Assistant tool and CloudKit work is tracked in Memory/MOBILE_ROLLOUT.md.
2026-09-11 13:47:16 +08:00