Commit Graph
3527 Commits
Author SHA1 Message Date
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 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
thePR0M3TH3AN 5fc7baf960 Merge pull request #1501 from PR0M3TH3AN/codex/update-moderation-tests-for-async-handling
Stabilize moderation fixture readiness signals
2026-01-22 10:17:25 -05:00
thePR0M3TH3AN dcf3221f00 Stabilize moderation fixture readiness 2026-01-22 10:17:02 -05:00
google-labs-jules[bot] 818b8c27fc chore(ai): CI health fixes (flaky tests) 2026-01-22 15:06:54 +00:00
thePR0M3TH3AN 5c9dbf7aff Merge pull request #1499 from PR0M3TH3AN/codex/update-unit-test-sharding-and-timeout
Add unit test sharding and per-file timeouts
2026-01-22 09:58:58 -05:00
google-labs-jules[bot] f75531d2db chore(ai): format sources and fix moderation bugs (agent)
- Format `css/tailwind.source.css` with Prettier.
- Add allowlist entry for `VideoCard.js` media query pixel value in `scripts/check-design-tokens.mjs`.
- Remove accidental artifact `js/ui/dm/jules_session_4520373547615093905.zip`.
- Fix bug in `js/app.js` and `js/services/moderationActionController.js` where blocked users' videos were not correctly hidden in the UI immediately after blocking.
- Fix bug in `tests/app/moderation-overrides.test.mjs` where `userBlocks` mocks were insufficient to reflect state changes.
2026-01-22 14:58:35 +00:00
thePR0M3TH3AN 054fca8433 Add unit test sharding and timeouts 2026-01-22 09:58:18 -05:00
thePR0M3TH3AN 59d4116669 Merge branch 'unstable' into ai/lint-20250523-15980727212633772968 2026-01-22 09:29:42 -05:00
thePR0M3TH3AN fd3ba76150 Merge pull request #1497 from PR0M3TH3AN/ai/reproducers-collection-20260122-3408857657044020140
Add minimal reproducers for known bugs
2026-01-22 09:28:41 -05:00
thePR0M3TH3AN 6973c85fab Merge pull request #1496 from PR0M3TH3AN/ai/tests-storage-service-20260122-7514653400428629824
test(ai): add unit tests for storageService (agent)
2026-01-22 09:21:24 -05:00
thePR0M3TH3AN a34b1a5529 Merge pull request #1495 from PR0M3TH3AN/chore/deps-prettier-3.8.1-1145782979643383216
chore(ai): bump prettier to 3.8.1 and perform dependency scan
2026-01-22 09:20:22 -05:00
thePR0M3TH3AN 983e9bb0f6 Merge pull request #1494 from PR0M3TH3AN/ai/onboarding-20241026-11313740817798492612
docs(ai): improve onboarding steps
2026-01-22 09:18:55 -05:00
thePR0M3TH3AN 39c47fecea Merge pull request #1493 from PR0M3TH3AN/ai/interop-tests-20250222-7461951037331976125
Add Nostr Protocol Interoperability Tests
2026-01-22 09:17:32 -05:00
thePR0M3TH3AN b076b2b653 Merge pull request #1492 from PR0M3TH3AN/feature/telemetry-aggregation-privacy-12925310958469698001
Telemetry & Error Aggregation (Privacy-Preserving)
2026-01-22 09:15:55 -05:00