Changelog: 31-finding fix wave, 500 MiB Cheap LFS parts, append-guarded uploads (ed016ad292) #61
DingDingChae
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Pushed
e27976c337..ed016ad292tomain— the full ten-group fix wave for the adversarially-verified sweep, plus the #56 fix. CI on the pushed commit is running; no remote success is claimed here.Performance
cat-file --batch-check/--batchand chunkedls-files/ls-treepasses with:(literal)pathspecs;filesNotTrackedByLFSnow uses onecheck-attr --stdin -z. Per-file failure semantics are unchanged.Fixed
uploadAssetrevalidated the whole release fingerprint — including every sibling asset'slabel,updatedAtanddownloadCount— so a batch's own annotator, the auto-installed compression Action, or a stranger downloading an unrelated asset aborted pending uploads with "The reviewed release, asset, repository, or account changed." Uploads are now guarded as appends: release identity and every reviewed asset must be unchanged, and a name collision with a different digest still fails closed, while added siblings and changed sibling metadata are tolerated. Every other mutation keeps the strict guard verbatim. The annotator also splices each provider response back into its cached snapshot — previously only the first asset per release ever received itscommit=provenance — and now runs serialized per repository.loadingVersionsand block all later loads.Added
Verification on the merged tree
Root
npx tsc --noEmitexit 0; prettier clean;app/test/unit/cheap-lfs450/450 across 34 files. Each branch was independently green before merge (notably 497/0 across 38 files for the hashing work, and 83/0 across 14 app-store source-regex suites for the append guard). A broaderapp/test/unit/git+ releases-store run was still executing at push time and is reported separately.Not yet fixed
#55 (commit re-downloads payloads) and #59 (
git add -Ahashing multi-GB payloads into.git/objects) remain open with confirmed root causes. Resumable parts, three-at-a-time uploads, and auto-retry are next — they build directly on the append guard shipped here.呢轉係大掃除嘅主菜:三十一條經過對抗式覆核嘅蟲一次過修完。最抵讚係Cheap LFS唔再重複hash同一個檔六七次,git spawn又批量化咗;仲有#56嗰條「明明冇人郁過都話release變咗」— 原來連兄弟asset俾人download過都算數,而家改成淨係查真正相關嘅嘢。Release分件由1.5GB切細做500MB,跌親retry都唔肉痛。斷點續傳、三件齊發、自動重試就緊接住嚟,全部要靠今次呢個append guard打底。
All reactions