🤖 bug: a rolled-back Coder creation leaves its provisioning session (and a retry can reuse an expired token)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- backend
Direzione di ricerca
Trace the rollback path from WorkspaceService.abortUnsanitizedCreation and compare it with CoderSSHRuntime.finalizeConfig, postCreateSetup, and the existing validateBeforePersist disposal. Confirm how provisioningSessions are keyed and aged, then verify that a rollback disposes the session and that a later retry cannot reuse an expired token.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
A new-mode Coder creation (coder.existingWorkspace unset) creates a provisioning session in CoderSSHRuntime.finalizeConfig (coderService.ensureProvisioningSession(workspaceName), which runs coder tokens create --lifetime 5m). The session is consumed only by postCreateSetup (takeProvisioningSession), which runs in init after registration. When the creation rolls back before init (for example, the registration write rejects, #4745), nothing disposes it:
- The session stays in
CoderService.provisioningSessionsfor the process lifetime, and the token stays on the Coder deployment until it expires (5 min). - A retry with the same Coder workspace name gets the stale session back:
ensureProvisioningSessionreturns an existing entry without checking its age, so a retry more than 5 minutes later may hand an expired token tocoderService.createWorkspace.
validateBeforePersist already disposes the session when it refuses (disposeProvisioningSession); the registration rollback in WorkspaceService.abortUnsanitizedCreation does not.
Proposal
Dispose the provisioning session when a new-mode Coder creation rolls back before init (a runtime hook the rollback can call), and/or have ensureProvisioningSession replace a session older than its token lifetime.
Found while closing #4775 item 2 (SSH, Docker and Coder creations otherwise provision nothing before init). Pre-existing.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high
- Lingua principale
- TypeScript
- Stelle
- 2.1k
- Fork
- 140
- Merge medio
- 4h 55m
- PR unite (30g)
- 900
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coder/xum
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
🤖 fix: stream-error card header actions reach 2.6px into the card padding in a 170px VS Code sidebarAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
tech-debt
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
paperclipai/paperclip#17151 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
AgoraIO-Extensions/agent-infra#3159 ·
I maintainer di solito rispondono entro 1 giorno
-
blocklist addition
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 66/100
MetaMask/eth-phishing-detect#304596 ·
I maintainer di solito rispondono entro 1 giorno
-
friction
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
kentcdodds/kody#4142 ·
-
[Bug] Statistics | Task statistics are always empty on MikroORM with MySQL or SQLiteForse già presa @NdekoCode l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ever-co/ever-gauzy#11214 ·
I maintainer di solito rispondono entro 1 giorno