Commit Graph
73 Commits
Author SHA1 Message Date
Claude d0a6c9622b feat: add Playwright agent testability infrastructure
Add test harness (window.__bitvidTest__), data-testid attributes, relay
override support, and Playwright fixtures so agents can programmatically
login, seed relay data, and inspect app state during E2E testing.

- js/testHarness.js: exposes loginWithNsec, getAppState, relay overrides
- data-testid attrs on login/upload/video modals, header buttons, feed
- simple-relay.mjs: HTTP seeding API (POST /seed, GET /events, /health)
- bitvidTestFixture.ts: reusable Playwright fixture with mock relay
- agent-testability.spec.ts: E2E tests validating the infrastructure

https://claude.ai/code/session_01XnrszNmdqrAGd8g8qhAn4G
2026-02-10 05:09:46 +00:00
google-labs-jules[bot]andPR0M3TH3AN 0ac1def5c2 Optimize avatar image loading with lazy and async attributes
Added `loading="lazy"` and `decoding="async"` to author avatar images in `VideoCard.js` and the creator avatar in `video-modal.html`. This aligns these components with `SimilarContentCard.js` and `VideoCard` thumbnails, improving initial page load performance and reducing main-thread blocking by deferring off-screen image loading and decoding.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-04 16:50:23 +00:00
thePR0M3TH3AN 1709972f14 Add embed action to video modal 2026-01-23 15:24:09 -05:00
google-labs-jules[bot] bd868fb7ea Refactor video modal sharing options into a unified Share menu
- Replaced the standalone "Copy Magnet" button and "Share" button with a new Share menu.
- Implemented `createVideoShareMenuPanel` to render the new menu with "Copy URL", "Share on Nostr", "Copy Magnet", and "Copy CDN Link" options.
- Updated `VideoModal.js` to manage the share menu state and handle actions.
- Added `video:share-nostr` and `video:copy-cdn` event handlers in `app.js`.
- Removed the `#copyMagnetBtn` element from `video-modal.html`.
- Preserved existing functionality for "Copy URL" and "Copy Magnet".
- "Share on Nostr" is currently a placeholder logging a message, disabled for logged-out users.
- "Copy CDN Link" is disabled if no URL is available.
2026-01-22 04:17:29 +00:00
thePR0M3TH3AN 0eacbd1063 Add cached link previews with privacy toggle 2026-01-19 13:06:50 -05:00
google-labs-jules[bot] e3b5d95e23 Fix visibility of CDN/P2P toggle in video modal
Moved the `.video-modal__source-toggle-container` out of the `.video-modal__stats` container (which is hidden when not in P2P mode) to a permanent location in the modal layout. This ensures the toggle remains visible regardless of the active playback source, allowing users to switch between CDN and P2P even if the P2P stats panel is hidden. The toggle logic in `VideoModal.js` correctly handles the visibility of the toggle buttons themselves based on source availability.
2026-01-15 01:39:20 +00:00
google-labs-jules[bot] 6c3ac4d49f Implement video source toggle (CDN vs P2P)
- Added source toggle UI in `components/video-modal.html`.
- Updated `VideoModal.js` to manage toggle visibility (only when both URL and Magnet exist), update peer/server counts, and dispatch `playback:switch-source` events.
- Updated `PlaybackService.js` to support a `forcedSource` option, allowing bypassing of the URL probe when "torrent" is forced.
- Updated `app.js` to listen for the toggle event and re-initialize playback with the forced source preference.
- Updated `tests/ui/helpers/jsdom-test-helpers.mjs` to expose necessary globals for JSDOM testing.
- Verified functionality with targeted updates and existing unit tests.
2026-01-14 21:18:46 +00:00
thePR0M3TH3AN 4c4f57c6e5 Replace inline styles with classes 2026-01-13 20:29:38 -05:00
google-labs-jules[bot] 0772d2fa09 Refactor Video Modal moderation UI to a persistent bar above the player. 2026-01-13 14:12:14 +00:00
google-labs-jules[bot] 1f47e161d4 Refactor Video Card and Modal layout to move view counts and use icons.
- Moved view count and comments to a new bottom engagement section in `VideoCard.js`.
- Replaced text labels with Eye and Message SVG icons in `VideoCard.js`.
- Updated `video-modal.html` to include an Eye icon for the view count.
- Refactored `VideoModal.js` to update only the text node for view counts, preserving the icon.
- Removed "views" text suffix in favor of a cleaner numeric display.
2026-01-12 21:01:47 +00:00
thePR0M3TH3AN c3fc375cc1 update 2025-11-03 15:22:07 -05:00
thePR0M3TH3AN 065dafff88 Add restore-default moderation control 2025-10-26 11:13:37 -04:00
thePR0M3TH3AN 31cb2821e4 Keep moderation actions inline and add hide toggle 2025-10-25 22:32:34 -04:00
thePR0M3TH3AN 44da2d19a4 Update trusted mute autoplay copy 2025-10-25 21:59:59 -04:00
thePR0M3TH3AN 489638e882 Refine moderation badge layout 2025-10-25 21:28:30 -04:00
thePR0M3TH3AN 5b65d51262 Expand video modal moderation tests 2025-10-25 18:28:13 -04:00
thePR0M3TH3AN a642eb86d4 Refine video modal similar content layout 2025-10-24 22:14:43 -04:00
thePR0M3TH3AN 0acdba0b73 Adjust video modal comments and torrent stats 2025-10-24 16:36:19 -04:00
thePR0M3TH3AN 28d0607f29 Add comment thread scaffold to video modal 2025-10-24 15:14:32 -04:00
thePR0M3TH3AN 50b83c4dfe Refine video modal layout 2025-10-24 13:38:33 -04:00
thePR0M3TH3AN b6eb3ff292 Adjust video modal layout for similar content column 2025-10-23 19:56:38 -04:00
thePR0M3TH3AN bfc691388b Add similar content module to player modal 2025-10-23 15:51:27 -04:00
thePR0M3TH3AN 9cb22e2fce Add video tags container to modal details 2025-10-23 13:11:44 -04:00
thePR0M3TH3AN 4e108f3e43 Align video modal reactions row 2025-10-23 10:06:41 -04:00
thePR0M3TH3AN bbfb764f8f Amplify video modal ambient glow 2025-10-22 13:53:49 -04:00
thePR0M3TH3AN 65b97ef6ad Refine video modal ambient glow 2025-10-22 13:39:08 -04:00
thePR0M3TH3AN cb88a79590 Add ambient glow to video modal 2025-10-22 13:03:37 -04:00
thePR0M3TH3AN 6185426c82 Refactor video modal navigation structure 2025-10-19 19:37:03 -04:00
thePR0M3TH3AN 44f10a6f2a Fix video modal description link wrapping 2025-10-19 17:45:21 -04:00
thePR0M3TH3AN 77052fed7c Ensure Nostr profile avatars remain circular 2025-10-18 15:00:08 -04:00
thePR0M3TH3AN 255696ffa5 Remove video modal context and home link 2025-10-18 14:48:35 -04:00
thePR0M3TH3AN 1e898439d8 Align video modal nav buttons with accent styling 2025-10-18 09:59:45 -04:00
thePR0M3TH3AN 095c90d728 Themed action buttons for video controls 2025-10-18 09:44:16 -04:00
thePR0M3TH3AN 0c4e0a051b Refactor video modal popovers 2025-10-16 12:23:25 -04:00
thePR0M3TH3AN a8280b0f81 chore: define modal layout tokens 2025-10-14 19:11:15 -04:00
thePR0M3TH3AN 3aafef72b7 Add layout width tokens and utilities 2025-10-14 16:48:29 -04:00
thePR0M3TH3AN 11b30b3a14 Refactor progress meters to semantic components 2025-10-14 07:07:02 -04:00
thePR0M3TH3AN 22995594a5 Refine player modal styles 2025-10-13 20:32:44 -04:00
thePR0M3TH3AN bda1c2ef2d Restyle player modal navigation bar 2025-10-13 20:10:08 -04:00
thePR0M3TH3AN afbdc3d866 Refine video modal layout spacing 2025-10-13 20:03:13 -04:00
thePR0M3TH3AN 5ad74a26bf Rework video modal layout and gating 2025-10-12 17:32:43 -04:00
thePR0M3TH3AN 92794d47dc refactor: centralize styling system usage 2025-10-12 16:31:13 -04:00
thePR0M3TH3AN af1cb24027 Refactor styling to rely on design system 2025-10-12 14:32:29 -04:00
thePR0M3TH3AN 3f1238b5a9 Remove legacy CSS and enable design system by default 2025-10-12 06:58:50 -04:00
thePR0M3TH3AN fb04f92ea2 Improve video modal nav safe area and mobile layout 2025-10-11 19:09:04 -04:00
thePR0M3TH3AN 89e7e2f3e0 Adjust video modal sticky breakpoints 2025-10-11 17:56:19 -04:00
thePR0M3TH3AN 8265f9e2de Add design system feature flag and runtime integration 2025-10-11 16:11:43 -04:00
thePR0M3TH3AN badcfc6944 Refactor zap popovers and more menus 2025-10-10 22:52:58 -04:00
thePR0M3TH3AN a8cb21d20c Refactor modal styles to tokenized palette 2025-10-10 22:26:19 -04:00
thePR0M3TH3AN 5bc6d4e51e Refine video modal utilities 2025-10-10 10:34:53 -04:00