Commit Graph
75 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN 3b0556414c docs: align CLAUDE.md and nostr-event-schemas.md with codebase
- Update `CLAUDE.md` to include `FEATURE_TRUSTED_HIDE_CONTROLS` and `FEATURE_IMPROVED_COMMENT_FETCHING`.
- Update `docs/nostr-event-schemas.md` to include detailed schemas for NIP-17 and Gift Wrap kinds (1059, 13, 14, 15, 20001, 20002, 10050).
- Add task logs for docs-alignment-agent execution.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-13 05:35:46 +00:00
google-labs-jules[bot]andPR0M3TH3AN d35aced8ad docs: align development docs with codebase behavior
Updates documentation to match current codebase implementation:
- Deprecates `nostrClient.fetchVideos` in README.md, pointing to `subscribeVideos`.
- Clarifies `playVideoWithFallback` implementation location in `docs/playback-fallback.md` and `AGENTS.md` (moved to `js/app/playbackCoordinator.js`).
- Corrects `WATCH_HISTORY` d-tag description in `docs/nostr-event-schemas.md` to match actual code behavior (`<YYYY-MM>`).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-09 18:33:32 +00:00
thePR0M3TH3AN ede2f5cdc2 Merge pull request #2249 from PR0M3TH3AN/docs-subscription-backup-schema-11453826493234400433
Add Subscription Backup to Nostr Event Schemas Docs
2026-02-08 13:32:04 -05:00
google-labs-jules[bot]andPR0M3TH3AN c7ac9f03f2 docs: add Subscription Backup to event schema catalogue
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-08 16:57:43 +00:00
google-labs-jules[bot]andPR0M3TH3AN 0f04245440 chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to validate event builders against schemas, covering standard and specific usage patterns.
- Updated `js/nostrEventSchemas.js` to include NIP-17 event types (`GIFT_WRAP`, `SEAL`, `CHAT_MESSAGE`) and their builders.
- Refactored `js/nostr/client.js` to use NIP-17 builders in `sendDirectMessage`, enabling runtime schema validation.
- Updated `docs/nostr-event-schemas.md` to document the new event types.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-08 05:09:54 +00:00
google-labs-jules[bot]andPR0M3TH3AN 655cdb4a7e docs: update User Block List schema description
- Updated "User block list" row in docs/nostr-event-schemas.md to describe encrypted JSON arrays of NIP-51 tag tuples.
- Added note about migration to standard Mute List (kind 10000).
- Added NIP-51 cross-reference.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 22:21:57 +00:00
google-labs-jules[bot]andPR0M3TH3AN 8383a4f18b Migrate user blocks to standard NIP-51 Mute List
- Updates `js/userBlocks.js` to treat Kind 10000 (standard Mute List) as the primary write target.
- Public mutes are stored in `p` tags, and private blocks are stored in encrypted content within the same event.
- Legacy `d=user-blocks` lists are still read for backward compatibility (preferring the newest event), but no longer written.
- Updates `js/nostrEventSchemas.js` to mark `USER_BLOCK_LIST` as legacy and standardise `MUTE_LIST`.
- Updates UI controllers (`MoreMenuController`, `ProfileModalController`) to use "Mute/Block List" terminology and delegate all mute/block actions to `userBlocks`.
- Updates `ModerationService` to delegate viewer mute operations to `userBlocks` and disable direct Kind 10000 publishing to prevent overwrites.
- Documentation updated in `docs/nostr-event-schemas.md`.
- Fixes regressions in `more-menu-controller.test.mjs`, `moderation-service.test.mjs`, `trusted-mute-lists.test.mjs`, and `user-blocks.test.mjs`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 21:47:29 +00:00
thePR0M3TH3AN 452d5b1e88 Update subscription encryption tagging and decryption 2026-02-01 15:55:39 -05: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 0caa31eab0 chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to validate Nostr event builders and ensure test coverage for used builders.
- Updated `docs/nostr-event-schemas.md` to reference the new validation tool.
- Verified that all centralized builders in `js/nostrEventSchemas.js` produce valid events.
- Identified and ignored non-builder functions in the validation script to prevent false positives.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-29 05:33:04 +00:00
google-labs-jules[bot]andPR0M3TH3AN 62c0bdc07d fix(ci): address visual regression failure and cleanup css
Force click on sidebar collapse toggle in visual tests to resolve headless visibility flake. Removed redundant CSS media queries for sidebar elements.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 05:56:08 +00:00
google-labs-jules[bot]andPR0M3TH3AN f5233a93f3 chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to validate event builders against schemas.
- Refactored `buildVideoPostEvent` in `js/nostrEventSchemas.js` to automatically generate the required `s` (storage pointer) tag if missing, using `infoHash`, `url`, or `videoRootId`.
- Verified that `js/utils/storagePointer.js` exists and is imported correctly.
- Updated `docs/nostr-event-schemas.md` to reflect the auto-generation behavior.
- Verified fixes with `scripts/agent/validate-events.mjs` and existing unit tests.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-27 05:47:05 +00:00
thePR0M3TH3AN 419a3f419c Add storage pointer tags to video posts 2026-01-26 22:07:32 -05:00
thePR0M3TH3AN 82986650ce Store video file fingerprints alongside series IDs 2026-01-26 12:25:54 -05:00
google-labs-jules[bot] 3a1ffd3688 chore(ai): event schema validation tool + fixes
- Added `scripts/agent/validate-events.mjs` to validate event builders.
- Added `GENERIC_REPOST` (kind 16) to `js/nostrEventSchemas.js` and `docs/nostr-event-schemas.md`.
- Updated `buildRepostEvent` to validate against `GENERIC_REPOST` when producing kind 16 events.
2026-01-26 05:20:43 +00:00
google-labs-jules[bot] 5790b6e7c1 chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to validate all event builders.
- Fixed `buildViewEvent` to generate a fallback `d` tag for kind 30079 compliance.
- Relaxed `REPOST` schema validation to allow empty content (blind reposts), per NIP-18.
- Updated `docs/nostr-event-schemas.md` to reflect schema changes.
2026-01-25 05:29:32 +00:00
google-labs-jules[bot] 6884d06192 chore(ai): event schema validation tool + fixes
- Added `scripts/agent/validate-events.mjs` for builder validation.
- Enhanced `js/nostrEventSchemas.js` with `validateEventStructure`.
- Fixed `safeStringify` to handle objects correctly.
- Added `NOTE_TYPES.HTTP_AUTH` and `NOTE_TYPES.REPORT` with builders.
- Refactored `js/userBlocks.js`, `js/auth/signingAdapter.js`, `js/services/moderationService.js` to use builders.
- Updated `tests/user-blocks.test.mjs` mocks and assertions.
- Updated documentation.
2026-01-24 05:36:40 +00:00
google-labs-jules[bot] 02606aa2ea docs(ai): update quickstart and contributing (agent) 2026-01-23 14:13:04 +00:00
google-labs-jules[bot] 653f1925f8 chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to validate event builders against schemas.
- Instrumented all event builders in `js/nostrEventSchemas.js` to run validation in dev mode.
- Added `tests/event-schemas.test.mjs` to CI suite.
- Updated `docs/nostr-event-schemas.md` with validation instructions.
2026-01-23 05:33:57 +00:00
thePR0M3TH3AN 5e389ab29b Document and test share note events 2026-01-22 22:50:00 -05:00
thePR0M3TH3AN 8e5b8b09ce Add Nostr share note publishing 2026-01-22 22:46:15 -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
google-labs-jules[bot] e282cf5a29 chore(ai): event schema validation tool + fixes
- Added `scripts/agent/validate-events.mjs` to verify builder output against schemas.
- Updated `js/nostrEventSchemas.js` to enforce relay hints in `buildRepostEvent` (fixes `tests/nostr-boost-actions.test.mjs`).
- Documented usage in `docs/nostr-event-schemas.md`.
- Verified 25 event builder scenarios pass validation.
2026-01-22 05:31:40 +00:00
google-labs-jules[bot] 0787e93bf0 docs(ai): update quickstart and contributing (agent) 2026-01-20 14:24:51 +00:00
google-labs-jules[bot] 3b80692eb0 chore(ai): event schema validation tool + fixes
- Created `scripts/agent/validate-events.mjs` to validate all event builders against schemas.
- Updated `docs/nostr-event-schemas.md` to match codebase (fixed `WATCH_HISTORY` key, removed unused `STORAGE_CHALLENGE`).
- Added `validateEventAgainstSchema` to `js/nostrEventSchemas.js` for runtime validation in dev mode.
- Instrumented `buildVideoPostEvent` to use runtime validation.
- Verified that all 22 builders produce conformant events.
2026-01-20 05:21:18 +00:00
thePR0M3TH3AN da42b98bb3 Add DM privacy and signing adapter documentation 2026-01-19 14:09:01 -05:00
thePR0M3TH3AN 3c75ac8c3f Add DM read receipts and typing indicators 2026-01-19 13:29:40 -05:00
thePR0M3TH3AN 9ea9fe2f08 Add DM attachment upload and preview flow 2026-01-19 12:51:34 -05:00
thePR0M3TH3AN d082df8e41 Add DM zap composer and zap request support 2026-01-19 11:29:55 -05:00
thePR0M3TH3AN 924ed9b482 Add DM privacy indicators and relay hint publishing 2026-01-19 10:56:54 -05:00
google-labs-jules[bot] 4d2bb8bf3d chore(ai): event schema validation tool + fixes
- Added `scripts/agent/validate-events.mjs` to validate event builders against schemas.
- Fixed `NOTE_TYPES.REPOST` schema content format (json instead of empty).
- Added `NOTE_TYPES.MUTE_LIST` and `buildMuteListEvent`.
- Added `buildProfileMetadataEvent` to standardise Kind 0 creation.
- Updated `js/ui/profileModalController.js` to use `buildProfileMetadataEvent`.
- Updated `js/userBlocks.js` to use `buildMuteListEvent` for publishing mute list snapshots.
- Updated `docs/nostr-event-schemas.md` with new schemas and builders.
2026-01-19 05:47:37 +00:00
thePR0M3TH3AN da7f62a372 Add signer adapter documentation 2026-01-18 11:30:43 -05:00
google-labs-jules[bot] d5da4a42d1 Update docs to describe the extensible model
- Create `docs/storage-tab-design.md` covering StorageService architecture
- Update `docs/storage-r2.md` to reflect the new provider pattern
- Expand Kind 22242 details in `docs/nostr-event-schemas.md`
2026-01-16 12:15:25 +00:00
google-labs-jules[bot] f50eda7e7a feat: add SignerKeyManager service for key derivation
- Defines `STORAGE_CHALLENGE` event type (Kind 22242) in `js/nostrEventSchemas.js` and docs.
- Implements `js/services/signerKeyManager.js` to derive symmetric keys from signer signatures or passphrases.
- Validates inputs and returns safe `CryptoKey` objects (AES-GCM).
2026-01-16 01:37:14 +00:00
thePR0M3TH3AN 891226697d Simplify watch history pipeline 2026-01-06 18:53:27 -05:00
thePR0M3TH3AN 5979d4e25f Use uppercase tags for comment events 2026-01-06 16:22:49 -05:00
thePR0M3TH3AN 4caa4d4877 Remove legacy hashtag preference fallback 2026-01-06 16:14:26 -05:00
thePR0M3TH3AN cc49f41356 Remove legacy subscription kind handling 2026-01-06 16:03:38 -05:00
thePR0M3TH3AN 3996986e63 Remove nostr shim and retarget imports 2026-01-06 15:32:21 -05:00
thePR0M3TH3AN adef1fb05d Document monthly watch history records 2026-01-03 13:09:42 -05:00
thePR0M3TH3AN 042a4d5740 Document hashtag preference auto-republish plan 2025-11-14 09:02:18 -05:00
thePR0M3TH3AN 9f0583f68d Document hashtag preference kind migration 2025-11-13 15:18:40 -05:00
thePR0M3TH3AN d9b45ed867 Ensure comment events keep root e tags alongside addresses 2025-11-03 09:56:33 -05:00
thePR0M3TH3AN 7db78b07f2 Restore legacy subscription list compatibility 2025-11-03 09:42:17 -05:00
thePR0M3TH3AN e496376236 Align subscription lists with NIP-51 follow set kind 2025-10-31 08:33:39 -04:00
thePR0M3TH3AN e19abcbbf4 Document comment publishing signer requirement 2025-10-30 12:12:37 -04:00
thePR0M3TH3AN cd3c3824b9 Handle dual NIP-44/NIP-04 watch history encryption 2025-10-30 11:17:39 -04:00
thePR0M3TH3AN 2b22f0f739 Normalize NIP-94 MIME tags 2025-10-29 21:35:38 -04:00
thePR0M3TH3AN eeee978134 Add NIP-22 metadata to video comment events 2025-10-29 14:38:59 -04:00
thePR0M3TH3AN d1d4fa150c Use kind 1111 comments with address-first tags 2025-10-29 07:45:34 -04:00