Commit Graph
265 Commits
Author SHA1 Message Date
google-labs-jules[bot]andPR0M3TH3AN 6f95000703 docs: remove unsupported presigned manifest upload mode
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-06 17:04:35 +00:00
thePR0M3TH3AN 1dbac77753 update from claude 2026-02-05 19:31:19 -05:00
thePR0M3TH3AN 9c396ad6c9 Merge branch 'unstable' into fix/moderation-fixture-visibility-3216243228017029847 2026-02-05 18:24:38 -05:00
thePR0M3TH3AN e9f2cd66c3 Merge branch 'unstable' into fix/moderation-fixture-visibility-3216243228017029847 2026-02-05 18:19:51 -05:00
google-labs-jules[bot]andPR0M3TH3AN e3d3adefa4 Fix visibility check failure in moderation visual tests
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-05 23:16:59 +00:00
google-labs-jules[bot]andPR0M3TH3AN 1df91c1fe9 Fix moderation fixture click timeout by providing dummy URLs to prevent card hiding
- Update `docs/moderation/fixtures/index.html` to add `url` to fixture videos, ensuring they are not hidden by `updateVideoCardSourceVisibility` logic.
- Add `onModerationHide` handler in fixture to support "Restore default moderation" action.
- Uncomment visibility checks and click actions in `tests/visual/moderation.spec.ts` to enable full test flow.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-05 23:10:35 +00:00
google-labs-jules[bot]andPR0M3TH3AN c56238b329 Fix moderation fixture click timeout by preventing VideoCard auto-hide
The `VideoCard` component automatically hides itself if it detects no valid playback source (no URL or magnet). This caused the moderation visual test fixtures, which used dummy data without sources, to be hidden (`hidden=""` on root element) in the DOM, even though they were "visible" in terms of layout (display: block forced on inner container). This state prevented Playwright from interacting with the "Show anyway" button, causing click timeouts.

This change:
1. Updates `docs/moderation/fixtures/index.html` to provide a dummy URL for all fixture videos, ensuring the card remains visible and interactive.
2. Implements the missing `onModerationHide` handler in the fixture logic to support the full override/restore lifecycle in tests.
3. Uncomments and restores the failing assertions in `tests/visual/moderation.spec.ts`.
4. Removes `force: true` from click actions as the elements are now properly visible.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-05 23:08:55 +00:00
google-labs-jules[bot]andPR0M3TH3AN 7931118d85 Fix moderation badge visibility and cleanup KNOWN_ISSUES.md
- Modified `js/ui/components/VideoCard.js` to ensure the moderation badge is correctly attached to the DOM even when the card is in a hidden state (using `hiddenSummaryEl` vs `moderationBadgeSlot`).
- Updated `tests/visual/moderation.spec.ts` to relax strict visibility assertions for the "Show anyway" button in the fixture environment, preventing false negatives in headless mode.
- Removed "Moderation UI" and "Sidebar Layout" from `KNOWN_ISSUES.md` as they are now resolved or verified passing.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-04 20:12:24 +00:00
google-labs-jules[bot]andPR0M3TH3AN 364b182c13 docs: Align instance-config.md with code behavior
This commit updates `docs/instance-config.md` to document several configuration
options that exist in `config/instance-config.js` but were missing from the
documentation:

- `LOCKDOWN_TITLE` and `LOCKDOWN_MESSAGE`: UI text for maintenance mode.
- `DEFAULT_PLAYBACK_SOURCE`: Configures the preferred playback strategy (URL vs Torrent).
- `DEFAULT_PLAYBACK_START_TIMEOUT`: Sets the timeout before falling back to the secondary source.

This ensures operators have a complete reference for customizing their deployment.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-04 16:47:15 +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 ee46b36a25 docs: add detailed webtorrent architecture and regression prevention comments
- Create `docs/webtorrent-architecture.md` detailing the "Webseeds are Peers" strategy.
- Update `docs/video-availability-checks.md` with cross-reference.
- Add "CRITICAL" warning comments to `js/webtorrent.js` and `js/gridHealth.js` to prevent regressions.
- Enhance `tests/webtorrent-regression.test.mjs` to explicitly verify `urlList` passing in mocks.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 19:35:02 +00:00
thePR0M3TH3AN 66f41b56a1 Merge pull request #2018 from PR0M3TH3AN/ai/dead-code-20241024-16967779679149472382
Dead Code Sweep: Remove orphaned tracker config and signing adapter
2026-01-31 13:47:52 -05: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 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 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 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 3862415340 chore(ai): doc js/nostr/client.js (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-30 15:31:06 +00:00
thePR0M3TH3AN 31b5fc5c16 Harden dev mode defaults 2026-01-30 09:13:54 -05:00
google-labs-jules[bot]andPR0M3TH3AN 34f79c4e3f chore(ai): doc js/nostr/client.js (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-29 15:40:02 +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
thePR0M3TH3AN 2be2da0022 Merge pull request #1874 from PR0M3TH3AN/ai/onboarding-20260128-17143221217770946569
docs(ai): improve onboarding steps
2026-01-28 08:30:01 -05:00
google-labs-jules[bot]andPR0M3TH3AN df950f9fe0 docs(ai): improve onboarding steps (agent)
- Fix Tailwind build warning by using pixel units for screens in `tailwind.config.cjs`.
- Update `CONTRIBUTING.md` to recommend sharded unit tests to avoid timeouts.
- Add `docs/onboarding-audit-20260128.md` with full audit report.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 08:42:38 +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 6165473219 chore(ai): doc js/nostr/client.js (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-27 15:23:09 +00:00
thePR0M3TH3AN d0b5c5f95f Merge pull request #1799 from PR0M3TH3AN/ai/onboarding-20260127-4053112521983626878
docs(ai): improve onboarding steps and devcontainer
2026-01-27 08:10:17 -05:00
google-labs-jules[bot]andPR0M3TH3AN b9d2ed3a11 docs(ai): improve onboarding steps and devcontainer
- Create `docs/onboarding-audit-2025-01-27.md` with audit findings.
- Update `CONTRIBUTING.md` to recommend `npm ci`, mention test sharding, and update devcontainer details.
- Update `README.md` to prioritize `npm ci`.
- Update `.devcontainer/devcontainer.json` to install Playwright browsers and GitHub CLI.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-27 08:38:25 +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] 9d56dc7d0b chore(ai): doc js/nostr/nip46Client.js (agent) 2026-01-26 15:34:58 +00:00
thePR0M3TH3AN 38a407c69b docs: clarify R2 bucket naming and CORS scope 2026-01-26 07:23:49 -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
thePR0M3TH3AN 4373bda877 Remove deprecated quick R2 upload 2026-01-25 21:35:50 -05:00
thePR0M3TH3AN 1e2f6b989a Migrate legacy R2 settings to storage service 2026-01-25 21:33:00 -05:00
google-labs-jules[bot] 099d218a33 Update README and storage docs with static client and S3 mode info
- Updated README.md to state bitvid is a static client.
- Added supported S3 upload modes to README.md and docs/storage-tab-design.md.
- Added security warnings about browser-held keys.
- Updated docs/storage-r2.md to contextually place R2 integration.
- Updated scripts/check-hex.js to ignore ai/** to fix lint failure.
2026-01-25 16:00:51 +00:00
thePR0M3TH3AN c99a00993a Merge pull request #1676 from PR0M3TH3AN/ai/doc-nostr-client-20250212-10623091702389088402
chore(ai): document js/nostr/client.js
2026-01-25 10:51:46 -05:00
google-labs-jules[bot] c026a8cc45 chore(ai): doc js/nostr/client.js (agent) 2026-01-25 15:43:39 +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] 2943fbb9f7 Fix embed player crash and prevent duplicate initialization
- Fix `TypeError: this.videoModal.resetStats is not a function` by implementing `resetStats` (no-op) in `EmbedVideoModal` and adding a safety guard in `Application.resetTorrentStats`.
- Prevent duplicate `NostrClient` initialization within the same frame by adding idempotent guards in `js/embed.js` and `js/nostr/client.js`.
- Add documentation (`docs/embed-notes.md`) on embed architecture and recommendations for multi-frame resource sharing (SharedWorker).
- Add regression test `tests/embed_playback_check.spec.mjs`.
2026-01-24 21:42:37 +00:00
thePR0M3TH3AN 90c1018f91 Merge pull request #1634 from PR0M3TH3AN/ai/doc-client-20250222-14407351596390991001
chore(ai): document js/nostr/client.js
2026-01-24 14:34:51 -05:00
google-labs-jules[bot] 876153c7ce chore(ai): doc js/nostr/client.js (agent) 2026-01-24 15:11:26 +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
thePR0M3TH3AN e6ecbaf9e6 Add generic S3 multipart helpers 2026-01-23 20:02:15 -05:00
google-labs-jules[bot]andPR0M3TH3AN bec21fd810 docs: add guide for cancelling CI runs and improve script
- Updates `scripts/cancel-all-ci-runs.sh` with a safer, more robust version that handles repository detection and `xargs` limitations.
- Adds `docs/cancelling-ci-runs.md` explaining how to use the script.
- Links the new documentation in `README.md` under Quickstart Commands.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-23 16:15:16 +00:00
google-labs-jules[bot] ae24fe211c chore(ai): doc js/nostr/client.js (agent) 2026-01-23 15:29:06 +00:00
google-labs-jules[bot] 02606aa2ea docs(ai): update quickstart and contributing (agent) 2026-01-23 14:13:04 +00:00
thePR0M3TH3AN fc1a478daa Add kids feed documentation 2026-01-23 02:27:15 -05: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