fix: read xz sidecars by buffer, page carousel with arrows, stop backdrop flash
Docker Build and Publish / build-and-push (push) Failing after 10s
Docker Build and Publish / build-and-push (push) Failing after 10s
Instaloader metadata was silently lost Every .json.xz failed with "Failed to fetch" during a scan, though the same URL fetched fine on its own. RemoteArchiveFile.stream() started a fetch, piped the body into a TransformStream and returned the readable immediately — nothing caught a fetch rejection, and the decompressor stops reading at the end of the xz member, so the response body was never drained or cancelled. Across ~190 sidecars that exhausted the connection pool. Everything Instaloader archives carry lives in those files, so the failure was invisible but total. rivvsofficial reported 188 posts, no stories, 0 followers and a placeholder bio; it now reports 68 posts, 120 stories, 10,337 followers and the real name, bio and link — 68 + 120 = 188, matching the sidecars exactly (106 GraphStoryVideo + 14 GraphStoryImage = 120). These sidecars are a few KB, so they are now read into memory before decompressing. stream() was left unused by that change and is removed from the interface and both implementations rather than kept as a trap. Arrow keys page the carousel They moved between posts, which contradicted the arrows drawn on the carousel itself. Arrows now page slides; , and . move between posts, alongside the side buttons. Backdrop cross-fade AnimatePresence had no exit variant, so the outgoing scan backdrop was removed instantly while its replacement faded in over 1.5s, exposing the pale page behind it as a white flash. Layers now stack: the outgoing image holds full opacity until covered, and the 0.4 moved onto the group so overlapping layers don't darken as they cross. Measured over a real scan: 152 cross-fades with a layer always opaque, except the opening fade-in where nothing is underneath. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011uBWhwV3wFQ5MBCcMHHem7
This commit is contained in:
co-authored by
Claude Opus 5
parent
792b834cbe
commit
e57be521a2
@@ -14,7 +14,6 @@ export class LocalArchiveFile implements ArchiveFile {
|
||||
get size() { return this.file.size; }
|
||||
text() { return this.file.text(); }
|
||||
arrayBuffer() { return this.file.arrayBuffer(); }
|
||||
stream() { return this.file.stream(); }
|
||||
|
||||
/**
|
||||
* A blob: URL backed directly by the on-disk File.
|
||||
@@ -55,15 +54,6 @@ export class RemoteArchiveFile implements ArchiveFile {
|
||||
const res = await fetch(this.url);
|
||||
return res.arrayBuffer();
|
||||
}
|
||||
stream() {
|
||||
const transform = new TransformStream();
|
||||
fetch(this.url).then(res => {
|
||||
if (res.body) res.body.pipeTo(transform.writable);
|
||||
else transform.writable.getWriter().close();
|
||||
});
|
||||
return transform.readable;
|
||||
}
|
||||
|
||||
createObjectUrl() {
|
||||
return this.url;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user