Commit Graph
41 Commits
Author SHA1 Message Date
google-labs-jules[bot] 083f0c9ecc feat: implement shared LRU cache for video comments and reactions
- Added `js/utils/lruCache.js` with hit/miss tracking.
- Updated `js/nostr/cachePolicies.js` to set 5-minute TTL for comments/reactions.
- Integrated caching and incremental fetching in `js/nostr/commentEvents.js`.
- Implemented `listVideoReactions` in `js/nostr/reactionEvents.js` with caching logic.
2026-01-17 22:15:46 +00:00
google-labs-jules[bot] 4e840c6159 feat: improve magnet link reliability with webseeds
- Update `UploadModal.js` to pre-calculate R2 keys and public URLs before upload.
- Update `torrentHash.js` to embed the calculated video URL as a webseed (`url-list`) in the `.torrent` file.
- Update `r2Service.js` to accept forced keys/URLs and append `&xs=` (pointing to the .torrent file) to the magnet link.
- Ensures magnet links work for peerless downloads via WebSeed (BEP19) and HTTP Seeding (BEP17).
2026-01-15 13:26:27 +00:00
thePR0M3TH3AN 6262a3cb37 Add torrent metadata upload for R2 videos 2026-01-14 21:28:57 -05:00
thePR0M3TH3AN b48edbb055 Refactor inline styles to CSS rules 2026-01-13 21:13:32 -05:00
thePR0M3TH3AN 4c4f57c6e5 Replace inline styles with classes 2026-01-13 20:29:38 -05:00
google-labs-jules[bot] 7dc2977cf2 Update Cloudflare R2 upload to use minimal permissions and add progress bar
- Removed requirement for Cloudflare API Token, Zone ID, and Worker Token from Upload Modal and R2Service.
- Simplified R2 configuration to require only Account ID, S3 Access Keys, and a user-provided Public Bucket URL.
- Added a read-only field in Upload Modal displaying the derived target bucket name (npub-based) for user reference.
- Implemented client-side torrent info hash calculation using `WebTorrent` (via `js/utils/torrentHash.js`) to generate magnet links before upload.
- Added a visual upload progress bar to the Upload Modal.
- Updated `js/r2.js` to ensure the Public Bucket URL always includes the `https://` protocol.
2026-01-12 18:53:22 +00:00
google-labs-jules[bot] 1d3c827f62 Fix: prevent published date reset when editing videos and show edited status
Prioritize `published_at` metadata over event `created_at` timestamp.
Backfill `published_at` during edit if missing to preserve original date.
Add "(edited)" label to video cards for modified content.
Display "Last Edited: [Date]" on video player modal.
2026-01-12 15:35:23 +00:00
thePR0M3TH3AN 3996986e63 Remove nostr shim and retarget imports 2026-01-06 15:32:21 -05:00
google-labs-jules[bot] f9ce798332 Prioritize d tag in video pointer resolution
When creating address pointers (`a` tags) for watch history, `resolveVideoPointer` was incorrectly prioritizing `videoRootId` over the actual NIP-33 `d` tag. If these values differed (common in newly published videos), the resulting pointer would reference a non-existent identifier, causing subsequent hydration to fail.

This change swaps the order to prioritize the `d` tag, ensuring watch history entries use the correct addressable identifier.
2026-01-06 14:27:26 +00:00
google-labs-jules[bot] e6a6ea6f78 Fix watch history hydration by preserving relay hints
Ensures that the relay hint is preserved when recording a video view, allowing the hydration logic to fetch the video details from the correct relay.
- Updated `resolveVideoPointer` in `js/utils/videoPointer.js` to accept a `relay` argument.
- Updated `playVideoByEventId`, `checkUrlParams`, and `deriveVideoPointerInfo` in `js/app.js` to pass the relay hint when resolving the video pointer.
2026-01-06 14:12:59 +00:00
thePR0M3TH3AN 8a4e4754f2 Revert "fix(logs): suppress dm sync spam and allow local image paths" 2026-01-05 21:26:32 -05:00
google-labs-jules[bot] 5ed5554f51 fix(logs): suppress dm sync spam and allow local image paths 2026-01-05 21:23:32 +00:00
thePR0M3TH3AN 735d67313c Add shared hex normalization for comment flows 2025-12-12 13:42:15 -05:00
thePR0M3TH3AN 41d751904f Include event pointer tags for reactions 2025-10-29 22:14:20 -04:00
thePR0M3TH3AN d235839e22 Fix video deduper timestamp comparison 2025-10-27 09:57:12 -04:00
thePR0M3TH3AN 54d321d4c7 Add comment thread service with profile hydration and shared video pointer 2025-10-24 15:09:11 -04:00
thePR0M3TH3AN 73d58e0981 Propagate video tags into modal metadata updates 2025-10-23 13:31:30 -04:00
thePR0M3TH3AN 8f5d402386 Add video tag collection helper and tests 2025-10-23 11:19:42 -04:00
thePR0M3TH3AN 407d02d12a Fix nip46 handshake UI and guard QR stubs 2025-10-21 20:28:35 -04:00
thePR0M3TH3AN 6d7d5fc7ff Fix admin cache hydration cycle and guard QR code Android detection 2025-10-21 19:47:05 -04:00
thePR0M3TH3AN 386ad854d2 Add client-first NIP-46 handshake flow 2025-10-21 19:25:26 -04:00
thePR0M3TH3AN e442b9d31c Add moderation threshold logging 2025-10-20 11:51:53 -04:00
thePR0M3TH3AN 35a583160b Handle partial relay profile fetch failures 2025-10-19 14:01:40 -04:00
thePR0M3TH3AN 812203c799 Use consistent short npub display 2025-10-18 09:48:16 -04:00
thePR0M3TH3AN c6500d6b7a Improve channel banner sanitization 2025-10-17 10:03:50 -04:00
thePR0M3TH3AN 78ce75ef62 Handle WebTorrent fallback without service worker 2025-10-15 14:54:24 -04:00
thePR0M3TH3AN 7ae07b1369 refactor: migrate console usage to shared loggers 2025-10-15 14:37:25 -04:00
thePR0M3TH3AN f91c3dd8ed Fix logger exports to avoid redeclaration 2025-10-15 12:33:31 -04:00
thePR0M3TH3AN 44b8764e19 Add shared logger utility 2025-10-15 11:31:05 -04:00
thePR0M3TH3AN d705cf176b Revert "Refactor logging to centralized logger" 2025-10-15 11:14:10 -04:00
thePR0M3TH3AN 37ba57aa37 Refactor logging to centralized logger 2025-10-15 11:11:14 -04:00
thePR0M3TH3AN f286b10896 Add helper to manage video card source visibility 2025-10-15 07:39:44 -04:00
thePR0M3TH3AN cb9796f5f1 Refactor media loader to avoid dynamic styles 2025-10-14 08:07:34 -04:00
thePR0M3TH3AN 92794d47dc refactor: centralize styling system usage 2025-10-12 16:31:13 -04:00
thePR0M3TH3AN 96bbeef040 Fix lazy thumbnail load completion 2025-10-09 20:17:06 -04:00
thePR0M3TH3AN f9e2b975d1 Synchronize modal and card posted timestamps 2025-10-08 21:35:26 -04:00
thePR0M3TH3AN 0addd59226 feat: prioritize video root pointer for view tracking 2025-10-08 17:50:03 -04:00
thePR0M3TH3AN 004c6426a8 Stop obfuscating private magnets 2025-10-08 09:31:33 -04:00
thePR0M3TH3AN cf34e28a47 Refactor app orchestrator into Application with dependency injection 2025-10-03 21:10:22 -04:00
thePR0M3TH3AN 2e6e7012a6 Refactor shared helpers into utility modules 2025-10-02 21:33:56 -04:00
thePR0M3TH3AN c2c7f6445d refactor: centralize safe decode helpers 2025-10-02 12:48:24 -04:00