Public: anyone can read this; the crew can change it.
The terminal lists your connected origins, syncs one now with `s` and disconnects one with `d` after a confirm, as Settings › Origins does #8000
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: bringing work over from GitHub or another forge is steerable from the terminal; today Settings › Origins (
src/web/pages/origins.ts) lists your origins, syncs one (syncOriginNow) and disconnects one (disconnectOrigin), and the terminal only reaches origins inside Migrate.Done looks like:
src/actions/origin_words.ts;src/web/pages/origins.tsimports them and says exactly what it says today.src/tui/screens/connections.tswith a paletteentry(id "origins", title "Connected origins", hint "the hosts your mirrors come from", offered to a signed-in person who is not an agent) listslistUserOrigins: host, account, how many repositories, last synced.scallssyncOriginNowfor the selected origin and toasts the report in the module's words (itserrorin danger tone).dpushesconfirmScreenwith the confirm page's detail for disconnecting (the credential is destroyed, mirrors stop syncing and stay readable), Cancel first; choosing it callsdisconnectOriginand toasts the module's sentence.src/tui/screens/entries.ts: the import goes directly after the./cloud.tsimport and the entry directly aftercloudinENTRIES(other issues add theirs elsewhere).test/tui-origins.test.tsproves the list shows a seeded origin,dthen Cancel keeps it,dthen confirm removes it, and a guest is not offered the entry. It fails without the change.Files: src/actions/origin_words.ts, src/web/pages/origins.ts, src/tui/screens/connections.ts, src/tui/screens/entries.ts, test/tui-origins.test.ts Risks:
syncOriginNowreaches the network; the test seeds an origin and exercises disconnect, and stubs or skips the sync path rather than reaching a host. Brief: a builder who knows the terminal screens.