mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-05 12:22:28 +00:00
feat(webseed): upload form accepts multiple web seeds (slice 2/3)
Let uploaders declare a backup origin at creation time so the swarm can keep streaming when the primary CDN is overloaded. - upload-modal.html: the single "Web Seed (ws)" input becomes a "Web seeds (one per line)" textarea with help text explaining the backup-origin use case and the byte-identical-file requirement. - UploadModal: in upload mode the R2/CDN url stays the primary webseed and any textarea entries follow it (passed as [primaryUrl, textarea]); external mode already flowed the field through. All parsing stays in the payload layer. - videoNotePayload.normalizeWebSeedList now splits every entry (array OR string) on newlines/commas, so the upload-modal's [url, "a\nb"] shape and a plain multi-line string both expand + dedupe correctly. Mutation-verified (array entries no longer split fails the upload-shape test); build + full unit suite green. Lints relevant to the change (inline-styles, tokens, innerHTML) pass. Note: npm run lint also reports pre-existing file-size violations in unrelated files (SignerManager, watchHistory, playbackService, webtorrent, etc.) that grew in earlier commits — none are touched here. Flagging separately. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
1 parent
cf98d06cca
commit
ce7ef9ef2d
4 files changed
+44
-13
No files matched your search
@@ -1073,7 +1073,13 @@ export class UploadModal {
|
||||
metadata.storagePointer =
|
||||
this.videoUploadState.storagePointer ||
|
||||
deriveStoragePointerFromUrl(metadata.url, providerLabel);
|
||||
metadata.ws = this.videoUploadState.url; // WebSeed is same as R2 URL
|
||||
// The R2/CDN url is the primary webseed; any additional backup
|
||||
// webseeds the uploader entered (one per line) follow it.
|
||||
// normalizeVideoNotePayload splits + dedupes this list.
|
||||
metadata.ws = [
|
||||
this.videoUploadState.url,
|
||||
this.inputs.ws?.value || "",
|
||||
];
|
||||
metadata.xs = this.torrentState.url || "";
|
||||
|
||||
// NIP-71 IMETA for the main video
|
||||
|
||||
Reference in new issue
Block a user