🤖 fix: keep SSH access to a Daytona sandbox when its delete fails
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Inizia vicino alla riga 258 di src/node/services/daytona/daytonaSandboxes.ts e segui deleteSandbox, ensureSshAccess e i controlli SSH del percorso di rimozione. Aggiungi il test descritto, in cui il primo tentativo di eliminazione fallisce con un errore 5xx e un nuovo tentativo riesce. Il lavoro è terminato quando i controlli SSH funzionano dopo l’eliminazione fallita e la rimozione riesce al nuovo tentativo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up from the Codex review of #7100 (thread: https://github.com/coder/xum/pull/7100#discussion_r4369224751, src/node/services/daytona/daytonaSandboxes.ts:258).
Problem
DaytonaSandboxes.deleteSandbox revokes Xum's SSH token and removes the sandbox's host block before it calls DELETE /sandbox/{id}, because Daytona refuses to revoke a token of a sandbox that no longer exists. When the delete fails with a transient error, the workspace is kept so the removal can be retried, but its alias no longer has a host block. The retry's SSH checks then fail with a hostname error until something mints access again.
Proposed fix
When client.deleteSandbox throws (other than 404), restore SSH access before rethrowing (ensureSshAccess), or have the removal path call ensureReady before its SSH checks. Add a test where the first delete fails with a 5xx and the retried removal succeeds.
Why it is deferred
#7100 runs its review loop under a P0/P1-only rule; P2 findings get a tracked follow-up. The revoke-first order predates this round.
- Lingua principale
- TypeScript
- Stelle
- 2.1k
- Fork
- 140
- Merge medio
- 5h 8m
- PR unite (30g)
- 952
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 83/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
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/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: refresh the runtime status chip after a turn, terminal or editor starts a stopped sandboxAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
a10y a10y-audit ai-driven-qa claude
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
linagora/twake-directory-manager#219 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
0️⃣ phase/new
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Pulse v7: buildPreferencesFromTelos() bypasses telosSectionOrFile(), renders empty on unified-TELOS installsForse già presa @zephyr91 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
danielmiessler/LifeOS#2393 ·
I maintainer di solito rispondono entro 4 giorni