Commit Graph
5263 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN 26b1552af5 feat: add fuzz testing harnesses for schemas, dm, and magnet utils
- Harmonize fuzzing iteration counts to 50,000 for robustness
- Add documentation headers to fuzz scripts
- Verify robustness of `nostrEventSchemas.js`, `dmDecryptor.js`, and `magnetUtils.js`
- Clean up temporary reproducers and crash reports

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 17:22:54 +00:00
google-labs-jules[bot]andPR0M3TH3AN 628a39469b fix: revert NODE_ENV to development in netlify.toml
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 16:18:25 +00:00
google-labs-jules[bot]andPR0M3TH3AN 3efdb19511 fix: set NODE_ENV to production in netlify.toml
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 16:14:42 +00:00
google-labs-jules[bot]andPR0M3TH3AN 8390476bdf fix(ai): repair CI build dependencies and test reliability (agent)
- Move build/runtime deps (`nostr-tools`, `esbuild`, `autoprefixer`, `@tailwindcss/typography`, `cross-env`) to `dependencies` for production builds.
- Resolve duplicate package entries in `package.json`.
- Fix open handle (timeout leak) in `hashtagPreferencesService.js`.
- Fix flaky test mock in `hashtag-preferences.test.mjs`.
- Fix runtime variable error in `nostr/client.js`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 16:11:21 +00:00
google-labs-jules[bot]andPR0M3TH3AN 8c24fc36df fix: remove duplicate @noble/hashes dependency and move cross-env to dependencies
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 16:08:51 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9a7a9ba65e fix(ai): fix CI build and test failures (agent)
- Move `nostr-tools`, `esbuild`, `cross-env` to `dependencies` to ensure availability in production builds.
- Remove duplicate dependencies (`autoprefixer`, `@noble/hashes`, `@tailwindcss/typography`) to fix potential version conflicts.
- Fix timeout leak in `hashtagPreferencesService.js`.
- Fix test mock in `hashtag-preferences.test.mjs` to prevent timeouts.
- Update `nostrClient` permission request to use correct constant.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 16:04:35 +00:00
google-labs-jules[bot]andPR0M3TH3AN e073aea8a4 chore: Daily Design System Audit Report
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 16:04:00 +00:00
google-labs-jules[bot]andPR0M3TH3AN f0606065c9 fix(ai): resolve test failures and permission regressions (agent)
- Fix flaky mock in `tests/hashtag-preferences.test.mjs` (limit mock responses to avoid timeouts)
- Fix timeout leak in `js/services/hashtagPreferencesService.js` (clear timeout on success)
- Update `nostrClient.loginWithExtension` to request full permissions (fixing `nostr-login-permissions.test.mjs`)
- Ensure `jsdom` is available for `channel-profile-moderation.test.mjs`

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:53:38 +00:00
google-labs-jules[bot]andPR0M3TH3AN 0ffdf9c7f8 fix(ci): Resolve unit test failures in nostr-login-permissions and hashtag-preferences
*   Updated `loginWithExtension` in `js/nostr/client.js` to request `DEFAULT_NIP07_PERMISSION_METHODS` (which includes encryption permissions) instead of `DEFAULT_NIP07_CORE_METHODS`. This fixes `tests/nostr-login-permissions.test.mjs` by ensuring the permission cache is correctly populated during login.
*   Updated the `fetchListIncrementally` mock in `tests/hashtag-preferences.test.mjs` to consistently return the event array on subsequent calls. This fixes the "load defers permission-required decrypts" test case by ensuring the second `load()` attempt actually receives data to process, triggering the decryption retry logic.
*   Retained artifacts from the TODO triage task (`artifacts/todos.txt` and `artifacts/issue_moderation_tests.md`) as part of the overall work unit.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:51:27 +00:00
google-labs-jules[bot]andPR0M3TH3AN 06c1951cd3 fix(ci): remove all stale references to deleted files
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:48:34 +00:00
google-labs-jules[bot]andPR0M3TH3AN 76a90a1a62 chore(ai): safe dependency upgrades and test fixes
- Upgrade playwright to 1.58.1 and autoprefixer to 10.4.24
- Fix permission caching in client.js
- Improve test robustness for hashtag preferences
- Add dependency scan artifacts
- Document deferred upgrades

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:46:06 +00:00
google-labs-jules[bot]andPR0M3TH3AN dd1fc79b83 chore(ai): remove dead code (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:45:21 +00:00
google-labs-jules[bot]andPR0M3TH3AN 28d52aa245 chore(ai): remove dead code (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:34:19 +00:00
google-labs-jules[bot]andPR0M3TH3AN f825b84dfd fix(ci): Resolve unit test failures in nostr-login-permissions and hashtag-preferences
*   Updated `loginWithExtension` in `js/nostr/client.js` to request `DEFAULT_NIP07_PERMISSION_METHODS` (which includes encryption permissions) instead of `DEFAULT_NIP07_CORE_METHODS`. This fixes `tests/nostr-login-permissions.test.mjs` by ensuring the permission cache is correctly populated during login.
*   Updated the `fetchListIncrementally` mock in `tests/hashtag-preferences.test.mjs` to consistently return the event array on subsequent calls. This fixes the "load defers permission-required decrypts" test case by ensuring the second `load()` attempt actually receives data to process, triggering the decryption retry logic.
*   Retained artifacts from the TODO triage task (`artifacts/todos.txt` and `artifacts/issue_moderation_tests.md`) as part of the overall work unit.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:32:09 +00:00
google-labs-jules[bot]andPR0M3TH3AN 5232f38bed fix(ai): resolve test failures and permission regressions (agent)
- Fix flaky mock in `tests/hashtag-preferences.test.mjs`
- Update `nostrClient.loginWithExtension` to request full permissions (fixing `nostr-login-permissions.test.mjs`)
- Ensure `jsdom` is available for `channel-profile-moderation.test.mjs`

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:30:15 +00:00
thePR0M3TH3AN d999b79e5a Merge pull request #2011 from PR0M3TH3AN/ai/onboarding-20250129-12232766230754991727
docs(ai): improve onboarding steps and fix unit tests
2026-01-31 10:23:04 -05:00
thePR0M3TH3AN 525fc049be Merge pull request #2014 from PR0M3TH3AN/ai/tests-profile-cache-20250220-7730745390613459017
Add unit tests for ProfileCache
2026-01-31 10:20:47 -05:00
thePR0M3TH3AN cffbe26c04 Merge pull request #2007 from PR0M3TH3AN/ai/refactor-profile-modal-20231026-3866161108178541875
Refactor handleAddProfile to ProfileModalController
2026-01-31 10:18:13 -05:00
thePR0M3TH3AN d622feae7e Merge pull request #2006 from PR0M3TH3AN/ai/ci-health-20250222-10294193962202990825
chore(ai): CI health fixes (flaky tests)
2026-01-31 10:17:17 -05:00
google-labs-jules[bot]andPR0M3TH3AN 015d979d6d fix(ci): update nostr client login permissions and test mocks (agent)
- Update `js/nostr/client.js` to request all default permissions (including encryption) during login, fixing `tests/nostr-login-permissions.test.mjs`.
- Update `tests/hashtag-preferences.test.mjs` to properly mock `window.nostr` with `signEvent` and `getPublicKey`, and fix `fetchListIncrementally` mock.
- Fix broken test assertions in `hashtag-preferences.test.mjs`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 15:04:27 +00:00
google-labs-jules[bot]andPR0M3TH3AN 85545d2566 fix(ci): update nostr client login permissions and test mocks (agent)
- Update `js/nostr/client.js` to request all default permissions (including encryption) during login, fixing `tests/nostr-login-permissions.test.mjs`.
- Update `tests/hashtag-preferences.test.mjs` to properly mock `window.nostr` with `signEvent` and `getPublicKey`, and fix `fetchListIncrementally` mock.
- Fix broken test assertions in `hashtag-preferences.test.mjs`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 14:58:55 +00:00
google-labs-jules[bot]andPR0M3TH3AN 56d9465165 chore(ai): remove dead code (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 14:58:50 +00:00
google-labs-jules[bot]andPR0M3TH3AN dc3a14c086 fix(ci): update nostr client login permissions and test mocks (agent)
- Update `js/nostr/client.js` to request all default permissions (including encryption) during login, fixing `tests/nostr-login-permissions.test.mjs`.
- Update `tests/hashtag-preferences.test.mjs` to properly mock `window.nostr` with `signEvent` and `getPublicKey`, and fix `fetchListIncrementally` mock to ensure reliable test execution.
- Fix broken test assertions in `hashtag-preferences.test.mjs`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 14:53:43 +00:00
google-labs-jules[bot]andPR0M3TH3AN d8d82cc51d docs(ai): update quickstart and contributing (agent)
- Update `README.md` example to clarify 's' tag auto-generation.
- Update `CONTRIBUTING.md` with explicit `npm run lint` details and new "Event Schema Validation" section.
- Verified all documentation against codebase.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 14:18:55 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9fa9b66ec4 fix: restore permission set in loginWithExtension
Updates `js/nostr/client.js` to use `DEFAULT_NIP07_PERMISSION_METHODS` (including encryption) during login, matching the behavior expected by `tests/nostr-login-permissions.test.mjs` and preventing regression in encryption permission tracking.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 12:49:26 +00:00
google-labs-jules[bot]andPR0M3TH3AN 353f140ec7 feat: add minimal reproducer for moderation UI bug
Added a Playwright test reproducer for the known issue where the 'Show anyway' button fails to render in headless environments.
The reproducer is located in `examples/reproducers/issue-moderation-ui/` and includes:
- `repro.spec.ts`: The test script derived from `tests/visual/moderation.spec.ts` with failing assertions enabled.
- `README.md`: Instructions on how to run the reproducer.
- `playwright.config.ts`: Configuration to run the test in the reproducer context.

This helps triage and verify fixes for the moderation UI visibility issue.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 12:26:22 +00:00
google-labs-jules[bot]andPR0M3TH3AN a39e7d832d test(ai): add unit tests for profileCache (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 11:24:53 +00:00
google-labs-jules[bot]andPR0M3TH3AN 3c2eb7b2a5 fix(build): remove duplicate dependencies from devDependencies
- Removes `@noble/hashes`, `@tailwindcss/typography`, and `autoprefixer` from `devDependencies` as they are already in `dependencies`.
- This resolves build instability on Netlify caused by duplicate dependency declarations.
- Updates `package-lock.json`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 10:47:28 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9c682040c5 fix(build): remove duplicate dependencies from devDependencies
- Removes `@noble/hashes`, `@tailwindcss/typography`, and `autoprefixer` from `devDependencies`.
- These packages are already listed in `dependencies` (sometimes with mismatched versions), which violates the project's dependency guidelines and can cause build instability on CI platforms like Netlify.
- Updates `package-lock.json` via `npm install`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 10:41:56 +00:00
google-labs-jules[bot]andPR0M3TH3AN 5fe938ef9f fix(ci): address failures in lint, login permissions, and unit tests
- Update `scripts/check-hex.js` to ignore `releases/` directory to prevent false positives from PR numbers.
- Update `js/nostr/client.js` to request full NIP-07 permissions (including encryption) during login, fixing `tests/nostr-login-permissions.test.mjs`.
- Update `tests/hashtag-preferences.test.mjs` to make the mock fetch function consistently return the event, allowing retry logic to be tested correctly.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 10:34:19 +00:00
google-labs-jules[bot]andPR0M3TH3AN be43c266e0 fix(test): resolve hangs in multiple unit tests and harden runner
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 10:33:50 +00:00
google-labs-jules[bot]andPR0M3TH3AN 0d37880443 docs(ai): weekly changelog draft
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 10:24:04 +00:00
google-labs-jules[bot]andPR0M3TH3AN 42a18fa784 fix(test): resolve hangs in multiple unit tests
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 10:13:24 +00:00
google-labs-jules[bot]andPR0M3TH3AN 2c87b94b62 fix(tests): resolve hashtag preferences unit test failure
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 09:50:04 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9d829f548b fix(nostr): request encryption permissions during extension login
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 09:32:02 +00:00
google-labs-jules[bot]andPR0M3TH3AN de7a215f77 fix(test): resolve hang in nostr-login-permissions test
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 09:23:29 +00:00
google-labs-jules[bot]andPR0M3TH3AN 8588473ca9 chore(ai): bump playwright, autoprefixer and document dependency status
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 09:22:51 +00:00
google-labs-jules[bot]andPR0M3TH3AN ec3691e659 docs(ai): improve onboarding steps and fix unit tests
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 08:54:59 +00:00
google-labs-jules[bot]andPR0M3TH3AN eeb3283344 fix(ci): prevent signer hangs in tests and background services
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 08:14:53 +00:00
google-labs-jules[bot]andPR0M3TH3AN 4c884ae140 Fix NIP-07 permission request constants and hashtag test mock
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 07:54:55 +00:00
google-labs-jules[bot]andPR0M3TH3AN 041fb241fe Add Nostr protocol interoperability test script using ephemeral keys and public relays
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 07:33:26 +00:00
google-labs-jules[bot]andPR0M3TH3AN a920032993 fix(ci): prevent signer timeouts in background tests
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 07:14:47 +00:00
google-labs-jules[bot]andPR0M3TH3AN 731cde1d95 feat(telemetry): Add privacy-preserving telemetry aggregator and fix CI unit tests
- Added `scripts/agent/telemetry-aggregator.mjs` to aggregate error logs while stripping PII.
- Updated `AGENTS.md` with telemetry policy.
- Cleaned up `package.json` dev dependencies.
- Fixed `tests/nostr-login-permissions.test.mjs` by updating `js/nostr/client.js` to request all encryption permissions during login.
- Fixed `tests/hashtag-preferences.test.mjs` by clearing `nostrClient.extensionPermissionCache` in test setup to prevent state leakage.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 07:06:24 +00:00
google-labs-jules[bot]andPR0M3TH3AN e487d6584a fix(ci): Resolve unit test failures and clean up package.json
- Fix `tests/nostr-login-permissions.test.mjs`: Refresh permission cache reference after login.
- Fix `tests/hashtag-preferences.test.mjs`: Update mock to correctly simulate permission state.
- Remove duplicate dependencies from `devDependencies` in `package.json`.
- Document telemetry script in `AGENTS.md`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 06:53:32 +00:00
google-labs-jules[bot]andPR0M3TH3AN ce8c5931e5 chore(ai): event schema validation tool + fixes
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 06:53:22 +00:00
google-labs-jules[bot]andPR0M3TH3AN c761bb4b24 fix(ci): Fix unit tests for permissions and document telemetry aggregation
- Fix `tests/nostr-login-permissions.test.mjs`: Refresh `extensionPermissionCache` reference after login to ensure assertions check the current state.
- Fix `tests/hashtag-preferences.test.mjs`: Update `window.nostr` mock to accurately simulate permission state for `runNip07WithRetry`, resolving assertion failures.
- Document `telemetry:aggregate` script in `AGENTS.md` as previously planned.
- Verify `scripts/agent/telemetry-aggregator.mjs` is tracked and functional.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 06:43:18 +00:00
google-labs-jules[bot]andPR0M3TH3AN 45f28f1d6b feat(telemetry): Document telemetry aggregation tool usage in AGENTS.md
- Added section 11 to AGENTS.md describing the `telemetry:aggregate` script.
- Documented privacy policy (PII sanitization) and opt-in guardrails.
- Verified the script functionality and PII removal.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 06:18:57 +00:00
google-labs-jules[bot]andPR0M3TH3AN 05a3aa2b1f chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to verify event builders against schemas.
- Enhanced validation script with test cases for Relay List (object format), Hashtag Preferences (encrypted), and Video Post (additional tags).
- Updated `docs/nostr-event-schemas.md` to document the validation workflow.
- Verified runtime event construction by instrumenting tests with dev mode (reverted clean).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 05:36:48 +00:00
google-labs-jules[bot]andPR0M3TH3AN 1c12cc0d17 refactor(ai): extract handleAddProfile from js/app.js (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 04:20:24 +00:00
google-labs-jules[bot]andPR0M3TH3AN 2c5fc53f3f refactor(ai): extract handleAddProfile from js/app.js (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 04:05:20 +00:00