Support

support@openab.dev — or open an issue at openabdev/openab-pty for anything about the runtime itself.

Security issues: please use a private advisory rather than a public issue or email.

Trying the app without deploying anything

Open the OpenAB Connect menu and choose Demo Mode. Two sample connections appear; double-click a session under either one to open a terminal. It is a canned transcript with local echo — no network connection is made and nothing is executed. Choose Demo Mode again to remove the samples.

Things that go wrong, and why

The first deployment takes a long time

It is pulling a container image, and the first pull of any agent variant is the slow part — measured at over two minutes for 156 MB on an ordinary connection. The app reports what it is waiting on. Nothing is wrong until it says so.

"No tailnet node appeared"

Registration normally takes seconds, so this almost never means slowness. In order of likelihood:

Use a key that is both Reusable and Ephemeral. Ephemeral is what lets a deleted pod's node leave the tailnet instead of accumulating dead entries.

A session says it expired, or was taken over

Sessions are single-attach by design: a second device attaching takes the keyboard. TTLs are set when you deploy. Both are reported with a specific reason rather than a generic disconnect.

The workspace lost my work

The workspace is ephemeral unless you chose a persistent one at deploy time. It does not survive the pod being replaced. Push your work; lifecycle hooks are a backup, not a primary mechanism. The app says so in every session's header for this reason.

A process kept running after I killed a session

Teardown is best-effort and labelled as such throughout. Only one kill domain is implemented, and a process that leaves its process group may outlive its session until the pod or task is replaced. This is documented behaviour, not a fault.

Requirements

Where things live on your Mac

~/Library/Containers/dev.openab.connect/     app data, sandboxed
Keychain (login)                             credentials, per connection

Removing the app leaves those; delete them if you want it gone entirely.