RFC: Safe partial-update behavior for PUT-only APIs
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- api, backend-api-design, cli, testing-qa
Hướng nghiên cứu
Start with the CLI update command and the GET, merge, then PUT flow described in the issue, then inspect endpoint schemas and available concurrency tokens. Resolve the safety policy before implementation; done means the supported policy is documented and eligible endpoints have concurrency and failure-path tests, including dry-run secret handling.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
Some APIs expose replacement-oriented PUT operations but no PATCH operation. Users may still expect a CLI update command to preserve fields they did not specify.
A generic GET, merge, then PUT flow could emulate a partial update, but it can also overwrite concurrent changes or mishandle fields whose omission, null, empty value, or server default have different meanings.
Questions to resolve
- Which endpoints have a concurrency token such as an ETag or version?
- Can replacement schemas distinguish omitted fields from explicit clearing?
- Which operations are idempotent and safe to retry?
- How should secrets, write-only fields, computed fields, and server defaults be handled?
- Should emulation be opt-in, endpoint-specific, or rejected when safety cannot be proven?
Safety requirements
- Do not perform an unguarded read-modify-write when concurrent changes can be lost.
- Preserve explicit clearing and replacement semantics.
- Fail before mutation when the current representation cannot be reconstructed safely.
- Show the effective request through dry-run without exposing secrets.
Outcome
Document the supported policy and implement it only for endpoints that satisfy the agreed safety constraints, with concurrency and failure-path tests.
- Ngôn ngữ chính
- TypeScript
- Star
- 993
- Fork
- 65
- Merge trung bình
- 21 giờ 40 phút
- Pull request đã merge (30 ngày)
- 211
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọ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 cloudflare/cf
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
cloudflare/cf#344 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
upstream
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
cloudflare/cf#262 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`cf dev` rejects `--port` and `--host` for Vite projects, including the `cf init` templateCó thể đã có người làm @jamesopstad đã nhận 23 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
cloudflare/cf#223 · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
upstream
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cloudflare/cf#179 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`cf migrate` fails with `ERR_PNPM_IGNORED_BUILDS` in a pnpm workspace that has not approved workerdĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
cloudflare/cf#511 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của cloudflare/cf
Issue tương tự
-
area: web bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
kinqsradio/orbyn-engineering#227 ·
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 85/100
joeldesante/TurfBuilder#258 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
ncecere/open-mcp-portal#85 ·
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 63/100
loathers/garbage-collector#2865 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
test-reliability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Azure/azure-sdk-for-js#40672 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày