Commit Graph
45 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN b28e62963f perf: Batch video timestamp resolution to reduce N+1 network requests
- Implemented `hydrateVideoHistoryBatch` in `NostrClient` to fetch missing root events and sparse histories in a single `pool.list` request.
- Refactored `hydrateVideoHistory` to use shared helper methods `getLocalVideoHistory` and `_processAndCacheEvent`.
- Added `resolveVideoPostedAtBatch` to `PlaybackCoordinator` which delegates to the batched client method.
- Updated `VideoListView` to collect videos needing timestamp resolution and call the batch method, falling back to individual calls if necessary.
- Added regression test `tests/performance/resolvePostedAt.test.mjs` to verify reduced network calls.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-11 12:01:39 +00:00
thePR0M3TH3AN c3e986c9d3 Improve relay hygiene and count status 2026-01-29 09:58:35 -05:00
thePR0M3TH3AN 419a3f419c Add storage pointer tags to video posts 2026-01-26 22:07:32 -05:00
google-labs-jules[bot] 31751579a3 Fix: prevent thumbnail cache from being cleared on empty video lists
This commit addresses an issue where thumbnail images would "drop" (disappear/flicker) upon login or re-initialization of the video list.

Changes:
- Modified `js/ui/views/VideoListView.js` to add a guard clause in `cleanupThumbnailCache`.
- The function now returns early if the provided `videos` list is empty, preserving the existing `loadedThumbnails` cache during transient loading states.

Verification:
- Created a reproduction script (`reproduce_issue.mjs`) that confirmed the cache was being cleared on empty input.
- Verified the fix with the same script, ensuring the cache is preserved.
- Verified no regression in `npm run lint:hex` and `npm run lint:inline-styles`.
2026-01-25 17:44:21 +00:00
thePR0M3TH3AN 475f678681 Harden tag preference activation for popular tags 2026-01-22 20:16:24 -05:00
thePR0M3TH3AN d7434c5a98 Add scrollable tag strip option 2026-01-22 19:54:12 -05:00
thePR0M3TH3AN f91a35d89e Update tag strip activation payload 2026-01-22 19:48:56 -05:00
thePR0M3TH3AN a3a49742ca Refactor popular tag strip rendering 2026-01-22 19:44:09 -05:00
thePR0M3TH3AN 4e6ace408c Preserve explore feed ordering 2026-01-22 19:23:57 -05:00
thePR0M3TH3AN ebd825fb37 Add webseed-only status to WebTorrent probes 2026-01-15 09:37:25 -05:00
thePR0M3TH3AN aff9d11d25 Trim popular tag pills to container width 2025-10-30 16:44:02 -04:00
thePR0M3TH3AN 3ef44a6651 Hydrate video cards with cached creator identity 2025-10-27 19:03:31 -04:00
thePR0M3TH3AN 57a1587ab5 Sort video grid by original posted time 2025-10-26 12:11:53 -04:00
thePR0M3TH3AN 31cb2821e4 Keep moderation actions inline and add hide toggle 2025-10-25 22:32:34 -04:00
thePR0M3TH3AN ba6b56dc26 Switch moderation hide flows to block 2025-10-25 21:54:31 -04:00
thePR0M3TH3AN 2daffd0354 Fix admin cache hydration timing and video moderation handler 2025-10-25 17:46:57 -04:00
thePR0M3TH3AN 6144a84f7b Merge branch 'unstable' into codex/extend-tag-pill-rendering-and-add-menu-component 2025-10-25 17:29:39 -04:00
thePR0M3TH3AN 2b7097b5f2 Add tag preference menu and state handling 2025-10-25 17:25:46 -04:00
thePR0M3TH3AN 25f190aa90 Extend trusted mute moderation controls 2025-10-25 17:03:29 -04:00
thePR0M3TH3AN 876020b90f Add popular tag strip support to recent videos 2025-10-23 15:13:05 -04:00
thePR0M3TH3AN 0ec7c5e76c Add moderation overrides to video cards 2025-10-17 16:24:42 -04:00
thePR0M3TH3AN c40187f09f Align CDN health badge checking icon with torrent badge 2025-10-17 10:05:18 -04:00
thePR0M3TH3AN 4bba633332 Toggle card popovers when re-clicked 2025-10-16 22:56:30 -04:00
thePR0M3TH3AN b3d4220153 Preserve focus opt-out when closing video menus 2025-10-16 18:16:55 -04:00
thePR0M3TH3AN 7ef16cd004 Refactor video menus to overlay popovers 2025-10-16 11:33:31 -04:00
thePR0M3TH3AN 1d48358922 Refactor more menu controller to use popover engine 2025-10-16 11:07:23 -04:00
thePR0M3TH3AN 7ae07b1369 refactor: migrate console usage to shared loggers 2025-10-15 14:37:25 -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 e767316501 feat: add semantic color palette and lint guard 2025-10-14 15:18:02 -04:00
thePR0M3TH3AN 8265f9e2de Add design system feature flag and runtime integration 2025-10-11 16:11:43 -04:00
thePR0M3TH3AN 18b1972fd8 Remove video card shim classes 2025-10-11 15:14:17 -04:00
thePR0M3TH3AN badcfc6944 Refactor zap popovers and more menus 2025-10-10 22:52:58 -04:00
thePR0M3TH3AN 3df86a7630 Add accessibility wiring for modals 2025-10-10 22:12:05 -04:00
thePR0M3TH3AN 16cb69021d Improve video modal accessibility handling 2025-10-10 11:08:21 -04:00
thePR0M3TH3AN 85258e27ea Respect NSFW flag while letting authors review their uploads 2025-10-09 22:58:07 -04:00
thePR0M3TH3AN 259b493a20 Add NSFW and kids flags to video schema 2025-10-09 22:22:38 -04:00
thePR0M3TH3AN e2935c23fd Cache health badge state to avoid re-flashing 2025-10-09 20:31:40 -04:00
thePR0M3TH3AN 4ed5c97678 Refactor discussion counts into dedicated service 2025-10-09 12:51:34 -04:00
thePR0M3TH3AN 0434401596 Show original posted timestamp for videos 2025-10-08 21:21:44 -04:00
thePR0M3TH3AN 31cad16403 feat: highlight private videos for owners 2025-10-08 09:47:44 -04:00
thePR0M3TH3AN d53ce6742a Hide private videos from non-owners 2025-10-08 09:41:38 -04:00
thePR0M3TH3AN 4a588ed5d5 Integrate feed engine into recent video flow 2025-10-04 16:36:00 -04:00
thePR0M3TH3AN ad58ff04a3 Refactor video UI component orchestration 2025-10-03 19:58:21 -04:00
thePR0M3TH3AN b46135cd36 Refactor video list rendering into dedicated view 2025-10-03 16:35:32 -04:00