Commit Graph

  • 0e6bdb75db Android: split the Spelunk sign-in and the phone's own sign-in out of ComposeShell, which MA0051 found too long main nightly-desktop nightly laurensandClaude Opus 5.5 2026-10-20 17:26:14 +02:00
  • df64012865 Merge claude/spelunk-api-key-tenant-6373cf: sign each device in to Spelunk through the browser instead of keeping Spelunk API keys in the vault laurensandClaude Opus 5.5 2026-10-20 17:11:02 +02:00
  • 8543c69cca Merge remote-tracking branch 'origin/main' into claude/spelunk-api-key-tenant-6373cf laurens 2026-10-20 17:05:56 +02:00
  • 88bd924d83 Merge claude/linux-update-check: offer an RPM only to a copy rpm owns, and never read an unknown version as older laurensandClaude Opus 5.5 2026-10-20 16:47:01 +02:00
  • abd7e56bb5 Spelunk sign-in: end it with a refused DodoSSH resume, keep the token the check rotated, and send the token by the sign-in's own address claude/spelunk-api-key-tenant-6373cf laurensandClaude Opus 5.5 2026-10-20 16:41:11 +02:00
  • 57d3d3c801 Spelunk sign-in: refuse a token that is not an app session's, follow no redirects, and say every way the browser fails to come back laurensandClaude Opus 5.5 2026-10-20 16:41:11 +02:00
  • e0509c6679 Updates: offer an RPM only to a copy rpm owns, and never read an unknown version as older claude/linux-update-check laurensandClaude Opus 5.5 2026-10-20 16:39:17 +02:00
  • 6f6e92f315 Merge origin/main into claude/spelunk-api-key-tenant-6373cf laurensandClaude Opus 5.5 2026-10-20 16:26:28 +02:00
  • ef365f462e Spelunk: sign each device in through the browser instead of keeping Spelunk API keys in the vault laurensandClaude Opus 5.5 2026-10-20 16:26:25 +02:00
  • f7354aa7e8 Merge pull request 'SFTP: stop waiting for ever on a host whose login prints text, and draw the file panes' icons whole' (#25) from claude/sftp-connection-icons-5ad752 into main job 2026-10-19 09:15:24 +00:00
  • d71f057bde SFTP: stop waiting for ever on a host whose login prints text, and draw the file panes' icons whole claude/sftp-connection-icons-5ad752 jaap-jan 2026-10-16 15:09:46 +02:00
  • 36b6ded63e Merge pull request 'Connections: drop the manual box's view-model state now that both heads ask through the prompt' (#24) from claude/charming-cerf-ae57b6 into main jaap-jan 2026-10-16 12:32:14 +00:00
  • fa85ad1eff Connections: drop the manual box's view-model state now that both heads ask through the prompt claude/charming-cerf-ae57b6 jaap-jan 2026-10-16 14:21:10 +02:00
  • 0cecf1afc4 Android: ask what to connect to on Connections, the same prompt the desktop's empty terminal draws jaap-jan 2026-10-16 14:07:13 +02:00
  • 089de72834 Merge pull request 'Tests: wait for a dropped session's forwards to stop, not just for the tab to go dead' (#23) from claude/elastic-mccarthy-6b4ae7 into main jaap-jan 2026-10-16 12:04:41 +00:00
  • f43436218a Tests: wait for a dropped session's forwards to stop, not just for the tab to go dead claude/elastic-mccarthy-6b4ae7 jaap-jan 2026-10-16 13:17:01 +02:00
  • 3c8c0980c2 Terminal: ask what to connect to when Terminal is pressed with nothing open jaap-jan 2026-10-16 12:17:34 +02:00
  • 5b2e3f3651 Android: type user@host into the hosts search to open a terminal on a machine without saving it jaap-jan 2026-10-14 17:27:57 +02:00
  • 988248fa57 Quick connect: type user@host into Ctrl+K to open a terminal on a machine without saving it jaap-jan 2026-10-14 17:02:26 +02:00
  • 902761d37b CI: deploy ssh.dodotech.cloud after the image is pushed, and fail unless it comes back ready jaap-jan 2026-10-07 11:13:55 +02:00
  • 509937c4b8 Sync: keep the remembered sign-in when the provider is merely down, and say why SYNC NOW found the machine offline jaap-jan 2026-10-07 11:11:09 +02:00
  • 5b32c76c95 Android: the redesign — a Vaults tab with hosts, keychain and snippets, card lists, a keychain that can add, and files that act on what is chosen jaap-jan 2026-10-04 15:50:09 +02:00
  • 6806e542f9 Terminal: measure characters with Unicode 11 widths, so an emoji takes the two columns the remote counts jaap-jan 2026-10-04 13:55:20 +02:00
  • ad1a129159 CI: publish the desktop nightly with curl, since vpk's Gitea client cannot read the upgraded forge's replies claude/audit-followups jaap-jan 2026-10-03 19:56:53 +02:00
  • e240c0cf26 Tests: prove the device-key probe runs off the caller's thread by blocking it, not by comparing thread ids jaap-jan 2026-10-03 19:50:25 +02:00
  • 96dd176121 CI: move vpk and Velopack to 1.2.161, whose Gitea upload survives the forge's new release responses jaap-jan 2026-10-03 19:44:25 +02:00
  • 367cebae9b Android: a customisable key bar, a quick-access keyboard, a long-press cursor gesture, and a side panel on tablets jaap-jan 2026-10-03 14:29:22 +02:00
  • c21de4ade4 Docs: the 2026-10-02 audit reports, the full sweep and the Android design audit, with their screenshots jaap-jan 2026-10-03 11:43:03 +02:00
  • 858e36279d Sync: after a read from the beginning, remove what the server no longer has, and flag an edit that brings a forgotten item back jaap-jan 2026-10-02 17:36:11 +02:00
  • 55e5de0ce4 Server: a cursor carries the sync horizon it was issued under, so a read from the beginning after a collection is not refused on its own pages jaap-jan 2026-10-02 17:36:03 +02:00
  • 8cb1457ca9 Server: collect tombstones past their retention, compact superseded change entries, and refuse cursors from before a collection jaap-jan 2026-10-02 17:18:22 +02:00
  • 656a33b4b1 Desktop: build only the host cards near the view, with a virtualising wrap panel for the board jaap-jan 2026-10-02 16:20:51 +02:00
  • 41f368ae75 Merge remote-tracking branch 'origin/main' into claude/audit-followups jaap-jan 2026-10-02 15:27:39 +02:00
  • 24c18205c3 Desktop: rebuild the hosts board once the typing in the find box pauses, not once a letter jaap-jan 2026-10-02 15:23:58 +02:00
  • 8759b12d47 Desktop: virtualise the transfer queue and the import lists jaap-jan 2026-10-02 15:14:34 +02:00
  • 7b072bcded Desktop: swap the host lists in whole instead of announcing every row to listeners that redo all their work per row jaap-jan 2026-10-02 15:07:08 +02:00
  • b1d4a270d4 Merge pull request 'Audit follow-ups: keyboard, wording, performance, transfer, sync, retry and relay fixes' (#22) from claude/audit-followups into main jaap-jan 2026-10-02 12:59:55 +00:00
  • a2362d1e3e Desktop: decide a titlebar double-click on the press, before the drag can swallow it jaap-jan 2026-10-02 14:40:50 +02:00
  • 079a273d46 Desktop: let a lock pressed during an unlock win, instead of the unlock finishing behind it jaap-jan 2026-10-02 14:37:52 +02:00
  • 37e9d74938 Desktop: keep a vault-visibility failure from closing the app, and leave a crash log when anything else does jaap-jan 2026-10-02 14:28:27 +02:00
  • 170caa1391 Relay: end a user's sessions into a vault the moment they lose access to it jaap-jan 2026-10-02 14:26:44 +02:00
  • 965c9a7043 Server: stop a team being archived while a vault is created in it jaap-jan 2026-10-02 14:20:30 +02:00
  • ff8a790f6c Sync: take the server having no such item as a delete done, not a rejection nobody can clear jaap-jan 2026-10-02 14:18:28 +02:00
  • b2516ca7fb Server: start a retried write transaction from the database, not from the attempt that failed jaap-jan 2026-10-02 14:15:52 +02:00
  • 36fb0817a4 Transfers: say so when a drop or a download is refused because the screen is busy jaap-jan 2026-10-02 14:11:41 +02:00
  • cc3d46f78c Transfers: let cancel pressed as a transfer finishes do nothing rather than throw jaap-jan 2026-10-02 14:10:40 +02:00
  • 8bee476039 Transfers: stop a transfer queued as the last one finishes from waiting for ever jaap-jan 2026-10-02 14:09:47 +02:00
  • 441709f1e9 Desktop: stop decrypting the whole keychain on a sync pass that changed nothing jaap-jan 2026-10-02 14:08:08 +02:00
  • 873405e591 Sync: mirror a pulled page in one write and read the outbox once per page, not twice per change jaap-jan 2026-10-02 14:04:36 +02:00
  • f997e87c5f SSH: open a shell off the caller's thread, and stop waiting when the caller gives up jaap-jan 2026-10-02 14:02:18 +02:00
  • 365954c541 Desktop: probe for the TPM once, off the UI thread, instead of on every unlock jaap-jan 2026-10-02 13:59:37 +02:00
  • 3ccafdd53b Desktop: drop the VAULT columns that had nothing in them, and the snippet buttons with nothing to act on jaap-jan 2026-10-02 13:58:07 +02:00
  • 22b4d82ba8 Desktop: stop the status bar's session timer when the shell ends jaap-jan 2026-10-02 13:54:24 +02:00
  • 619f49a35a Desktop: trim a long session tab label instead of letting it push the + off the strip jaap-jan 2026-10-02 13:54:24 +02:00
  • a6d3924e0d Desktop: call device unlock what this platform calls it, not Windows Hello everywhere jaap-jan 2026-10-02 13:52:00 +02:00
  • 079914bfb4 Desktop: let the arrows choose the host the drawer acts on, and Enter connect to it jaap-jan 2026-10-02 13:49:36 +02:00
  • 6c09bdecb6 Desktop: give the host-key, delete and sign-out questions the keyboard on their harmless answer, and let Escape say no jaap-jan 2026-10-02 13:45:40 +02:00
  • 372a7cbdc7 Desktop: put the keyboard in the closed vault's card on launch, and let Enter sign in and enrol jaap-jan 2026-10-02 13:39:12 +02:00
  • a4b81da597 Desktop: show the right vault's people, leave settings on lock, say when an import fell short, and stop host names being cut to four letters jaap-jan 2026-10-02 13:16:55 +02:00
  • 0e8fe4fc80 Give each profile its own device key, and make the Linux PIN window able to open at all jaap-jan 2026-10-02 13:16:48 +02:00
  • 2ff9dff560 Terminal: deliver large pastes whole, keep keystrokes in order, and keep one session's failure off the shared socket jaap-jan 2026-10-02 13:16:48 +02:00
  • 6846f67c20 Server: send each item at the revision its ciphertext is sealed at, keep team archiving with the owner, refuse suspended accounts, and stop enrolment failing after an hour jaap-jan 2026-10-02 13:16:48 +02:00
  • f332d9a56f Stop a finished push deleting the edit made while it was in flight, and pull a newly synced type from the start jaap-jan 2026-10-02 13:16:47 +02:00
  • 03c8e8589a Keep downloads inside the folder they were sent to, never run a file opened for editing, and let a bucket upload be retried jaap-jan 2026-10-02 13:16:30 +02:00
  • 4c7f47c026 Refuse a pinned host that answers with a key of another type, rather than asking whether to trust it jaap-jan 2026-10-02 13:16:30 +02:00
  • 412c314aec Merge pull request 'Fill in the Spelunk API key on the Security page, as a synced Spelunk key that goes only to its own address' (#21) from claude/spelunk-api-key-security-0dfad0 into main jaap-jan 2026-09-29 08:36:08 +00:00
  • b08f2c58e3 Fill in the Spelunk API key on the Security page, as a synced Spelunk key that goes only to its own address claude/spelunk-api-key-security-0dfad0 jaap-jan 2026-09-29 10:34:38 +02:00
  • ee423b25ce Merge claude/spelunk-sign-in: sign in to Spelunk servers through Spelunk, and connect straight away from a Spelunk link jaap-jan 2026-09-29 09:16:12 +02:00
  • 38ab9b431b Sign in to Spelunk servers through Spelunk, and connect straight away from a Spelunk link jaap-jan 2026-09-28 22:53:51 +02:00
  • 07bd5c9886 Merge claude/api-image-to-gitea-registry: push the API image to Gitea's own registry jaap-jan 2026-09-28 22:07:41 +02:00
  • 31aca26e89 Push the API image to Gitea's own registry instead of registry-docker jaap-jan 2026-09-28 22:07:06 +02:00
  • 843713b118 Merge claude/api-image-sees-illink-pin: the API image restores with the trimmer pin jaap-jan 2026-09-28 21:44:56 +02:00
  • 9c7be8ae9b Let the API image see the trimmer pin, so its restore stops breaking on each .NET servicing release jaap-jan 2026-09-28 21:44:56 +02:00
  • 3d0a66f997 Merge claude/spelunk-tunnel: reach a Spelunk-managed server through Spelunk, and open one from a Spelunk link jaap-jan 2026-09-28 21:38:09 +02:00
  • 689ba6c1bf Merge origin/main into claude/spelunk-tunnel jaap-jan 2026-09-28 21:38:09 +02:00
  • 6e39807cc0 Reach a Spelunk-managed server through Spelunk, and open one from a Spelunk link jaap-jan 2026-09-28 21:25:04 +02:00
  • d7d002c972 Merge pull request 'Start port forwards on the phone, listed in a sheet off its terminal' (#20) from claude/dazzling-moser-641acd into main jaap-jan 2026-09-28 19:06:37 +00:00
  • c3dfa42108 Start port forwards on the phone, listed in a sheet off its terminal claude/dazzling-moser-641acd jaap-jan 2026-09-28 21:06:05 +02:00
  • a6a21decbd Report a host's pinned paths among the fields an edit changed jaap-jan 2026-09-28 20:49:40 +02:00
  • f05deb4fbc Add port forwarding: local, remote and dynamic, per terminal session jaap-jan 2026-09-28 20:47:02 +02:00
  • c8848ec1e3 Send the event socket's close code instead of aborting the socket jaap-jan 2026-09-28 14:53:59 +02:00
  • ab432e475e Merge pull request 'Let a host marked for the relay actually be reached through it' (#19) from claude/server-relay-94b02f into main jaap-jan 2026-09-28 12:41:29 +00:00
  • b20f7cae04 Let a host marked for the relay actually be reached through it claude/server-relay-94b02f jaap-jan 2026-09-28 14:37:20 +02:00
  • 54bc142dce Merge pull request 'Stop an attach's own replay landing in the middle of a test's frames' (#18) from claude/fix-failed-test-3e1719 into main jaap-jan 2026-09-15 12:46:46 +00:00
  • 8e61fc72b4 Stop an attach's own replay landing in the middle of a test's frames claude/fix-failed-test-3e1719 jaap-jan 2026-09-15 14:29:08 +02:00
  • 8a4058ce3a Merge pull request 'Stop a reconnect dialling a different machine of the same name' (#17) from claude/reconnect-wrong-server-9cccfb into main jaap-jan 2026-09-14 11:31:04 +00:00
  • 2d95366552 Stop a reconnect dialling a different machine of the same name claude/reconnect-wrong-server-9cccfb jaap-jan 2026-09-14 10:18:58 +02:00
  • 9ead42171c Stop a flooding remote growing the process, and let an ended session go jaap-jan 2026-09-04 17:16:23 +02:00
  • 597e5ae016 Take the release credentials off the command line, where anyone could read them laurensandClaude Opus 5 2026-09-01 14:31:02 +02:00
  • 483ae1fed9 Stop three notes in this repository claiming things that are not so laurensandClaude Opus 5 2026-08-31 16:35:14 +02:00
  • 7ee2aacdc9 Put check 1.12 back in step with the splash it describes laurensandClaude Opus 5 2026-08-26 17:26:52 +02:00
  • dec2cf164a Let the connecting card's host name and address be taken away laurensandClaude Opus 5 2026-08-26 17:25:42 +02:00
  • 7d1f0a4b53 Take the frozen bar off the splash, and leave the line that is true laurensandClaude Opus 5 2026-08-26 16:18:34 +02:00
  • fd92b80d4f Find out why a connection did not reach, instead of only saying it timed out laurensandClaude Opus 5 2026-08-26 16:04:07 +02:00
  • dabc691c35 Keep the doorbell listening between callers, and stop a hung test taking CI with it laurensandClaude Opus 5 2026-08-26 15:42:41 +02:00
  • 31c836f6ca Stop the RPM verification failing on packages that are correct laurensandClaude Opus 5 2026-08-26 15:02:58 +02:00
  • b8c94ecb73 Put a window on screen while it starts, and refuse the second one laurensandClaude Opus 5 2026-08-26 14:49:15 +02:00
  • aff776cb42 Rebuild the terminal's keypad, and fix what a device run showed jaap-jan 2026-08-26 13:28:50 +02:00
  • 91f7586b22 Let the Android head finish signing in against the development realm jaap-jan 2026-08-26 13:28:20 +02:00
  • c859705b83 Give the hosts board its vaults, and the Hetzner import a vault and a key jaap-jan 2026-08-26 11:54:29 +02:00