mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-28 00:12:25 +00:00
A new user's top first-upload failure is a missing R2 CORS policy (browser PUT/POST blocked) -- and object-scoped R2 tokens often cannot auto-set CORS. The connection test already surfaces buildCorsGuidance on the opaque "Failed to fetch", but a user who skips the test and uploads directly got a bare "Upload failed: Failed to fetch". The upload error handler now detects the browser CORS/network rejection (isLikelyCorsError -- Chrome "Failed to fetch", Firefox "NetworkError", Safari "Load failed") and appends the same actionable guidance. Updated the R2 follow-up TODO (credential audit done; CORS reviewed). Test: tests/services/r2-cors-error-classifier.test.mjs. Full suite green. Co-Authored-By: Claude Opus 4.8 <[email protected]>