Commit Graph
3835 Commits
Author SHA1 Message Date
google-labs-jules[bot] ee0af68bfd fix: prevent SecurityError in pushState when playing video on local origin
When running the application locally (e.g., `127.0.0.1:5500`) but using a production configuration (`BITVID_WEBSITE_URL` pointing to `bitvid.network`), `playVideoByEventId` would attempt to `pushState` with the production URL. This triggers a browser `SecurityError` due to the origin mismatch, preventing the video modal from opening.

This change adds a check to normalize the `pushUrl`. If the target URL's origin differs from the current window's origin, it falls back to a relative path using `window.location.pathname` combined with the target's search parameters and hash. This ensures `pushState` always receives a safe, same-origin URL regardless of the environment configuration.
2026-01-25 02:33:30 +00:00
thePR0M3TH3AN 4560ca3ca6 Merge pull request #1662 from PR0M3TH3AN/fix-video-modal-display-17175209581181206635
Fix video player modal visibility by removing conflicting CSS rule
2026-01-24 21:19:25 -05:00
google-labs-jules[bot] 8de33b7cb1 fix(ui): remove display:none from #playerModal selector to fix modal visibility
The #playerModal ID selector in `css/tailwind.source.css` incorrectly set `display: none`. This ID selector has higher specificity than the `.hidden` utility class (applied by Tailwind) used by `VideoModal.js` to toggle visibility.

When `VideoModal.js` removed the `.hidden` class to show the modal, the ID selector's `display: none` remained active, keeping the modal hidden.

Also removed the `#playerModal.flex` rule as `.bv-modal` already provides flex behavior.

This fixes the issue where clicking a video card would trigger the logic but fail to display the player.
2026-01-25 02:16:32 +00:00
thePR0M3TH3AN feef662bf8 Merge pull request #1661 from PR0M3TH3AN/feat/s3-quick-upload-4202021437560592801
Add S3 quick upload with presigned manifest support
2026-01-24 20:42:50 -05:00
google-labs-jules[bot] adad6a07a4 feat: Add S3 quick upload with presigned manifest support
- Add `js/s3-quick.js` with `uploadWithManifest` and `uploadWithKeys`.
- Update `components/upload-modal.html` to add "Use presigned manifest" toggle and warning.
- Update `js/ui/components/UploadModal.js` to wire up the manifest upload flow.
- Add local persistence for quick S3 settings (though mainly handled by existing storage settings).
- Ensure keys are only used for client-side uploads or replaced by manifest flow.
2026-01-25 01:38:41 +00:00
thePR0M3TH3AN bc4b2a3321 Merge pull request #1660 from PR0M3TH3AN/fix/ai/providers-undefined-profilemodal-13878465202103731701
fix(ai): resolve PROVIDERS undefined in profileModalController
2026-01-24 20:19:40 -05:00
thePR0M3TH3AN 5b2b50cef7 Merge pull request #1658 from PR0M3TH3AN/fix/share-menu-auth-sync-12408954512497854865
Fix share menu auth state synchronization
2026-01-24 20:19:21 -05:00
thePR0M3TH3AN 6c7b93b60f Merge pull request #1659 from PR0M3TH3AN/ai/triage-todos-20241026-8887713661641391947
Triage TODOs and generate issue drafts
2026-01-24 20:19:00 -05:00
google-labs-jules[bot] b2d5619f78 fix(ai): resolve PROVIDERS undefined in profileModalController (agent)
Import `PROVIDERS` from `../services/storageService.js` in `js/ui/profileModalController.js`.
This fixes a `ReferenceError` when testing or saving generic S3 storage configurations.
The error was caused by using `PROVIDERS.GENERIC` without importing the constant.
2026-01-25 01:14:37 +00:00
google-labs-jules[bot] 82834a18fe chore(ai): triage TODOs and generate issue drafts
- Scanned repo for TODO/FIXME/XXX.
- Found no trivial TODOs in JS sources.
- Found non-trivial TODOs in `tests/visual/moderation.spec.ts` related to headless test environment issues.
- Generated `artifacts/todos.txt` with the findings (filtering out false positives).
- Generated `artifacts/issues.md` with issue drafts for the identified non-trivial TODOs.
2026-01-25 01:13:09 +00:00
google-labs-jules[bot] 70dcfa3ef5 fix: update share menu state on pubkey change 2026-01-25 01:11:34 +00:00
thePR0M3TH3AN 874c29e41e Merge pull request #1657 from PR0M3TH3AN/codex/add-s3-provider-selector-to-upload-modal
Add S3 provider support to upload modal storage settings
2026-01-24 20:00:14 -05:00
thePR0M3TH3AN 999235d71e Add S3 storage option to upload modal 2026-01-24 20:00:00 -05:00
thePR0M3TH3AN e94a410e6c Merge pull request #1656 from PR0M3TH3AN/fix/embed-black-bar-13757505465448233546
Fix embed player layout collapsing by adding embed.html to Tailwind config
2026-01-24 19:52:40 -05:00
google-labs-jules[bot] 0840235798 fix(config): add embed.html to tailwind content config
This fixes a layout issue in the embed player where the body height would collapse to the default video height (150px) because `h-screen` and other utility classes were missing from the generated CSS. Adding `embed.html` to `tailwind.config.cjs` ensures these classes are generated.
2026-01-25 00:51:52 +00:00
thePR0M3TH3AN df2f5b1eed Merge pull request #1655 from PR0M3TH3AN/fix/video-modal-black-bar-126294532786175547
fix: eliminate black bars in video modal player
2026-01-24 19:30:42 -05:00
google-labs-jules[bot] b9f7ffd95e fix: eliminate black bars in video modal player
Enforce full-width/height video display and dynamic object-fit logic to prevent letterboxing and layout gaps.

- Add robust CSS overrides to 'css/tailwind.source.css' to ensure video fills the stage.
- Update 'VideoModal.js' to dynamically switch between 'cover' and 'contain' based on aspect ratio match.
- Handle ambient canvas positioning to prevent layout shifts.
2026-01-25 00:29:52 +00:00
thePR0M3TH3AN bcfe070bbe Merge pull request #1654 from PR0M3TH3AN/agent-weekly-report-3510456207313124861
Weekly Report 2026-01-24
2026-01-24 19:27:44 -05:00
google-labs-jules[bot] a7338ce6d0 docs(ai): weekly synthesis report 2026-01-24 2026-01-25 00:25:04 +00:00
thePR0M3TH3AN 1a86b82fea Merge pull request #1653 from PR0M3TH3AN/fix/embed-video-fill-and-logo-accent-9972861085055590695
fix(embed): resolve video letterboxing and wire logo accent color
2026-01-24 18:58:06 -05:00
google-labs-jules[bot] a708883abb fix(embed): video sizing letterbox and logo accent
- Changed embed video sizing to `object-fit: cover` and `width: 100%` to eliminate black bars/letterboxing.
- Updated `embed.html` and `css/tailwind.source.css` to enforce these styles on `.video-modal__media`, `.video-modal__video`, and `#embedVideo`.
- Wired the embed logo accent color to use the instance configuration (`THEME_ACCENT_OVERRIDES` from `config/instance-config.js`) via a `--bitvid-accent` CSS variable injected in `js/embed.js`.
- Added unit and visual tests to verify styling and configuration logic.
2026-01-24 23:57:29 +00:00
thePR0M3TH3AN 18fa0c3512 Merge pull request #1652 from PR0M3TH3AN/feat/enhance-pr-review-script-11867843121781566388
refactor(agent): use runCommand helper for consistency and reliability
2026-01-24 18:45:50 -05:00
google-labs-jules[bot] d59cb45f8e refactor(agent): use runCommand helper for consistency and reliability
- Update `scripts/agent/review-pr.mjs` to use `runCommand` wrapper for all command executions.
- Increase `maxBuffer` to 10MB to prevent crashes during large test/lint outputs.
- Ensure consistent logging and option handling.
2026-01-24 23:40:20 +00:00
thePR0M3TH3AN 6c122c2fd3 Merge pull request #1651 from PR0M3TH3AN/fix-embed-gap-and-logo-4459649553039133031
fix(embed): transparent video background and correct logo color
2026-01-24 18:36:19 -05:00
google-labs-jules[bot] 4264a1ed0e fix(embed): transparent video background and correct logo color
- Add `bg-transparent` to `#embedVideo` to fix visual gap/letterboxing issues.
- Inline the BitVid logo SVG in `embed.html` and use `bv-logo` class with `data-variant="inverse"` to ensure correct white wordmark and themed accent color on the dark overlay.
2026-01-24 23:35:45 +00:00
thePR0M3TH3AN 3de86b3b4d Merge pull request #1650 from PR0M3TH3AN/ui/embed-overlay-fix-13909911349337846125
Fix embed overlay position and view counter
2026-01-24 18:19:50 -05:00
google-labs-jules[bot] e02f8f48ae Fix embed overlay position and view counter 2026-01-24 23:19:03 +00:00
thePR0M3TH3AN 15898d3175 Merge pull request #1649 from PR0M3TH3AN/embed-fixes-11287616167883311307
fix: Embed player UI and stats loading
2026-01-24 18:03:01 -05:00
google-labs-jules[bot] 9287f91fc1 fix: Embed player UI, stats loading, and share URL
- Remove black background from embed video to allow transparency
- Update "Watch on Bitvid" button to "Watch on" + white logo
- Fix share URL generation to point to main site instead of embed
- Ensure view counts and reactions are subscribed in embed mode
2026-01-24 23:02:33 +00:00
thePR0M3TH3AN a8f924a583 Merge pull request #1648 from PR0M3TH3AN/update-embed-design-974021588342090211
Update Embed Player Design
2026-01-24 17:42:24 -05:00
google-labs-jules[bot] d621e6f21a feat: update embed player design with transparent background and overlay stats
- Removed background colors from `embed.html` for transparency.
- Added a hover-triggered overlay with "Watch on BitVid" button and stats (views, likes, dislikes).
- Updated `js/ui/components/EmbedPlayerModal.js` to implement stats update methods and handle the overlay elements.
- Updated `js/embed.js` to set the share URL on the overlay after video resolution.
- Verified visual changes with Playwright.
2026-01-24 22:41:56 +00:00
thePR0M3TH3AN a9bd7ec79e Merge pull request #1647 from PR0M3TH3AN/debug/embed-forward-logs-11196417843215875731
Debug: forward embed logs to parent when embed_debug=1
2026-01-24 17:30:21 -05:00
google-labs-jules[bot] 439265d9c0 Debug: forward embed logs to parent when embed_debug=1
This commit instruments the embed runtime to forward structured logs and lifecycle events
(Nostr, relay, pointer resolution, playback decision, WebTorrent) to the parent window
via `postMessage` when the `embed_debug=1` query parameter is present.

It also adds a defensive guard to `resetTorrentStats` in `js/app.js` to prevent TypeErrors.

Changes:
- Added `js/embedDiagnostics.js` module.
- Modified `js/embed.js` to initialize diagnostics and instrument startup.
- Modified `js/app.js` to instrument playback fallback and patch `resetTorrentStats`.
- Modified `js/webtorrent.js` to instrument peer probing and streaming.
2026-01-24 22:29:18 +00:00
thePR0M3TH3AN 868d69cef8 Merge pull request #1646 from PR0M3TH3AN/fix/embed-videoModal-resetstats-guard-10508496522559505664
fix: resolve EmbedVideoModal resetStats TypeError in embed mode
2026-01-24 17:10:31 -05:00
google-labs-jules[bot] 981fac785a fix(embed): implement robust EmbedPlayerModal and guard resetTorrentStats
- Add `js/ui/components/EmbedPlayerModal.js` to implement the `VideoModal` interface for embed contexts (including `resetStats`).
- Update `js/ui/ModalManager.js` to detect embed mode and use `EmbedPlayerModal`.
- Clean up `js/embed.js` to remove local modal definition and add `postMessage` diagnostic logging.
- Update `js/app.js` `resetTorrentStats` log message and verify guard.
- Add unit tests for `EmbedPlayerModal` and `resetTorrentStats` logic.
- Add E2E reproduction script `tests/e2e/repro_issue.spec.ts`.
2026-01-24 22:09:03 +00:00
thePR0M3TH3AN d71d2812f4 Merge pull request #1645 from PR0M3TH3AN/fix-embed-crash-and-dupe-init-16752677634800395599
Fix embed player crash and prevent duplicate initialization
2026-01-24 16:43:14 -05:00
google-labs-jules[bot] 2943fbb9f7 Fix embed player crash and prevent duplicate initialization
- Fix `TypeError: this.videoModal.resetStats is not a function` by implementing `resetStats` (no-op) in `EmbedVideoModal` and adding a safety guard in `Application.resetTorrentStats`.
- Prevent duplicate `NostrClient` initialization within the same frame by adding idempotent guards in `js/embed.js` and `js/nostr/client.js`.
- Add documentation (`docs/embed-notes.md`) on embed architecture and recommendations for multi-frame resource sharing (SharedWorker).
- Add regression test `tests/embed_playback_check.spec.mjs`.
2026-01-24 21:42:37 +00:00
thePR0M3TH3AN 62d0a366ee Merge pull request #1644 from PR0M3TH3AN/ai/smoke-tests-20260124-5981020631477844177
chore(ai): add smoke test script (agent)
2026-01-24 16:13:43 -05:00
google-labs-jules[bot] 25b513b094 chore(ai): add smoke test script (agent)
This commit ensures the existence and correctness of `scripts/agent/smoke-test.mjs`, a Playwright-based regression test suite.

The script:
- Starts a local web server (npx serve) and a local relay (simple-relay.mjs).
- Launches a headless browser to interact with the application.
- Verifies key flows:
  - Ephemeral login.
  - Video publishing (Kind 30078).
  - Direct Message (DM) sending and decryption (Kind 4/1059).
- Generates execution logs and summaries in `artifacts/`.

Also ensures `scripts/agent/simple-relay.mjs` is present as a dependency.
2026-01-24 21:12:02 +00:00
thePR0M3TH3AN 0f502a79c2 Merge pull request #1643 from PR0M3TH3AN/fix-embed-modal-buttons-12116875342849342102
Fix unresponsive buttons in Embed Video modal
2026-01-24 15:56:17 -05:00
google-labs-jules[bot] 95cf17e018 fix(ui): unwrap embed modal content to resolve button interaction issues
Refactored `EmbedVideoModal.js` to unwrap the fetched HTML content using a `DocumentFragment` before appending it to the DOM. This removes an unnecessary wrapper `div` that was causing stacking context issues, preventing the modal's buttons (Exit, Close, Copy) from being clickable when layered over other UI elements. This change aligns the implementation with `VideoModal.js`.
2026-01-24 20:50:50 +00:00
thePR0M3TH3AN c4a602651f Merge pull request #1642 from PR0M3TH3AN/ai/dead-code-20241109-12426490253240890993
chore(ai): remove dead code (unused exports & deps)
2026-01-24 15:40:44 -05:00
google-labs-jules[bot] 4a0b81ad98 chore(ai): remove dead code (unused exports & deps) 2026-01-24 20:28:53 +00:00
thePR0M3TH3AN 0e5e6b6fd2 Merge pull request #1641 from PR0M3TH3AN/fix/modal-z-index-regression-2480475608080862168
fix(ui): ensure modals render above video player
2026-01-24 15:16:05 -05:00
google-labs-jules[bot] 6e21247505 fix(ui): ensure modals render above video player
- Adds --z-modal-always-top: 200 token in css/tokens.css
- Adds .modal-always-on-top utility class in css/tailwind.source.css
- Applies class to EventDetailsModal, EmbedVideoModal, and ShareNostrModal
2026-01-24 20:12:04 +00:00
thePR0M3TH3AN 3bfe8d664f Merge pull request #1640 from PR0M3TH3AN/ai/load-test-20260124-3194345285315307704
Add Load Testing Scripts
2026-01-24 14:37:08 -05:00
thePR0M3TH3AN 3cded1bda3 Merge pull request #1639 from PR0M3TH3AN/ai/debug-frontend-20260124-13275558127831455913
fix(ai): frontend console error — double load and lint fixes (agent)
2026-01-24 14:36:40 -05:00
thePR0M3TH3AN 37f5083947 Merge branch 'unstable' into ai/debug-frontend-20260124-13275558127831455913 2026-01-24 14:36:28 -05:00
thePR0M3TH3AN a639887a2d Merge pull request #1636 from PR0M3TH3AN/ai/fuzz-nostrEventSchemas-20241026-8251034504942230718
Fuzz Testing Infrastructure & Crash Fix
2026-01-24 14:35:59 -05:00
thePR0M3TH3AN 029ce974c8 Merge pull request #1635 from PR0M3TH3AN/ds-audit/2024-10-24-5776651930377436842
Design System Audit & Fixes
2026-01-24 14:35:33 -05:00