From e5949af2e89590544ba1f740fb0d4b5843d052de Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 06:41:00 +0000 Subject: [PATCH] docs: Audit and update upload documentation Executed content-audit-agent. Audited content/docs/guides/upload-content.md against code. Added technical details about multipart uploads and troubleshooting steps. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- content/docs/guides/upload-content.md | 4 +++- context/CONTEXT_2026-02-14.md | 12 ++++++++++ decisions/DECISIONS_2026-02-14.md | 5 ++++ ..._00-00-00_content-audit-agent_completed.md | 24 +++++++++++++++++++ test_logs/TEST_LOG_2026-02-14.md | 5 ++++ todo/TODO_2026-02-14.md | 5 ++++ 6 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 context/CONTEXT_2026-02-14.md create mode 100644 decisions/DECISIONS_2026-02-14.md create mode 100644 docs/agents/task-logs/daily/2026-02-14_00-00-00_content-audit-agent_completed.md create mode 100644 test_logs/TEST_LOG_2026-02-14.md create mode 100644 todo/TODO_2026-02-14.md diff --git a/content/docs/guides/upload-content.md b/content/docs/guides/upload-content.md index 5388f341..0f3b7c73 100644 --- a/content/docs/guides/upload-content.md +++ b/content/docs/guides/upload-content.md @@ -137,6 +137,8 @@ bitvid will verify your credentials by attempting to list or upload a test file. - **Missing Source:** "Provide a hosted URL, magnet link, or an imeta variant before publishing." - **Invalid URL Protocol:** "Hosted video URLs must use HTTPS." - **Storage Not Configured:** "Please configure storage before selecting a file." +- **Invalid S3 Settings:** "Invalid S3 settings." Double-check your endpoint, region, and bucket name in the Storage configuration tab. +- **Concurrent Uploads:** "Please wait for uploads to complete." The client currently supports uploading one video at a time to prevent memory exhaustion. - **CORS Errors ("Network Error"):** If uploads fail immediately or the console shows "CORS", verify your bucket's CORS policy matches the JSON above. Ensure `AllowedHeaders` includes `*`, `AllowedMethods` includes `PUT`, and `ExposeHeaders` lists `ETag`. - **Permission Errors ("Access Denied"):** Check your API credentials. Ensure the token has `Object Read & Write` permissions (specifically `s3:PutObject` and `s3:DeleteObject`). - **Browser Crashes / Slow Performance:** Large files (>2GB) can exhaust browser memory during the hashing process. Try using a smaller file or ensuring you have plenty of free RAM. @@ -147,7 +149,7 @@ bitvid will verify your credentials by attempting to list or upload a test file. ### How Uploads Work -1. **Direct Upload:** Your browser uploads the file directly to your storage bucket. No video data passes through a bitvid server. +1. **Direct Upload:** Your browser uploads the file directly to your storage bucket using **Multipart Upload**. This ensures reliability for larger files by splitting them into chunks. No video data passes through a bitvid server. 2. **External Link:** Your browser streams directly from the provided URL (or via WebTorrent if a magnet is also provided). No video data passes through the bitvid server. 3. **Client-Side Hashing:** Your browser calculates a cryptographic hash (info hash) of the file locally to enable WebTorrent support. This happens in memory, so large files require sufficient RAM. 4. **Publication:** The video metadata (title, URL, hash, tags) is signed by your Nostr key and published to relays. diff --git a/context/CONTEXT_2026-02-14.md b/context/CONTEXT_2026-02-14.md new file mode 100644 index 00000000..41437228 --- /dev/null +++ b/context/CONTEXT_2026-02-14.md @@ -0,0 +1,12 @@ +# Audit Goal +Audit upload/contribution documentation in `/content` against code and runtime behavior. + +# Scope +- Documentation: `content/docs/guides/upload-content.md` +- Code: `js/services/r2Service.js`, `js/services/s3Service.js`, `js/ui/components/UploadModal.js`, `js/constants.js` + +# Branch +`agents/daily/content-audit-agent` + +# Metadata +- Date: 2026-02-14 diff --git a/decisions/DECISIONS_2026-02-14.md b/decisions/DECISIONS_2026-02-14.md new file mode 100644 index 00000000..49184144 --- /dev/null +++ b/decisions/DECISIONS_2026-02-14.md @@ -0,0 +1,5 @@ +# Decisions + +- Decision: Audit `content/docs/guides/upload-content.md` as primary source. +- Rationale: Most critical user-facing documentation for uploading. +- Alternatives: Audit all of `content/` but `upload-content.md` is most relevant to the "content-audit-agent" mission. diff --git a/docs/agents/task-logs/daily/2026-02-14_00-00-00_content-audit-agent_completed.md b/docs/agents/task-logs/daily/2026-02-14_00-00-00_content-audit-agent_completed.md new file mode 100644 index 00000000..323521df --- /dev/null +++ b/docs/agents/task-logs/daily/2026-02-14_00-00-00_content-audit-agent_completed.md @@ -0,0 +1,24 @@ +# Agent Completion Log + +- **Agent:** content-audit-agent +- **Cadence:** daily +- **Date:** 2026-02-14 +- **Status:** Completed +- **Branch:** agents/daily/content-audit-agent + +## Summary +Audited `content/docs/guides/upload-content.md` against the codebase. Verified claims regarding file types, size limits, and metadata fields. + +Updates made to documentation: +1. **Multipart Upload**: Clarified that direct uploads use multipart upload for reliability. +2. **Concurrency**: Added a note about the "one upload at a time" constraint. +3. **Troubleshooting**: Added "Invalid S3 Settings" error message. + +## Artifacts +- `artifacts/docs-audit/2026-02-14/inventory.md` +- `artifacts/docs-audit/2026-02-14/verification.md` +- `artifacts/docs-audit/2026-02-14/validation.md` +- `context/CONTEXT_2026-02-14.md` +- `todo/TODO_2026-02-14.md` +- `decisions/DECISIONS_2026-02-14.md` +- `test_logs/TEST_LOG_2026-02-14.md` diff --git a/test_logs/TEST_LOG_2026-02-14.md b/test_logs/TEST_LOG_2026-02-14.md new file mode 100644 index 00000000..975b85ae --- /dev/null +++ b/test_logs/TEST_LOG_2026-02-14.md @@ -0,0 +1,5 @@ +# Test Log 2026-02-14 + +- [x] Initialized artifacts +- [x] Verify claims (Validated against code in js/services/s3UploadService.js and js/ui/components/UploadModal.js) +- [x] Validate updates (Documentation updated with correct technical details) diff --git a/todo/TODO_2026-02-14.md b/todo/TODO_2026-02-14.md new file mode 100644 index 00000000..fb9db7a5 --- /dev/null +++ b/todo/TODO_2026-02-14.md @@ -0,0 +1,5 @@ +- [x] Inventory claims from `content/docs/guides/upload-content.md` +- [x] Verify claims against code +- [x] Update `content/docs/guides/upload-content.md` +- [x] Validate updated documentation +- [x] Create PR