Commit Graph
3412 Commits
Author SHA1 Message Date
thePR0M3TH3AN b7b691d9cc Merge pull request #1465 from PR0M3TH3AN/ai/doc-nostr-client-20231027-549968251283674277
chore(ai): document js/nostr/client.js and nip71.js
2026-01-21 12:01:39 -05:00
thePR0M3TH3AN 95c8546867 Merge pull request #1464 from PR0M3TH3AN/ai/docs-update-YYYYMMDD-18018724603320020372
docs(ai): update quickstart and contributing (agent)
2026-01-21 12:01:12 -05:00
thePR0M3TH3AN d6d7d027cf Merge pull request #1463 from PR0M3TH3AN/ai/lint-issues-report-13993109755926892711
chore(ai): report lint issues
2026-01-21 12:00:50 -05:00
thePR0M3TH3AN aeb30eea23 Merge pull request #1462 from PR0M3TH3AN/ai/reproducers-channel-moderation-test-crash-5934129363749679102
Add minimal reproducer for channel moderation test crash
2026-01-21 12:00:29 -05:00
thePR0M3TH3AN 0873b16d06 Merge pull request #1461 from PR0M3TH3AN/ai/tests-core-coverage-20250302-14976230523453771489
Add unit tests for core modules
2026-01-21 12:00:08 -05:00
thePR0M3TH3AN e157d93080 Merge pull request #1460 from PR0M3TH3AN/ai/onboarding-20250220-2802297987522045215
Developer Onboarding Audit & Fixes
2026-01-21 11:59:44 -05:00
thePR0M3TH3AN a4162bd028 Merge pull request #1459 from PR0M3TH3AN/ai/interop-tests-20260121-16965720185426536661
feat: implement protocol & interop tests with ephemeral keys
2026-01-21 11:59:08 -05:00
thePR0M3TH3AN 528c6500ee Merge pull request #1458 from PR0M3TH3AN/telemetry-aggregation-privacy-12055566479602134867
Telemetry Aggregation with Privacy Preservation
2026-01-21 11:58:40 -05:00
thePR0M3TH3AN 5e7904f848 Merge pull request #1457 from PR0M3TH3AN/ai/schema-validate-20250220-11887219471322967928
chore(ai): event schema validation tool + fixes
2026-01-21 11:58:03 -05:00
google-labs-jules[bot] fb95d5c914 chore(ai): doc js/nostr/client.js and nip71.js (agent) 2026-01-21 15:10:38 +00:00
google-labs-jules[bot] 4b3d7644b3 docs(ai): update quickstart and contributing (agent) 2026-01-21 14:17:33 +00:00
google-labs-jules[bot] 67b5ea3ffb chore(ai): report lint issues 2026-01-21 13:21:18 +00:00
google-labs-jules[bot] d592299dd8 feat: add minimal reproducer for channel moderation test crash
Adds a standalone Node.js script that reproduces the TypeError seen in
`tests/app/channel-profile-moderation.test.mjs`. The crash occurs because
the test harness instantiates `Application` without running the constructor,
leaving `moderationDecorator` undefined.

The reproducer demonstrates this by using `Object.create(Application.prototype)`
and attempting to call `decorateVideoModeration`.
2026-01-21 12:14:21 +00:00
google-labs-jules[bot] c3770828c0 test(ai): add unit tests for nostr, services, and state (agent) 2026-01-21 11:23:58 +00:00
google-labs-jules[bot] 56abf2f9cb docs(ai): improve onboarding steps
- Fix `scripts/check-design-tokens.mjs` to allow a mobile breakpoint.
- Add Dev Container documentation to `CONTRIBUTING.md`.
- Fix missing dependency injection in `tests/helpers/moderation-test-helpers.mjs` to resolve some unit test failures in a fresh environment.
2026-01-21 08:33:45 +00:00
google-labs-jules[bot] 8dc1d0e791 feat(tests): implement interop-test.mjs with ephemeral keys and protocol checks
- Implements `scripts/agent/interop-test.mjs` to verify Nostr protocol compatibility.
- Uses `NostrClient` programmatically with ephemeral keys (no persistence).
- Defines a strict test relay list (`relay.damus.io`, `nos.lol`) to avoid spam.
- Validates Video Post publishing (Kind 30078) using `js/nostrEventSchemas.js` builders.
- Validates View Event publishing (Kind 30079).
- Validates DM encryption and decryption (Kind 4) using `js/dmDecryptor.js`.
- Adheres to AGENTS.md guardrails (no session actor comments).
- Outputs clear pass/fail logs for verification.
2026-01-21 07:14:32 +00:00
google-labs-jules[bot] c59c6149a2 feat(scripts): consolidate telemetry aggregation with PII sanitization 2026-01-21 06:19:17 +00:00
google-labs-jules[bot] 0458f354de chore(ai): event schema validation tool + fixes
- Created scripts/agent/validate-events.mjs to validate event builders against schemas.
- Added schemas and builders for Kind 5 (Deletion) and Kind 4 (Legacy DM) to js/nostrEventSchemas.js.
- Updated js/nostr/client.js to use new builders for Kind 5 and Kind 4 events.
- Updated js/nostr/client.js to use buildVideoPostEvent for video reverts.
- Verified all builders produce valid events.
2026-01-21 05:14:17 +00:00
thePR0M3TH3AN a99a9f3231 Merge pull request #1456 from PR0M3TH3AN/mobile-disclaimer-fullscreen-5969744738226804148
Make disclaimer modal full-screen on mobile
2026-01-20 23:14:44 -05:00
google-labs-jules[bot] a9bd3e1010 feat(ui): make disclaimer modal full-screen on mobile
Refactors the disclaimer modal to use responsive utility classes, forcing full-screen width/height on mobile while preserving the card-based layout on desktop. This matches the behavior of the login modal and works around existing CSS limitations for modal sheets.
2026-01-21 03:55:37 +00:00
thePR0M3TH3AN cef4ea097d Merge pull request #1455 from PR0M3TH3AN/ai/refactor-moderation-decorator-20231027-155324394974753109
refactor(ai): extract ModerationDecorator from js/app.js
2026-01-20 22:39:59 -05:00
google-labs-jules[bot] 8015edf6b3 refactor(ai): extract ModerationDecorator from js/app.js (agent)
Extracts `decorateVideoModeration` and related helper methods from `js/app.js` into a new `js/services/moderationDecorator.js` service. This improves separation of concerns by moving complex moderation logic out of the main application class.

AGENTS.md Checklist:
1. Identify Logic: Extracted `decorateVideoModeration`, `deriveModerationReportType`, `deriveModerationTrustedCount`, `getReporterDisplayName`, `normalizeModerationSettings`, `getActiveModerationThresholds`.
2. Create Controller Method: Created `ModerationDecorator` class with `decorateVideo` method.
3. Create `bitvidApp` Wrapper: Replaced `decorateVideoModeration` in `js/app.js` with a wrapper that delegates to `this.moderationDecorator.decorateVideo`.
4. Wire Up Callbacks: Passed `getProfileCacheEntry` to `ModerationDecorator` constructor.
5. Remove Old Code: Removed extracted methods from `js/app.js`.

Also added unit tests for `ModerationDecorator` and ensured runtime settings updates are propagated.
2026-01-21 03:20:17 +00:00
thePR0M3TH3AN c98f2cd720 Merge pull request #1454 from PR0M3TH3AN/ai/ci-health-20250222-13032356520369458320
chore(ai): CI health fixes (flaky tests)
2026-01-20 21:45:12 -05:00
thePR0M3TH3AN 1741972dd7 Merge branch 'unstable' into ai/ci-health-20250222-13032356520369458320 2026-01-20 21:44:30 -05:00
google-labs-jules[bot] 91e7a7cacc chore(ai): CI health fixes (flaky tests) 2026-01-21 02:42:52 +00:00
thePR0M3TH3AN 6a98c52206 Merge pull request #1453 from PR0M3TH3AN/ai/todo-fix-validate-events-20241026-2239501522645835319
fix(ai): remove stale TODO and optimize validation script (TODO)
2026-01-20 21:39:32 -05:00
thePR0M3TH3AN 1cdf521b9c Merge pull request #1452 from PR0M3TH3AN/login-modal-mobile-fix-5265723642545025467
Login Modal Mobile Layout Fix
2026-01-20 21:38:51 -05:00
google-labs-jules[bot] 6a4ac5120e chore(ai): remove stale TODO and optimize JSON parsing in validation script
- Removed a TODO comment in `scripts/agent/validate-events.mjs` as the functionality was already implemented.
- Optimized the code to avoid redundant `JSON.parse` calls.
- Verified the script passes all validation tests.
- Created `artifacts/issue_telemetry_json.md` to track the larger task of handling JSON logs in telemetry aggregation.
2026-01-21 01:37:04 +00:00
google-labs-jules[bot] a1dc9ccf59 fix(ui): login modal mobile layout and responsiveness 2026-01-21 01:21:50 +00:00
thePR0M3TH3AN f663b6d6a3 Merge pull request #1451 from PR0M3TH3AN/feat/automated-pr-review-4356221545922511656
feat: add automated PR review script with security guardrails
2026-01-20 18:44:46 -05:00
google-labs-jules[bot] c2b0f713e5 feat: add automated PR review script
- Adds `scripts/agent/review-pr.mjs` to automate PR checks (lint, format, test).
- Implements micro-fix logic to auto-commit formatting changes.
- Adds guardrails for sensitive files (security/protocol review).
- Generates a Markdown report with test failure analysis.
2026-01-20 23:29:02 +00:00
thePR0M3TH3AN f2fd3c42d4 Merge pull request #1450 from PR0M3TH3AN/ai/dead-code-20241109-11433272486894929094
chore(ai): remove dead code and fix test deps
2026-01-20 17:28:12 -05:00
google-labs-jules[bot] ecec1a90a1 chore(ai): remove dead code (agent)
Removed unused JS exports and constants identified during dead code sweep:
- `subscribeToDesignSystemChanges` (js/designSystem.js)
- Unused metric getters (js/designSystem/metrics.js)
- `refreshHealthBadges` (js/gridHealth.js)
- `setQueryParam` (js/index.js)
- `ADMIN_INITIAL_WHITELIST`, `ADMIN_INITIAL_BLACKLIST` (js/lists.js)
- `getWatchHistoryV2Enabled` (js/constants.js)

Also added missing `jsdom` devDependency to fix unit test failures.

Verified with `npm run build`, `npm run lint`, and `npm run test:unit`.
2026-01-20 22:27:18 +00:00
thePR0M3TH3AN 79ed9a26b9 Merge pull request #1449 from PR0M3TH3AN/ai/smoke-tests-20260120-406184268025013645
chore(ai): add smoke test script (agent)
2026-01-20 17:24:53 -05:00
google-labs-jules[bot] 4daa41a91b chore(ai): add smoke test script (agent) 2026-01-20 21:32:55 +00:00
thePR0M3TH3AN 5c7cf2b183 Merge pull request #1448 from PR0M3TH3AN/ai/load-test-20260120-1850454190753046613
Add Load Testing Script
2026-01-20 15:33:21 -05:00
thePR0M3TH3AN 27ed68223e Merge pull request #1447 from PR0M3TH3AN/mobile-fullscreen-login-modal-12566307105546717408
Make Login Modal full-screen on mobile
2026-01-20 15:32:52 -05:00
google-labs-jules[bot] 04b26aa040 Add load testing script and report 2026-01-20 19:40:19 +00:00
google-labs-jules[bot] a49eb6a644 Make Login Modal full-screen on mobile devices
This change updates `components/login-modal.html` to remove layout constraints (`items-start`, `justify-center`, `max-h-modal-shell`) on mobile viewports (< lg) by prefixing them with `lg:`. This allows the modal to utilize the default full-screen behavior provided by the `.bv-modal` and `.modal-sheet` classes on smaller screens, matching the behavior of the Profile and Video modals. Desktop layout remains unchanged.
2026-01-20 19:18:45 +00:00
thePR0M3TH3AN dbda648a88 Merge pull request #1445 from PR0M3TH3AN/dm-mobile-view-fix-12289226893925859627
Improve DM mobile navigation with list/thread toggle
2026-01-20 14:10:39 -05:00
google-labs-jules[bot] febbc27706 feat: improve DM mobile navigation with list/thread toggle
- Implement mobile view state management (`list` vs `thread`) in `ProfileModalController`.
- Update `AppShell` to apply `data-dm-view` attribute for CSS toggling.
- Update `MessageThread` to render a "Back" button on mobile.
- Add CSS rules to hide/show sidebar and thread panels based on mobile view state.
- Ensure desktop layout remains split-pane.
2026-01-20 18:27:18 +00:00
thePR0M3TH3AN 9d3d1f0bd3 Merge pull request #1444 from PR0M3TH3AN/ai/debug-frontend-20260120-18146226529640125795
fix(ai): frontend console error — remove failing relay
2026-01-20 13:17:32 -05:00
google-labs-jules[bot] 5d7287b31b fix(ai): frontend console error — remove failing relay (agent) 2026-01-20 18:12:00 +00:00
thePR0M3TH3AN d7de9d58d1 Merge pull request #1443 from PR0M3TH3AN/ai/fuzz-nostr-20260120-648329532166319407
feat: add fuzz testing harness and fix repost builder
2026-01-20 12:44:21 -05:00
google-labs-jules[bot] 5c2e9cd7f8 feat: add fuzz testing harness and fix repost builder
- Created generic fuzzing library `scripts/agent/fuzz-lib.mjs`.
- Implemented fuzz targets for `nostrEventSchemas.js`, `dmDecryptor.js`, and `magnetUtils.js`.
- Fixed `buildRepostEvent` to allow missing relay URLs for robustness.
- Added crash reproducers to `examples/reproducers/`.
2026-01-20 16:42:46 +00:00
thePR0M3TH3AN 5726997475 Merge pull request #1442 from PR0M3TH3AN/ai/doc-client-20231026-7119633933241753888
chore(ai): document js/nostr/client.js
2026-01-20 11:19:08 -05:00
thePR0M3TH3AN 6300cf37bd Merge pull request #1440 from PR0M3TH3AN/ai/docs-update-YYYYMMDD-15296674508179867315
Update documentation with quickstarts and schema fixes
2026-01-20 11:18:34 -05:00
thePR0M3TH3AN e46272bd6f Merge pull request #1441 from PR0M3TH3AN/mobile-profile-logout-button-10395340515709364432
feat: Move logout button to menu list on mobile
2026-01-20 11:17:10 -05:00
google-labs-jules[bot] 40690c7008 chore(ai): doc js/nostr/client.js (agent)
- Added JSDoc comments to `NostrClient` class and methods.
- Documented state management (`activeMap`, `tombstones`), caching strategy, and subscription buffering.
- Created `docs/nostr-client-overview.md` with a high-level architecture overview.
- Verified with `tests/nostr-login-permissions.test.mjs`.
2026-01-20 15:23:38 +00:00
google-labs-jules[bot] 486c8af4a1 feat: Move logout button to menu list on mobile
- Added a new mobile-specific "Logout" button to the profile navigation list, visible only on screens smaller than `lg`.
- Hid the existing footer logout button on mobile screens.
- Updated `ProfileModalController` to bind the logout logic to the new mobile button.
- Applied `data-variant="critical"` and spacing to the new button to match styling requirements.
2026-01-20 14:26:54 +00:00