Commit Graph
259 Commits
Author SHA1 Message Date
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 42b0ecfecf fix(ui): balance card spacing across platforms 2026-10-15 17:23:33 +08:00
Kaede Akino a03397ad22 feat(review): replace automatic prompts with inline invitations 2026-10-14 18:17:08 +08:00
Kaede Akino a5b269ee20 feat(i18n): complete localized screenshots and language ordering
Localize German, French, and Korean demo content and capture workflows. Preserve real software keyboards and invariant numeric parsing during captures. Sort language choices by code and update the published documentation and marketing asset submodules.
2026-10-14 17:14:32 +08:00
Kaede Akino 5c50b68f73 fix(sftp): make mobile context menu previews opaque 2026-10-07 20:39:08 +08:00
Kaede Akino 293d90deb8 feat(screenshots): support Japanese marketing captures 2026-10-07 16:38:31 +08:00
Kaede Akino a5da647a78 fix(ios): use title menus with vertical toolbars 2026-10-07 02:53:11 +08:00
Kaede Akino 0240338072 chore(screenshots): add Duo support and refresh mobile captures 2026-10-07 00:45:19 +08:00
Kaede Akino 6a84ab04b4 fix(ios): preserve sidebar navigation after leaving terminal search 2026-10-06 23:29:01 +08:00
Kaede Akino 2502b76cd6 fix(ios): dismiss workspace search when leaving its page 2026-10-06 23:18:36 +08:00
Kaede Akino bbeb7603b7 build(screenshots): migrate capture and framing to fastlane 2026-10-06 19:20:15 +08:00
Kaede Akino 9a59a22497 fix: remove useless fix for menu bar overflow 2026-10-06 17:04:28 +08:00
Kaede Akino 016542176d fix: history menubar overflow 2026-10-06 16:40:50 +08:00
Kaede Akino 4ec0a77cac fix(ios): keep History menu icons visible 2026-10-06 16:04:16 +08:00
Kaede Akino 3c82f64818 test: remove redundant assertions and brittle layout checks 2026-10-06 15:48:05 +08:00
Kaede Akino 59fbd11030 refactor(history): remove redundant closed workspace state 2026-10-06 15:16:19 +08:00
Kaede Akino 231be54e08 feat(history): refine recent history and restore closed windows 2026-10-06 14:42:51 +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 8efc804dfb fix(shortcuts): complete iOS commands and remove redundant window close 2026-10-06 05:59:45 +08:00
Kaede Akino 9ef29a1b62 test: consolidate mobile key-window opt-in checks 2026-10-06 00:39:05 +08:00
Kaede AkinoandCopilot 27a1e51660 test: remove unused imports, helpers, and fake members
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-05 23:49:46 +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 5824fbad35 fix(state): remove redundant bindings and presentation state 2026-10-04 22:25:42 +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 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 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 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 09a58f300d test: group opt-in screenshot suites 2026-10-03 16:14:12 +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 1e8e088715 fix(keychain): disable passphrase saving when input is empty 2026-10-03 13:52:22 +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 e19b4eedf3 fix(terminal): update selection input and remove accessory overrides 2026-10-03 12:50:53 +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 315054763f feat(ios): close windows with cmd-w without confirmation 2026-10-03 04:34: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 c3046ac84e fix(ios): separate terminal upload and AutoFill menus 2026-10-02 20:18:39 +08:00
Kaede Akino a40b8a5b74 feat: include terminal viewport in command generation 2026-10-02 20:15:56 +08:00
Kaede Akino 7224f86237 fix(ios): group terminal edit actions in the native menu 2026-10-02 19:01:16 +08:00
Kaede Akino 6fcec4ee91 chore: update iOS SSH screenshots 2026-10-02 18:41:31 +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