mirror of https://github.com/garrytan/gstack.git
Destination labels were derived from the manifest's attempt count before generation, so two concurrent runs could pick the same variant-iteration-<label> path and overwrite each other's variant. Claim each destination atomically with an exclusive create (open "wx"), advancing to the next label on EEXIST, and guard the round-manifest read-modify-write with a lock file plus a temp-file + rename so concurrent updates don't drop an entry. Add concurrency and failure/restart tests asserting distinct labels and that no variant is overwritten. |
||
|---|---|---|
| .. | ||
| auth.test.ts | ||
| daemon-discovery.test.ts | ||
| daemon-tests-fixtures.ts | ||
| daemon.test.ts | ||
| feedback-roundtrip-daemon.test.ts | ||
| feedback-roundtrip.test.ts | ||
| gallery.test.ts | ||
| serve.test.ts | ||
| variant-preservation.test.ts | ||
| variants-retry-after.test.ts | ||