mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-08 13:52:58 +00:00
fix(upload): surface an 'Analyzing' status during pre-upload file hashing
Computing the torrent info-hash (and the content-hash fallback) reads the entire file before the upload starts and before any progress is emitted, so on multi-GB videos there was a long silent pause that looked like a freeze. Both upload services now emit an 'Analyzing video…' status when a full-file hash is required (i.e. no valid info-hash was pre-supplied). Cloudflare-upload audit #2. Test: tests/services/s3-upload-analyzing-status.test.mjs. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
1 parent
c1ae810776
commit
6b603cc21c
3 files changed
+106
No files matched your search
@@ -870,6 +870,18 @@ class R2Service {
|
||||
this.updateCloudflareProgress(0);
|
||||
this.setCloudflareUploading(true);
|
||||
|
||||
// Computing the torrent info-hash (and the content-hash fallback) reads the
|
||||
// ENTIRE file before the upload starts and before any progress is emitted —
|
||||
// on multi-GB videos that's a long, silent pause that looks like a freeze.
|
||||
// Surface a status so the user knows work is happening.
|
||||
const willHashFile = Boolean(file) && !isValidInfoHash(normalizeInfoHash(infoHash));
|
||||
if (willHashFile) {
|
||||
this.setCloudflareUploadStatus(
|
||||
"Analyzing video (large files can take a moment)…",
|
||||
"info",
|
||||
);
|
||||
}
|
||||
|
||||
const keyIdentifier = await resolveUploadIdentifier({ infoHash, file });
|
||||
const normalizedInfoHash = normalizeInfoHash(infoHash || keyIdentifier);
|
||||
const hasValidInfoHash = isValidInfoHash(normalizedInfoHash);
|
||||
|
||||
Reference in new issue
Block a user