You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Drop server-side `ERR-XXXXX` regeneration. The api server now validates and reuses the client-supplied `meta.id` so the dialog preview, upload toast, and Discord embed all show the same id. The trailing UUID in the R2 key already guarantees object uniqueness; on the astronomically rare collision we retry with a fresh UUID, never a fresh id.
- New R2 key shape: `error-reports/{prod|dev}/{yyyy-mm-dd}/{ERR-XXXXX}-{uuid}.zip`. Env first (release → `prod`, debug → `dev`) so dev-run reports sort separately. Legacy keys without the env segment still aged out via the 90-day R2 lifecycle; `extractDateSegment` reads the date out of both shapes so eviction keeps working oldest-first.
- Discord title prefix is now explicit both ways: `[DEV]` for debug builds, `[PROD]` for release.
- Reject malformed/missing `meta.id` with 400. Added tests for the stable id flow, the `dev/` key shape, and the new validation paths.
- Update `apps/api-server/CLAUDE.md` with the new key shape and id behavior.
0 commit comments