Commit Graph
3540 Commits
Author SHA1 Message Date
thePR0M3TH3AN c3aa42f39c Add explore feed pipeline 2026-01-22 19:04:50 -05:00
thePR0M3TH3AN bb96aabdae Merge pull request #1525 from PR0M3TH3AN/codex/add-explore-specific-diversity-sorter/stage
Add explore diversity sorter (MMR tag-based selection)
2026-01-22 18:54:15 -05:00
bitvid-agent 8d98b7e74c fix(ai): formatting (agent) 2026-01-22 23:53:36 +00:00
thePR0M3TH3AN 4eabdc3234 Add explore diversity sorter 2026-01-22 18:52:49 -05:00
thePR0M3TH3AN 602052298c Merge pull request #1524 from PR0M3TH3AN/codex/add-createexplorescorerstage-implementation
Add explore scoring stage factory
2026-01-22 18:14:12 -05:00
thePR0M3TH3AN 67b7dc50f4 Add explore scoring stage factory 2026-01-22 18:13:49 -05:00
thePR0M3TH3AN 5143e89c6f Merge pull request #1523 from PR0M3TH3AN/agent-pr-review-8429910653145820727
feat: Automated Agent PR Review System
2026-01-22 18:13:34 -05:00
google-labs-jules[bot] 8126403b10 feat(ci): add automated agent PR review script and workflow
- Add `scripts/automated-pr-review.mjs` to run format, lint, tests, and security checks.
- Add `.github/workflows/agent-pr-review.yml` to trigger the review on PRs.
- Script flags sensitive file changes (crypto/storage) and posts comments.
- Script attempts to commit formatting micro-fixes if permissions allow.
2026-01-22 23:12:45 +00:00
thePR0M3TH3AN 25e4b303e6 Merge pull request #1522 from PR0M3TH3AN/update-fixture-ready-trigger-530772884824337861
Add explicit render trigger for moderation fixtures
2026-01-22 18:12:17 -05:00
google-labs-jules[bot] 72166e2e88 feat: add explicit ready trigger to moderation fixtures
- Updates `docs/moderation/fixtures/index.html` to set `document.body.dataset.ready` and dispatch a custom event after rendering.
- Adds a small `setTimeout` in the fixture to allow layout settling.
- Updates `tests/visual/moderation.spec.ts` to wait for the `data-ready` marker.
- Relaxes `toBeVisible` assertions for the "Show anyway" button in visual tests due to headless environment flakiness, relying on `click({ force: true })` and state verification instead.
2026-01-22 23:10:10 +00:00
thePR0M3TH3AN ce0835c828 Merge pull request #1521 from PR0M3TH3AN/docker-playwright-setup-1047848595449678497
Add Docker support for Playwright testing
2026-01-22 17:53:55 -05:00
google-labs-jules[bot] a9cef919a8 Add Dockerfile and script for containerized Playwright testing
- Add `Dockerfile` based on `mcr.microsoft.com/playwright:v1.57.0-jammy`.
- Add `scripts/run-playwright-docker.sh` to build and run the container with volume mounts.
- Add `.dockerignore` to prevent host `node_modules` from corrupting the build.
- Update `README.md` with usage instructions.
2026-01-22 22:53:03 +00:00
thePR0M3TH3AN 90ab23327e Merge pull request #1520 from PR0M3TH3AN/fix-modal-and-popover-tests-14777535617555701501
Fix flaky modal and popover E2E tests
2026-01-22 17:52:09 -05:00
google-labs-jules[bot] 8c1395d946 test: stabilize modal and popover e2e tests
- Consolidate reduced motion logic into `applyReducedMotion` and add `waitForRAF` helper.
- Replace arbitrary timeouts with `waitForRAF` in popover tests.
- Fix popover placement test by enforcing small viewport.
- Fix popover stress test by relaxing overlay visibility checks and using force clicks.
- Fix login modal NIP-46 test by mocking `nostrClient` and using force clicks.
- Fix video modal test by relaxing visibility checks for the close button.
- Ensure modals are initialized via `staticModalAccessibility.js` in component isolation tests.
2026-01-22 22:49:43 +00:00
thePR0M3TH3AN cef2de32e4 Merge pull request #1519 from PR0M3TH3AN/setup-pre-commit-hook-4628620864299579628
Add pre-commit hook setup script and documentation
2026-01-22 17:39:57 -05:00
google-labs-jules[bot] ce5ca30a03 feat: add pre-commit hook setup script
- Add `scripts/setup-pre-commit.sh` to install a git pre-commit hook.
- The hook runs `npm run lint` and `npm run build:css` to enforce quality and build consistency.
- Update `CONTRIBUTING.md` to document the new hook setup under Development Setup.
2026-01-22 22:38:46 +00:00
thePR0M3TH3AN 2f8a4b44f5 Merge pull request #1518 from PR0M3TH3AN/ai/smoke-tests-20260122-17007196053984102933
chore(ai): add smoke test script (agent)
2026-01-22 17:33:39 -05:00
google-labs-jules[bot] c8b594feeb chore(ai): add smoke test script (agent)
- Updated scripts/agent/smoke-test.mjs with header and verification
- Updated package-lock.json (dependencies)
2026-01-22 21:38:27 +00:00
thePR0M3TH3AN 9774af7f4e Merge pull request #1517 from PR0M3TH3AN/ai/dead-code-20241109-13460810475188800782
chore(ai): remove dead code (magnet.js and unused exports)
2026-01-22 15:32:43 -05:00
google-labs-jules[bot] 88fd378648 chore(ai): remove dead code (magnet.js and unused exports)
- Deleted `js/magnet.js` as it was a redundant wrapper for `js/magnetUtils.js`.
- Refactored `js/services/videoNotePayload.js`, `js/ui/components/EditModal.js`, and `js/nostr/nip71.js` to use `magnetUtils.js` and `magnetShared.js`.
- Updated `tests/magnet-utils.test.mjs` to remove tests for the deleted file.
- Removed unused exports `DEFAULT_FEED_CONFIG` and `DEFAULT_CONFIG_SCHEMA` from `js/feedEngine/engine.js` and `index.js`.
- Verified changes with unit tests.
2026-01-22 20:29:07 +00:00
thePR0M3TH3AN e95f741371 Merge pull request #1516 from PR0M3TH3AN/visual-artifacts-retention-9120701575133480852
Retain visual test artifacts on failure
2026-01-22 15:21:13 -05:00
google-labs-jules[bot] 29df7ad507 feat: retain visual test artifacts on failure
- Updated `playwright.config.ts` to use separate projects for 'visual' and 'e2e' tests.
- Configured 'visual' project to retain screenshots, traces, and videos on failure.
- Set Playwright output directory to `artifacts/test-results`.
- Added `scripts/show-artifacts.sh` to help locate test artifacts.
- Updated `KNOWN_ISSUES.md` and `README.md` with debugging instructions.
2026-01-22 20:20:20 +00:00
thePR0M3TH3AN 570da693a2 Merge pull request #1514 from PR0M3TH3AN/add-profile-modal-icons-11627768130711301768
Add icons to profile modal navigation buttons
2026-01-22 15:09:39 -05:00
google-labs-jules[bot] 39d75239e4 feat: add icons to profile modal tab buttons
- Adds outline-style SVG icons to all navigation buttons in the profile modal.
- Uses `currentColor` to ensure icons adapt to button states (active/hover).
- Ensures consistency with sidebar icons for "Subscriptions" and "Watch history".
- Specific mappings:
  - Account: User Circle
  - Relays: Server
  - Wallet: Lightning Bolt (Polygon)
  - Storage: Cloud
  - Hashtags: Hashtag
  - Subscriptions: Stack (Sidebar style)
  - Friends: Star
  - Safety: Shield Check
  - Blocked: Ban
  - Messages: Mail/Envelope
  - Watch History: Clock (Sidebar style)
  - Admin: Briefcase
  - Logout: Logout Arrow
2026-01-22 20:06:50 +00:00
thePR0M3TH3AN c680fc78db Merge pull request #1512 from PR0M3TH3AN/chore/ignore-generated-tailwind-css-16942451478675909322
chore: ignore and remove generated tailwind css
2026-01-22 14:58:35 -05:00
google-labs-jules[bot] 4adb8f5103 chore: ignore and remove generated tailwind css
- Add `css/tailwind.generated.css` to `.gitignore`.
- Remove the tracked `css/tailwind.generated.css` file from the repository.
- Update `CONTRIBUTING.md` to discourage committing the generated file.
- Update `README.md` to clarify that `npm run build` generates the gitignored CSS.

This ensures the generated artifact is not tracked, reducing merge conflicts and repository bloat, while maintaining clear instructions for local development.
2026-01-22 19:56:18 +00:00
thePR0M3TH3AN 53770e3060 Merge pull request #1511 from PR0M3TH3AN/ai/load-test-20260122-8068992011549478108
feat: Add load testing script and report
2026-01-22 14:43:30 -05:00
google-labs-jules[bot] d1d448faf6 feat: add load testing script
- Implement `scripts/agent/load-test.mjs` for stress testing local relays.
- Simulate N clients publishing Video Post and View Events.
- Measure latency (Build, Sign, RTT), throughput, and system resources.
- Update `scripts/agent/simple-relay.mjs` to support configurable `PORT`.
- Include `artifacts/load-report-20260122.json` from a 1000-client run.
2026-01-22 19:42:13 +00:00
thePR0M3TH3AN 6c1a9fd2e3 Merge pull request #1510 from PR0M3TH3AN/refactor-popover-helpers-7370521360102452062
Refactor popover E2E test helpers to module scope
2026-01-22 14:39:24 -05:00
google-labs-jules[bot] fa17a07bb1 Refactor tests/e2e/popover.spec.ts: Move helpers to module scope
- Moved `getPanelMetrics`, `getPanelWithTriggerMetrics`, and `assertWithinViewport` to module scope to avoid duplication.
- Updated metric assertions to use `popoverMaxWidth` instead of the incorrect `inlineMaxWidth`.
- Added a sanity check `expect(metrics).toHaveProperty("popoverMaxWidth")` to ensure helper correctness.
- Enabled previously commented-out assertions in "popover demo alignments" tests.
2026-01-22 19:38:27 +00:00
thePR0M3TH3AN 78020aae1f Merge pull request #1509 from PR0M3TH3AN/login-modal-nsec-error-fix-13930241638966122230
Fix login modal nsec error visibility by disabling native validation
2026-01-22 14:01:48 -05:00
google-labs-jules[bot] 8bbe3f623d Fix login modal nsec error visibility
- Removed `required` attribute from nsec secret input in `components/login-modal.html` to prevent browser native validation from suppressing custom error UI.
- Updated `js/ui/loginModalController.js` to ensure `required` property is disabled in JavaScript logic.
- Added comprehensive unit tests in `tests/login-modal-controller.test.mjs` to verify:
    - Custom error message is shown on empty submission.
    - Required attributes remain disabled when toggling between unlock/import modes.
    - NIP-46 handshake panel is correctly displayed (regression check).
- Verified fix with existing E2E test `tests/e2e/ui-modals.spec.ts` (NSEC error assertion passes).
2026-01-22 18:59:02 +00:00
thePR0M3TH3AN 9c735241c3 Merge pull request #1508 from PR0M3TH3AN/ai/debug-frontend-20250215-17790140962214768872
fix(ai): frontend console error — remove broken tracker (agent)
2026-01-22 13:25:15 -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
thePR0M3TH3AN 3a556f2597 Merge pull request #1507 from PR0M3TH3AN/fix-modal-e2e-flakiness-17701309032346265585
Fix flaky modal E2E tests by using explicit state waits
2026-01-22 13:15:38 -05:00
google-labs-jules[bot] 2e04036ea1 Fix flaky modal E2E tests by using explicit state waits
Improved the reliability of `tests/e2e/ui-modals.spec.ts` by replacing fragile `toBeVisible` checks and custom `waitForFunction` blocks with centralized `waitForModalToOpen` and `waitForModalToClose` helpers in `tests/e2e/helpers/uiTestUtils.ts`. These helpers deterministically wait for `hidden` attributes or `data-open` states, bypassing animation-related timing issues. Also ensured `forceOpenModal` correctly cleans up the `hidden` attribute.
2026-01-22 18:06:15 +00:00
thePR0M3TH3AN 3adb1197b1 Merge pull request #1506 from PR0M3TH3AN/fix-modal-asset-paths-17040829595876809763
Fix 404 asset paths in modal components
2026-01-22 12:33:12 -05:00
google-labs-jules[bot] f3e3f6068d fix(ui): use absolute paths for modal assets
Updates `profile-modal.html` and `application-form.html` to use root-relative paths for images and iframes, fixing 404 errors in E2E tests. Adds a preflight check to `tests/e2e/ui-modals.spec.ts` to verify asset availability.
2026-01-22 17:24:58 +00:00
thePR0M3TH3AN c165f41ebe Merge pull request #1505 from PR0M3TH3AN/ai/fuzz-nostr-schemas-20260122-10440211805063553313
Fuzz Testing Implementation and Schema Fix
2026-01-22 12:01:07 -05:00
google-labs-jules[bot] 0060f1f593 Fix: guard pointerTags iteration in buildWatchHistoryEvent
Fuzzer discovered a crash when `pointerTags` is passed as null.
Added array check to prevent TypeError.

Also added fuzz harnesses for schemas, dm decryptor and magnet utils.
2026-01-22 16:54:01 +00:00
thePR0M3TH3AN 1758109420 Merge pull request #1504 from PR0M3TH3AN/visual-test-scrollbar-fix-10293838107728162840
Fix visual regression test width mismatch by hiding scrollbars
2026-01-22 11:52:40 -05:00
google-labs-jules[bot] b40414125c test: stabilize visual regressions by hiding scrollbars
Injects CSS to hide scrollbars in visual regression tests (`tests/visual/kitchen-sink.spec.ts`) to ensure a consistent viewport width of 1280px across different environments. This prevents failures caused by scrollbar width expanding the screenshot or shifting layout content.

Also updates the `video-modal-mobile` test block to use the correct baseline key constant instead of an undefined variable.

Baselines have been regenerated with the scrollbars hidden.
2026-01-22 16:36:43 +00:00
thePR0M3TH3AN 52493c8815 Merge pull request #1488 from PR0M3TH3AN/share-menu-improvements-3209770599931229323
Refactor Video Modal Share Menu
2026-01-22 10:55:38 -05:00
google-labs-jules[bot] 0ec517d689 Refactor video modal Share button to use a popover menu
- Replaced direct copy-to-clipboard action with a Share menu.
- Added "Copy URL", "Share on Nostr", "Copy Magnet", and "Copy CDN Link" options.
- Moved "Copy Magnet" from the main modal interface to the menu.
- Updated `js/app.js` to handle `video:share-nostr` (placeholder), `video:copy-magnet`, and `video:copy-cdn` events.
- Removed deprecated `setCopyMagnetState` logic.
- Cleaned up `components/video-modal.html`.
2026-01-22 15:40:54 +00:00
thePR0M3TH3AN e20c9b912b Merge pull request #1503 from PR0M3TH3AN/ai/doc-client-js-20231026-6776552741503911565
chore(ai): document js/nostr/client.js
2026-01-22 10:36:14 -05:00
google-labs-jules[bot] d17045c431 chore(ai): doc js/nostr/client.js (agent)
- Added JSDoc comments to `js/nostr/client.js` for key methods (`sendDirectMessage`, `subscribeDirectMessages`, `ensurePool`, `saveLocalData`, `persistLocalData`).
- Created `docs/nostr-client-overview.md` to provide a high-level architectural overview of the `NostrClient` class.
2026-01-22 15:26:37 +00:00
thePR0M3TH3AN 6a548a1068 Merge pull request #1502 from PR0M3TH3AN/codex/review-and-fix-sidebar-layout-rules
Adjust mobile sidebar app margin to include content gap
2026-01-22 10:25:10 -05:00
thePR0M3TH3AN 2e6007a95c Adjust mobile sidebar app margin 2026-01-22 10:23:41 -05:00
thePR0M3TH3AN 12ee671261 Merge pull request #1498 from PR0M3TH3AN/ai/lint-20250523-15980727212633772968
chore(ai): apply formatting/lint autofixes
2026-01-22 10:19:27 -05:00
thePR0M3TH3AN cab998de6e Merge pull request #1500 from PR0M3TH3AN/ai/ci-health-20260124-15567512825170757083
CI Health Check & Fixes
2026-01-22 10:18:55 -05:00