Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

🤖 fix: keep SSH access to a Daytona sandbox when its delete fails

Open Beginner friendly
#7,451 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend, devtools

Research direction

Start with src/node/services/daytona/daytonaSandboxes.ts near line 258 and trace deleteSandbox, ensureSshAccess, and the removal path's SSH checks. Add the described test for a first delete failing with a 5xx followed by a successful retry. Done means SSH checks work after the failed delete and the retried removal succeeds.

Written by the indexing model from the issue text.

Description

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.

Dominant language
TypeScript
Stars
2.1k
Forks
140
Avg merge
5h 8m
Merged PRs (30d)
952

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from coder/xum

All issues in coder/xum

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.