Self-hosted platform: no command clears the local install record after its database is gone
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ó
- 1/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- postgresql, typescript
Hướng nghiên cứu
Đọc docs/guide/platform/installation/uninstall.md, đặc biệt là hướng dẫn quanh dòng 92 và danh sách “Remove retained resources”. Ghi lại cách xóa bản ghi cài đặt cục bộ cùng các tệp khôi phục và bí mật liền kề khi cơ sở dữ liệu đã mất vĩnh viễn, sau đó giải thích cách tự xóa các tài nguyên Cloudflare còn được giữ lại. Hoàn tất khi các bước khôi phục rõ ràng và nhất quán với danh sách tài nguyên hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
If the platform PostgreSQL database is deleted or can no longer be reached, the local
installation record stays, and no Void command can clear it. The installation name stays
blocked on this machine.
database deleted / unreachable
│
▼
void platform uninstall <id> ──▶ needs the database lifecycle lock first ──▶ fails
void platform install --resume ──▶ reads the saved checkpoint from the database ──▶ fails
void platform install (same name) ──▶ "Installation <id> already uses this name.
Resume it with void platform install --resume" ──▶ loop
A user can still pick a new name, so this is a cleanup dead end, not a full block. The Cloudflare
resources of that installation also stay, and uninstall cannot list them.
Repro (code reading; base 23ddc6e35)
- Install a platform (or stop an install after the database claim).
- Delete the PostgreSQL database at the provider.
- Run
void platform uninstall <id>: it stops at the database lock. - Run
void platform install --name <same-name>: refused, points to--resume. - Run
void platform install --resume --name <id>: it stops at the database read.
Cause
- Every lifecycle command, uninstall included, takes the database lifecycle lock before any change:
packages/void/src/cli/platform-management.ts:591-606(acquirePlatformDatabaseLifecycleLock).
uninstall --planreads project Zero Trust state and projects from the database:
platform-management.ts:311-323. - A non-draft resume reads the authoritative manifest from the database first:
packages/void/src/cli/platform-lifecycle.ts:476-486(readPlatformDatabaseLifecycleManifest). - The name check blocks any record that is not
uninstalled:
packages/void/src/cli/platform-registry.ts:256-268. docs/guide/platform/installation/uninstall.md:92says uninstall stops when the database cannot
be reached, with no next step. Deleting~/.void/platforms/<account>/<id>.jsonis only mentioned
for after a finished uninstall (uninstall.md:38).
Options
- Docs only: say that when the database is gone for good, the user can delete
~/.void/platforms/<account>/<id>.json(and the.recovery.enc/.secrets.encnext to it),
then remove the Cloudflare resources by hand (the list in "Remove retained resources").
Smallest; no code risk. - A
void platform forget <id>command that removes only the local record after a typed
confirmation, prints the recorded Cloudflare resources first, and refuses while the database
is reachable. Needs CLI help, docs and interactive hints. - Let
uninstall --purge-resourcesrun without the database when the user passes an explicit
flag (for example--database-gone). Largest: the database lock and the Zero Trust guard exist
to stop races with the API, so this needs a careful design of what is still safe to delete.
Recommendation: option 1 now; option 2 if users hit it more than once.
🤖 Generated with Claude Code
- Ngôn ngữ chính
- TypeScript
- Star
- 402
- Fork
- 32
- Merge trung bình
- 13 giờ 14 phút
- Pull request đã merge (30 ngày)
- 73
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
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 voidzero-dev/void
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
voidzero-dev/void#463 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Deploy after a secret change fails for Workers over ~750 KB: source read-back capped at 1 MiBĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
voidzero-dev/void#459 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 53/100
voidzero-dev/void#472 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
voidzero-dev/void#471 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
voidzero-dev/void#470 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của voidzero-dev/void
Issue tương tự
-
Object parameters lose their structure when resources is enabledCó thể đã có người làm @asts-top đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
jaegertracing/jaeger-ui#4618 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
pending close triaging
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
anomalyco/opencode#56765 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:plugins enhancement platform:vscode
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
anthropics/claude-code#103166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Types: FlashListProps imports ViewabilityConfig from react-native, removed in RN 0.87+Có thể đã có người làm @efegokdemir đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Shopify/flash-list#2540 ·