Commit Graph
1376 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN 822ba4d478 Refactor DeleteModal to use shared getDTagValueFromTags
Replaced the local `extractDTagValue` function in `js/ui/components/DeleteModal.js` with the shared `getDTagValueFromTags` utility from `js/nostr/nip71.js` to reduce code duplication and improve maintainability.

Added `tests/ui/components/DeleteModal.test.mjs` with manual DOM mocks to verify the refactor and ensure no regressions.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:39:38 +00:00
google-labs-jules[bot]andPR0M3TH3AN 4bdcfbdb2e Refactor: Replace duplicated extractDTagValue in DeleteModal
Replaced the local `extractDTagValue` function in `js/ui/components/DeleteModal.js` with the shared `getDTagValueFromTags` utility from `js/nostr/nip71.js` (exported via `js/nostr/index.js`).

Added a new unit test `tests/ui/components/DeleteModal.test.mjs` to verify the d-tag extraction logic and ensure the refactor is correct and safe. This test uses `jsdom` to mock the necessary DOM environment.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:39:07 +00:00
google-labs-jules[bot]andPR0M3TH3AN c4fc0cdb16 test: Add unit tests for linkPreviewSettings.js
- Added comprehensive tests for default settings, storage parsing, and error handling.
- Covered `setLinkPreviewAutoFetch` and `allowLinkPreviewDomain` (including normalization and silent mode).
- Verified `isLinkPreviewDomainAllowed` and event subscriptions.
- Mocked `window.dispatchEvent`, `addEventListener`, and `CustomEvent` locally as they are missing from test helpers.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:38:30 +00:00
google-labs-jules[bot]andPR0M3TH3AN 931f57eebe Refactor RevertModal to use shared d-tag extraction utility
- Removed duplicated `extractDTagValue` method from `js/ui/components/RevertModal.js`
- Imported and used `getDTagValueFromTags` from `js/nostr/nip71.js`
- Added unit tests for `getDTagValueFromTags` in `tests/nostr/nip71-d-tag.test.mjs`

This reduces code duplication and ensures consistent d-tag extraction logic.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:37:26 +00:00
google-labs-jules[bot]andPR0M3TH3AN 30fbb8d81a Refactor RevertModal to use shared nip71.getDTagValueFromTags
Replaced the duplicated `extractDTagValue` method in `RevertModal.js` with the standard `getDTagValueFromTags` utility from `js/nostr/nip71.js`.

Verified by adding a new unit test suite `tests/nostr/nip71-d-tag.test.mjs` ensuring the utility covers all edge cases.

This improves code health by reducing duplication and centralizing NIP-71 logic.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:36:43 +00:00
google-labs-jules[bot]andPR0M3TH3AN b1b797a12b Add unit tests for commentAvatar.js utility functions
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:36:00 +00:00
google-labs-jules[bot]andPR0M3TH3AN 2eec105545 Add tests for commentAvatar.js utility functions
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-26 17:33:09 +00:00
google-labs-jules[bot]andPR0M3TH3AN b8cf1315e1 fix(test): add wait for logout state in login-flows e2e
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-25 16:11:48 +00:00
thePR0M3TH3AN 10148d043f Merge pull request #2707 from PR0M3TH3AN/agents/weekly/test-coverage-agent-5998265445794573406
Add unit tests for js/nostr/utils.js (test-coverage-agent)
2026-02-24 21:59:55 -05:00
google-labs-jules[bot]andPR0M3TH3AN 6058b632ba test(ai): add unit tests for js/nostr/utils.js (test-coverage-agent)
Added focused unit tests for `getActiveKey` in `js/nostr/utils.js` to improve test coverage.
This module was identified as having 0% coverage.
The new tests cover all branches:
- ROOT key generation
- pubkey:d key generation
- LEGACY key fallback
- Handling of missing/empty tags

Artifacts:
- tests/nostr/utils.test.mjs
- docs/agents/task-logs/weekly/2026-02-25_test-coverage-agent_completed.md

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-25 01:32:06 +00:00
google-labs-jules[bot]andPR0M3TH3AN 881e31a661 chore(ai): CI health fixes (flaky tests)
Fixed flaky test in tests/hashtag-preferences.test.mjs caused by mock timing issue where load() triggered concurrent fetches, breaking the assumption of sequential calls. Updated assertions to robustly handle multi-kind fetching.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-24 20:51:19 +00:00
thePR0M3TH3AN 812bfb03d6 [ci] stabilize flaky e2e assertions and non-secret deploy checks 2026-02-23 09:21:15 -05:00
thePR0M3TH3AN 3f4316f64e Merge pull request #2681 from PR0M3TH3AN/agents/weekly/refactor-agent-2026-02-23-8774352260885712650
refactor(ui): extract bindThumbnailFallbacks from app.js
2026-02-23 07:13:32 -05:00
thePR0M3TH3AN 22fb4cbd0a Merge pull request #2679 from PR0M3TH3AN/agents/daily/style-agent-2026-02-22-3871995359379843897
Daily Scheduler: style-agent execution
2026-02-23 07:12:38 -05:00
thePR0M3TH3AN 3dbacd20cc fix(sync): emit settled list state for hashtags and blocks with regression tests 2026-02-22 21:09:08 -05:00
thePR0M3TH3AN c23dcc6c46 [e2e] Improve runtime coverage and fix logout coordinator call 2026-02-22 20:44:31 -05:00
google-labs-jules[bot]andPR0M3TH3AN fd1bbfd978 refactor(ui): extract bindThumbnailFallbacks and update visual baselines
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-23 01:37:45 +00:00
google-labs-jules[bot]andPR0M3TH3AN 4a5099d745 refactor(ui): extract bindThumbnailFallbacks from app.js
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-23 01:16:32 +00:00
thePR0M3TH3AN 0af7de6c07 [ui] Fix DM tab blank shell and harden profile modal tests 2026-02-22 20:14:32 -05:00
thePR0M3TH3AN ee8569a99b update 2026-02-22 19:21:28 -05:00
google-labs-jules[bot]andPR0M3TH3AN 81c0fc67db fix(ci): resolve e2e and visual test failures
- Fix race condition in UploadModal.js by making open() await load()
- Stabilize notification-system.spec.ts by waiting for app initialization
- Update visual test baselines for default theme
- Complete scheduled style-agent task

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-23 00:19:48 +00:00
thePR0M3TH3AN 8adaee87db [testing] add high-impact Playwright coverage for theme, notifications, history, and edit/delete flows 2026-02-22 17:33:26 -05:00
thePR0M3TH3ANandClaude Opus 4.6 e925562bfe test(e2e): add engagement, CRUD, and navigation coverage
Add 3 new Playwright E2E spec files (31 tests each across 2 browsers):

- video-engagement.spec.ts: reaction buttons, comment composer,
  reaction meter, count labels, empty state
- video-crud-flows.spec.ts: settings menu, edit modal open/close/form,
  delete modal confirm/cancel/warning
- view-navigation.spec.ts: sidebar links, login-gated visibility,
  hash routing, sidebar collapse/expand, feed persistence

Raises E2E function coverage from 38.6% to 40.6%.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-02-22 17:10:05 -05:00
thePR0M3TH3AN 0866af2e39 test(e2e): harden modal flows and expand runtime coverage 2026-02-22 16:34:19 -05:00
thePR0M3TH3AN 5f1e3c8fe2 test(visual): refresh kitchen-sink baselines for CI 2026-02-22 16:08:17 -05:00
thePR0M3TH3AN 820a810ee4 Merge branch 'unstable' into agents/weekly/race-condition-2026-02-22-4789629545643517997 2026-02-22 15:51:22 -05:00
thePR0M3TH3AN b65ad21901 Merge pull request #2672 from PR0M3TH3AN/agents/daily/prompt-curator-agent-2026-02-22-2018433635480124911
docs(agents): prompt curation run 2026-02-22
2026-02-22 15:51:03 -05:00
thePR0M3TH3AN a95343e471 Merge branch 'unstable' into agents/daily/prompt-curator-agent-2026-02-22-2018433635480124911 2026-02-22 15:41:30 -05:00
thePR0M3TH3AN 6ed296f2d2 Merge branch 'unstable' into agents/daily/onboarding-audit-2026-02-22-6501903614915901077 2026-02-22 15:40:28 -05:00
google-labs-jules[bot]andPR0M3TH3AN dfefef840e fix(ci): increase e2e login wait timeouts and add firefox support
- Update .github/workflows/ci.yml to install Firefox for e2e-headless tests.
- Update tests/e2e/login-flows.spec.ts to increase waitForFunction timeout to 15s when waiting for logout state, fixing flaky race conditions.
- Update js/adminListStore.js to robustly await nostrClient initialization to prevent "pool not initialized" errors during startup.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 19:46:51 +00:00
google-labs-jules[bot]andPR0M3TH3AN ca7ab46dac fix(ci): fix login race condition and add safety checks for adminListStore
- Add explicit wait for logged-out state in login-flows e2e test to prevent races
- Add defensive checks for nostrClient initialization in adminListStore to prevent startup errors
- Ensure Firefox is installed in e2e-headless CI job

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 19:27:19 +00:00
google-labs-jules[bot]andPR0M3TH3AN 8257a94925 fix(ci): resolve e2e timeouts and add app init safeguards
- Add `firefox` to `npx playwright install` in CI workflow to fix headless execution failures.
- Implement 15s safeguard timeout in `js/app.js` for `_initAccessControl` to prevent app hang during startup.
- Add `SHORT_TIMEOUT_MS` (5s) to `fetchLatestListEvent` in `js/adminListStore.js` to prevent indefinite hanging on relay queries.
- Update `tests/admin-list-store.test.mjs` to force dev mode for warning assertions.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 18:33:41 +00:00
google-labs-jules[bot]andPR0M3TH3AN e79b2500c8 fix(ci): install firefox in e2e-headless and fix e2e test isolation
- Updated `.github/workflows/ci.yml` to install both chromium and firefox in `e2e-headless` job, resolving missing executable errors.
- Updated `js/relayManager.js` to respect `__testRelays__` overrides (via URL/localStorage) during initialization, preventing race conditions where tests fell back to production relays.
- Updated `tests/e2e/repro_issue.spec.ts` to use dynamic relay ports based on worker index, preventing `EADDRINUSE` errors in parallel runs.
- Updated `scripts/check-hex.js` to ignore `docs/agents/task-logs/**` to prevent lint failures on hex strings in log files.
- Executed `prompt-curator-agent` daily task to fix broken paths in prompt library.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 17:09:11 +00:00
google-labs-jules[bot]andPR0M3TH3AN 98ecc678a4 fix(ci): install firefox for e2e-headless job and harden ui tests\n\n- Updated .github/workflows/ci.yml to install firefox in the e2e-headless job, resolving \"Executable doesn't exist\" errors.\n- Added defensive null checks in UploadModal.js to prevent runtime crashes during reset.\n- Hardened login-flows.spec.ts to prevent flaky logout assertions.
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 16:09:22 +00:00
google-labs-jules[bot]andPR0M3TH3AN d0f10d3ab7 test(e2e): fix video card selectors and modal wait logic
- Updated `js/testHarness.js` to read `data-video-title` attribute instead of `textContent` to avoid marquee duplication issues.
- Updated `tests/e2e/video-upload-flow.spec.ts` to query title attribute on the correct child element.
- Updated `tests/e2e/video-upload-flow.spec.ts` to use `toBeVisible()` for modal wait instead of fragile `data-open` attribute check.
- Updated `tests/e2e/video-playback-scenarios.spec.ts` to include `style.display` check for modal closing.
- Verified `feed-pagination-stress.spec.ts` passes with these fixes.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 15:48:22 +00:00
google-labs-jules[bot]andPR0M3TH3AN e9ca94e89d test(e2e): stabilize login/feed tests and isolate relays (agent)
- Updated `tests/e2e/helpers/bitvidTestFixture.ts` to inject `__bitvidTestRelays__` into `localStorage` and `window` for reliable isolation.
- Updated `js/relayManager.js` to respect test relays in both `loadFromStorage` and defaults construction, preventing production fallback on profile load.
- Updated `tests/e2e/login-flows.spec.ts` to click the "nsec" provider button before assertions.
- Updated `tests/e2e/feed-pagination-stress.spec.ts` to correctly query title attributes.
- Added `scripts/check-hex.js` fix for log files.
- Added onboarding audit log.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 15:31:09 +00:00
google-labs-jules[bot]andPR0M3TH3AN 2122a257c8 Fix E2E CI failures: Harden UploadModal and fix login modal waiter
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 15:13:08 +00:00
google-labs-jules[bot]andPR0M3TH3AN 5c944199d9 Fix E2E test failures by enforcing relay isolation and disabling whitelist mode
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 14:32:54 +00:00
google-labs-jules[bot]andPR0M3TH3AN 1e2ce6bf61 Fix E2E login flows and test harness relay isolation
Addresses failures in login-flows.spec.ts by:
1. Updating the test to correctly interact with the provider-based login modal (clicking the 'nsec' button).
2. Patching the test harness `relayManager` to prevent overwriting test relays with production defaults during login/logout cycles.
3. Hardening `uiCoordinator` to ensure visibility assertions pass reliably by enforcing `style.display` properties.
4. Explicitly initializing test relays in `bitvidTestFixture` to guarantee environment isolation.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 13:48:19 +00:00
google-labs-jules[bot]andPR0M3TH3AN a10899dacc Fix: E2E test robustness (feed visibility, login state)
- Add `s` tag to seeded video events in `bitvidTestFixture.ts` to pass schema validation and appear in feeds.
- Update `js/testHarness.js` `loginWithNsec` to call `app.authService.login()`, ensuring UI state reflects login.
- Update `js/testHarness.js` `logout` to be async and use `app.requestLogout()`.
- Fix TypeScript error in `tests/e2e/dm-scenarios.spec.ts`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 04:08:13 +00:00
google-labs-jules[bot]andPR0M3TH3AN eb1ae774dc Fix: VideoCard attributes and test fixture tagging for robust E2E testing
- Added `data-video-card`, `data-video-pubkey`, `data-video-dtag` to `VideoCard` component root.
- Added `data-play-url` and `data-play-magnet` to `VideoCard` root to support test harness selectors.
- Updated `tests/e2e/helpers/bitvidTestFixture.ts` to include `["t", "video"]` tag in seeded events, fixing feed discovery in tests.
- Added `tests/e2e/dm-scenarios.spec.ts` to improve coverage of Direct Message functionality.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 03:50:28 +00:00
Claude 8a8883af37 Add 8 scenario-driven Playwright E2E test suites (71 tests)
Expand Playwright test coverage with comprehensive, scenario-driven
tests covering previously untested user flows and behaviors:

- video-upload-flow: upload modal, feed discovery, event seeding integrity
- search-and-filter: search input behavior, filtering, special characters
- login-flows: auth lifecycle, login/logout cycles, UI gating, modals
- relay-resilience: relay HTTP API, config overrides, health monitoring
- video-playback-scenarios: card click, URL-first, source toggle, modal
- profile-management: decrypt behavior, sync events, diagnostics capture
- feed-pagination-stress: large feeds, rapid seeding, concurrent ops
- accessibility-keyboard-nav: tab order, focus trap, ARIA, keyboard nav

All tests use the bitvidTestFixture with isolated mock relays,
deterministic test keys, and Given/When/Then scenario structure.

https://claude.ai/code/session_01NBo9YtmEhQAbG8JdhfYrwq
2026-02-22 02:32:47 +00:00
thePR0M3TH3AN e6489a0f01 update 2026-02-21 21:10:07 -05:00
thePR0M3TH3AN f099e7be3a improved playright integration 2026-02-21 21:03:49 -05:00
thePR0M3TH3AN 0cf1dc0f55 improved playright integration 2026-02-21 20:45:47 -05:00
thePR0M3TH3AN e6e85ff845 update 2026-02-21 19:59:47 -05:00
thePR0M3TH3AN aac87db4eb update with block list fix 2026-02-21 16:45:16 -05:00
thePR0M3TH3AN 152b7fbf1a update 2026-02-21 16:08:33 -05:00
thePR0M3TH3AN 576513ecdb updated nip-07 login 2026-02-21 16:00:02 -05:00
thePR0M3TH3AN 135dbe4e37 update 2026-02-21 15:53:09 -05:00