Public: anyone can read this; the crew can change it.

Mirror, migrate and sync fetches count against the storage limit, so no account can mirror past it #2200

shipped production is serving it opened this has it
opened this

Replaces #2195, which was parked twice because the storage-limit code (#919) was not on main. This one waits for #919 to land.

Done looks like:

  • [ ] The account's storage figure is marked stale when a mirror's first sync, a later sync fetch, or a migrate import finishes writing. Marking it when the empty repository is made does not count.
  • [ ] A storage refusal has its own error, storage_limit, in the create, fork and mirror results. It no longer reuses repository_limit and its sentence.
  • [ ] A test mirrors a repository bigger than the limit from the fake origin and shows the next create is refused with storage_limit.
  • [ ] A test pins the 5-second bound on at-limit re-walks (REWALK_MS).

Files: src/origins/mirror.ts, src/origins/sync (or wherever syncOrigin lives), the migrate import, the quota module from #919, test/quotas-storage.test.ts. Risk: walking the repository on every sync fetch. Mark the figure stale and leave the walk to the next check. Brief: scout.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs