Skip to content

chore: Ateam Go 1.4.5 (34) - #562

Merged
pallaoro merged 11 commits into
mainfrom
ateam-go-1.4.5
Nov 9, 2026
Merged

pallaoro merged 11 commits into
mainfrom
ateam-go-1.4.5

Conversation

@pallaoro

@pallaoro pallaoro commented Nov 9, 2026

Copy link
Copy Markdown
Member

Bumps Ateam Go to 1.4.5 (34) for the build that carries #558 and #561 (SSH onboarding, provider step, provider links, Paste button). 1.4.4 is live on the App Store. This build goes to internal TestFlight first for a real boxd test before App Store review.

… needed, credential cleanup

- A server set up over SSH (or any box with no coding agent) opens Finish
  setting up instead of Add a project. With no agent on the box, it offers
  Install Claude Code / Install Codex: the box terminal installs it, then
  signs in from a fresh login shell. Codex's installer runs with
  CODEX_NON_INTERACTIVE=1 so it doesn't stop to ask to start Codex.
- Get started no longer opens with a Tailscale warning: the Tailscale state
  sits on Pair with Ateam for Mac, the one way in that needs it.
- Create a box picks SSH when the phone isn't on a tailnet. The SSH form
  starts at root, with where its password comes from; setup turns root into
  the ateam user and then deletes root's password from the Keychain.
- A box's SSH key and password leave the Keychain with it (removed, or
  edited onto a new identity), once the list without it is saved. Removing
  a key-login box asks first, since that key may be the only way in.
- PRIVACY.md and the provider docs describe the SSH path.

Checked on a fresh boxd server: after the phone's install the engine
reports no agents; both install commands install and start sign-in; the
running engine then reports claude and codex on the next connect.
… say when Tailscale is off

- Box settings opens with a Connection row: SSH (user@host:port, key or password on this phone) or Tailscale (address, needs Tailscale on this phone). Tapping it opens Edit box, which works while the box is away.
- A Tailscale box that isn't connected, on a phone with Tailscale off, shows why under its card with a Turn on Tailscale button, ahead of the steps and provider trays.
- Root setup skips removing the root password on a dev build that predates removePassword, instead of failing.
- First step: Hetzner (the app creates it, as before), boxd, or another server. Providers are entries of facts in src/provider-setup.ts (login, host and port hints, what the password is called and where to get it), not flows of their own.
- boxd: its two steps at the provider with links (create a machine, then a token on its phone page), then the Add a box form over SSH as user boxd, the password field named boxd token, and the port left empty with where to find it, since each machine has its own.
- Another server: straight to the form over SSH as root.
- Connection on Hetzner's page is two cards with why (Tailscale recommended for security, SSH needs no Tailscale account) instead of a row that read as plain text.
- Hetzner's mark joins the phone's provider logos; docs/providers describe the step.
Side by side, boxd's two steps read as two options. Now Step 1 of 2 shows alone, with its link as a button, then Next; the last step's button is Connect over SSH, with Previous step under it.
…h link

- ateamgo://ssh?host=&port=&user=&provider= opens Add a box over SSH with the machine filled in and a note to check the host, the way boxd's phone page opens Termius. It never carries a password or token: the provider copies that to the clipboard and the user pastes it. Parsed strictly (src/ssh-link.ts, sharing pair-link's query parser and host rule); nothing connects until Connect, and the first connection still asks to trust the host key.
- docs/providers/README.md documents the format for providers.
- boxd's steps and docs follow its phone sheet as it is now: Another SSH app, Copy token (there is no Create token button there).
…s its wake

- boxd's provider definition says an SSH connection wakes its machines (sshWakes): its gateway wakes a machine in standby on the first packet.
- For such a box (boxes.ts dialWakes) a tap no longer opens Edit box asking for a boxd API key, an org-wide credential the SSH path never needs; the dial wakes it. A failed dial reads as a failure, not sleep.
- Background tries (start-up, foreground, retries) don't dial it, since that would wake it: it rests asleep on its card until something on it is opened, like a Tailscale box that sleeps.
- provider-setup.ts notes where boxd's SSH facts should move once a second provider is reached over SSH.
iOS's own paste control (expo-clipboard's ClipboardPasteButton, UIPasteControl, iOS 16+) pastes in one tap what a provider copied, such as boxd's token, with no Allow Paste prompt. expo-clipboard loads its native side on import, so it's required only once that side is known to be there: a build made before it starts as before, without the button. A trailing line break from the copy is dropped.
- Two more cards on Create a box's first step, marked Needs a computer: a Sprite has no SSH server and exe.dev's SSH is key-only, so both are reached over Tailscale after a computer sets them up.
- Each card's page: Open the setup guide (its iOS section in docs/providers on GitHub, so the commands are fixed there rather than in an app release), Scan the code from Ateam for Mac (which sets up phone access itself), and Add it by its tailnet address (Add a box on Tailscale; for Sprites, with the provider picked so the phone can wake it).
- A test fails if a guide points at a docs page or iOS section that doesn't exist, or at a provider the phone can't wake through.
- exe.dev straight over SSH with a key of the phone's own (VM-scoped) is noted in its page as not tried yet.
@pallaoro
pallaoro merged commit 712d9f2 into main Nov 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant