-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Multipart skill publish leaves Convex blobs after a failed publish #3670
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:bulk-filedClawSweeper detected a high recent issue-filing volume from this author.ClawSweeper detected a high recent issue-filing volume from this author.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Activity
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:bulk-filedClawSweeper detected a high recent issue-filing volume from this author.ClawSweeper detected a high recent issue-filing volume from this author.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
Authenticated multipart skill publish (
POST /api/v1/skills) stores each uploaded file in Convex, then can reject the request during parse or later validation. Those stored ids are not deleted. Failed publishes leave unreferenced blobs.This is a source-level resource leak. I did not run a live Convex publish against production.
Verification / reproduction
convex/httpApiV1/shared.tsparseMultipartPublish(store, thenparsePublishBody).storage.deleteof those new ids on that failure path.Actual
Expected
Evidence
Source:
convex/httpApiV1/shared.ts. Proposed patch: PR #3549.ClawSweeper also asked that blobs already committed to a version stay retained. That commit-then-keep rule belongs in the same fix.
Security / privacy
Storage leak for an authenticated publisher. Not a claimed remote unauthenticated vuln. No payload.
Acceptance criteria
This tracker stays open if PR #3549 is closed without landing on
main.