🤖 fix: deleting a Daytona workspace after an account switch leaves its sandbox in the old account
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
Hướng nghiên cứu
Start with src/node/services/daytona/daytonaSandboxes.ts:321 and the review thread linked from the issue, then trace where the workspace’s daytona config is created and used during archive or removal. Check how the current account and 404 responses are handled. Done means the stored API URL and target distinguish accounts, and deletion handles mismatches as described for normal and forced removal.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Follow-up from the Codex review of #7100 (thread: https://github.com/coder/xum/pull/7100#discussion_r4353498597, src/node/services/daytona/daytonaSandboxes.ts:321).
Problem
A Daytona workspace does not record which Daytona account (API URL, key, target) created its sandbox. If the user switches Settings > Runtimes > Daytona from account A to account B and then archives or removes a workspace created under A, Xum asks account B for the sandbox. B answers 404, so the sandbox counts as missing, the delete is treated as done, and the workspace record goes away. The account-A sandbox stays behind: auto-stop (30 min) stops it, but auto-delete is off, so it keeps its disk until someone deletes it in the Daytona dashboard.
Proposed fix
Store an account fingerprint (API URL plus target, never the key) in the workspace's daytona config at create. On archive or remove, if the current account does not match, do not treat a 404 as a deleted sandbox: refuse with a message that names the original API URL/target and asks the user to switch back, or (forced removal) remove the workspace and warn that the sandbox was left in the other account.
Why it is deferred
#7100 runs its review loop under a P0/P1-only rule; P2 findings get a tracked follow-up.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.1k
- Fork
- 140
- Merge trung bình
- 4 giờ 57 phút
- Pull request đã merge (30 ngày)
- 946
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của coder/xum
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
coder/xum#7358 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
coder/xum#7302 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
coder/xum#7283 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
🤖 fix: a Daytona connection test started before a settings save can show the old key as connectedĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
freshness freshness:observed-only
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
thoroc/context-radar#282 ·
-
bug P2 rust
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: web
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
gabe-santana/arkdraw#25 ·
-
bug require-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
expressjs/expressjs.com#2549 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue hacktoberfest
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
codercops/discord-bot#101 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày