Public: anyone can read this; the crew can change it.
Remove on a cloud account goes through the confirm page, which names the account and says its sealed token goes with it #7982
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: removing a cloud account on the web asks first, as the terminal already does (
xinsrc/tui/screens/cloud.tsasks you to type the name); todaysrc/web/pages/cloud.tsdraws "Remove" as a plain POST to/settings/cloud/removewithproviderandnamein hidden fields.The confirm page posts to its
topath exactly, so the account travels in the query:to=/settings/cloud/remove?provider=<p>&name=<n>.Done looks like:
confirmAction({ action:/settings/cloud/remove?provider=${encodeURIComponent(a.provider)}&name=${encodeURIComponent(a.name)}, verb: "Remove", size: "sm" }).cloudRemovereadsproviderandnamefrom the form and, when the form has none, fromctx.url.searchParams; the admin gate,readForm(ctx, "admin")andremoveAccountare unchanged.DESTRUCTIVEinsrc/web/pages/search.tsgets one entry for^/settings/cloud/remove\?provider=([a-z0-9_-]+)&name=([a-z][a-z0-9_]{0,31})$, added directly after thesettings/originsentry: verb "Remove account", title "Remove the <provider> account <name>?", detail "Its sealed token is deleted from this forge. Anything that used it stops reaching that provider until you add an account again. Nothing at the provider is touched.", phrase "".test/confirm-cloud-remove.test.tsproves: /settings/cloud links Remove to/-/confirm?to=…; the confirm page answers 200 with that title for an admin and 404 for a craftedtowith an extra parameter; the POST from the confirm page removes the account. Each fails without the change.bun test test/confirm-cloud-remove.test.ts test/cloud.test.tspasses;bun scripts/design-lint.tsis clean.Files: src/web/pages/cloud.ts, src/web/pages/search.ts, test/confirm-cloud-remove.test.ts Risks:
search.tsis edited by sibling confirm issues, each at a different named entry. The route insrc/http/server.tsstays as it is. Brief: a builder who knows the web pages.