Commit Graph
32 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN a829cd95ca Refactor hardcoded feed identifiers to use constants
Introduced FEED_TYPES constants in js/constants.js and updated js/app/authSessionCoordinator.js, js/hashChangeHandler.js, js/viewManager.js, and js/app/feedCoordinator.js to use them. This improves maintainability and reduces the risk of typos in feed view names.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-07 21:59:37 +00:00
google-labs-jules[bot] 7921ab6a2e feat(playback): add configurable timeout for initial playback start
Introduces a race condition between the primary playback source (URL or Torrent) and a configurable timeout. If the primary source fails to reach the 'playing' state within the timeout window, the system automatically falls back to the alternative source.

- Adds `DEFAULT_PLAYBACK_START_TIMEOUT` to instance config (3000ms).
- Updates `PlaybackService` to implement timeout logic using `withTimeout` wrapper.
- Ensures proper cleanup of stalled attempts (resetting video element, destroying torrent client).
2026-01-26 15:55:11 +00:00
google-labs-jules[bot] c22037a575 feat: make default playback source configurable
- Added `DEFAULT_PLAYBACK_SOURCE` to `config/instance-config.js` to allow choosing between "url" (default) and "torrent" priority.
- Updated `js/constants.js` to derive `URL_FIRST_ENABLED` flag from the configuration.
- Refactored `PlaybackService.execute()` in `js/services/playbackService.js` to robustly support "Torrent First" logic with fallback to URL, while maintaining "URL First" with fallback to Torrent.
- Added unit tests in `tests/services/playbackService_order.test.mjs` to verify playback order and fallback mechanics.
2026-01-26 15:13:56 +00:00
google-labs-jules[bot] 4a0b81ad98 chore(ai): remove dead code (unused exports & deps) 2026-01-24 20:28:53 +00:00
thePR0M3TH3AN 954a1ae4e6 Enable search filters flag in dev mode 2026-01-23 14:16:43 -05:00
thePR0M3TH3AN f3db9e7630 Add search filters feature flag 2026-01-23 13:54:23 -05:00
google-labs-jules[bot] c076cd9684 fix(ai): frontend console error — remove broken tracker (agent)
- Remove `wss://open.video.lukewarlow.uk:443/announce` from `DEFAULT_WSS_TRACKERS` in `js/constants.js`.
- This tracker was returning `net::ERR_SSL_PROTOCOL_ERROR`, causing console noise and connection failures.
- Added `scripts/agent/debug_frontend.py` to help diagnose frontend initialization errors.

Verified with `scripts/agent/debug_frontend.py` that the error is resolved.
Ran `npm run format`, `npm run lint`, and `npm run test:unit`.
2026-01-22 18:23:20 +00:00
google-labs-jules[bot] 1a352a199d feat: improve webtorrent reliability and update tracker lists
- Increased tracker timeout to 6000ms and concurrency to 6 in `js/trackerConfig.js`
- Increased trackers per magnet check to 10 to ensure better peer discovery
- Added new reliable public WebSocket trackers to `DEFAULT_WSS_TRACKERS` in `js/constants.js`
- Verified configuration changes with `tests/verify_tracker_config.mjs`
2026-01-21 20:58:50 +00:00
google-labs-jules[bot] e2b05314e2 fix(ai): frontend console error — remove broken trackers (agent) 2026-01-21 18:38:53 +00:00
google-labs-jules[bot] 146719a32b Fix block/mute list conflict and update trust thresholds
- Refactored `js/userBlocks.js` to merge Kind 10000 and Kind 30002 events on load, preventing overwritten mutes.
- Updated `js/constants.js` to set `DEFAULT_TRUSTED_MUTE_HIDE_THRESHOLD` to 4, enabling soft-hide (blur) behavior for lower mute counts.
2026-01-11 18:58:55 +00:00
google-labs-jules[bot] 4df81f7f19 Remove legacy V1 magnet and unstructured event support
Removed the `ACCEPT_LEGACY_V1` flag and associated logic that supported parsing magnet links from unstructured text notes or tags, as well as support for video events with version < 2.
This simplifies `js/videoEventUtils.js` and `js/nostr/nip71.js`, and removes legacy regex scanning.
Deleted `tests/legacy-infohash.test.mjs` which tested this deprecated functionality.
2026-01-06 21:34:19 +00:00
thePR0M3TH3AN bc8bfd1ed5 Remove legacy view filter flag 2026-01-06 15:36:37 -05:00
thePR0M3TH3AN 043648fc62 Refresh WebTorrent tracker defaults 2025-11-03 20:34:40 -05:00
thePR0M3TH3AN 5d31366c79 Restore comment bootstrap and guard admin cache hydration 2025-11-03 20:19:45 -05:00
thePR0M3TH3AN 4a70adcd1c Fix default flags syntax regression 2025-11-03 19:21:18 -05:00
thePR0M3TH3AN c5eda532df feat: improve comment persistence on reload via union filters and caching
- Introduce FEATURE_IMPROVED_COMMENT_FETCHING flag (default: true in unstable)
- Enhance createVideoCommentFilters to include comprehensive union of legacy (#e/#a) and uppercase (#E/#A/#I/#K/#P) tags for NIP-22 compliance, reducing misses in mixed-relay propagation
- Add localStorage caching (5min TTL) in CommentThreadService.fetchThread for fast loads post-reload; includes getCachedComments, cacheComments, and clearCommentCache
- Force full-history re-fetch in VideoModalCommentController.load with retry logic if low count, plus background refresh after 1s
- Bootstrap cache warm-up for recent videos on bitvidApp init (tracks via localStorage recentVideos list)

Fixes: Comments posted not reloading in video modal (root cause: incomplete filters + no persistence)
Closes: #N/A (internal fix)
QA: Verified post → reload → modal open shows comments via cache/query; no regressions in threading/UI
Rollout: Gated by flag; rollback by setting false + clear localStorage (^comments: keys)
2025-11-03 15:46:12 -05:00
thePR0M3TH3AN 372cb8ca6f Add hashtag preference schema and feature flag 2025-10-25 15:28:15 -04:00
thePR0M3TH3AN 51fe972d6c Source default trust seeds from instance config 2025-10-24 23:06:25 -04:00
thePR0M3TH3AN c575f48a81 Align moderation defaults with instance config 2025-10-24 21:36:10 -04:00
thePR0M3TH3AN 49a0ccf2b7 Add trusted hide thresholds to moderation settings 2025-10-20 19:21:13 -04:00
thePR0M3TH3AN 123431ea7f Seed trusted moderation contacts 2025-10-20 15:07:20 -04:00
thePR0M3TH3AN 0faada2b69 Enable watch history v2 by default 2025-10-15 22:59:12 -04:00
thePR0M3TH3AN 39d8cee81a Remove design system flag and update tests 2025-10-14 20:16:38 -04:00
thePR0M3TH3AN 3f1238b5a9 Remove legacy CSS and enable design system by default 2025-10-12 06:58:50 -04:00
thePR0M3TH3AN 8265f9e2de Add design system feature flag and runtime integration 2025-10-11 16:11:43 -04:00
thePR0M3TH3AN 62fe113bf4 Add NIP-71 video builder and dual publish workflow 2025-10-04 21:14:41 -04:00
thePR0M3TH3AN 6cfaf38ce1 Gate watch history v2 behind runtime flag 2025-10-02 15:19:55 -04:00
thePR0M3TH3AN 97a8ff814e feat: add watch history service and integrate playback flush 2025-10-02 13:58:42 -04:00
thePR0M3TH3AN 7510ad2574 Update default WSS trackers 2025-10-01 20:02:44 -04:00
thePR0M3TH3AN 09c8e275c4 Add client-side guard for view event publishing 2025-10-01 15:53:23 -04:00
thePR0M3TH3AN fbd6fa4121 feat: add runtime-toggable playback constants 2025-09-24 22:34:12 -04:00
thePR0M3TH3AN 52ecb76ac9 refactor: centralize tracker constants 2025-09-24 14:45:08 -04:00