Commit Graph
1602 Commits
Author SHA1 Message Date
google-labs-jules[bot] 981fac785a fix(embed): implement robust EmbedPlayerModal and guard resetTorrentStats
- Add `js/ui/components/EmbedPlayerModal.js` to implement the `VideoModal` interface for embed contexts (including `resetStats`).
- Update `js/ui/ModalManager.js` to detect embed mode and use `EmbedPlayerModal`.
- Clean up `js/embed.js` to remove local modal definition and add `postMessage` diagnostic logging.
- Update `js/app.js` `resetTorrentStats` log message and verify guard.
- Add unit tests for `EmbedPlayerModal` and `resetTorrentStats` logic.
- Add E2E reproduction script `tests/e2e/repro_issue.spec.ts`.
2026-01-24 22:09:03 +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 0f502a79c2 Merge pull request #1643 from PR0M3TH3AN/fix-embed-modal-buttons-12116875342849342102
Fix unresponsive buttons in Embed Video modal
2026-01-24 15:56:17 -05:00
google-labs-jules[bot] 95cf17e018 fix(ui): unwrap embed modal content to resolve button interaction issues
Refactored `EmbedVideoModal.js` to unwrap the fetched HTML content using a `DocumentFragment` before appending it to the DOM. This removes an unnecessary wrapper `div` that was causing stacking context issues, preventing the modal's buttons (Exit, Close, Copy) from being clickable when layered over other UI elements. This change aligns the implementation with `VideoModal.js`.
2026-01-24 20:50:50 +00:00
thePR0M3TH3AN c4a602651f Merge pull request #1642 from PR0M3TH3AN/ai/dead-code-20241109-12426490253240890993
chore(ai): remove dead code (unused exports & deps)
2026-01-24 15:40:44 -05:00
google-labs-jules[bot] 4a0b81ad98 chore(ai): remove dead code (unused exports & deps) 2026-01-24 20:28:53 +00:00
google-labs-jules[bot] 6e21247505 fix(ui): ensure modals render above video player
- Adds --z-modal-always-top: 200 token in css/tokens.css
- Adds .modal-always-on-top utility class in css/tailwind.source.css
- Applies class to EventDetailsModal, EmbedVideoModal, and ShareNostrModal
2026-01-24 20:12:04 +00:00
thePR0M3TH3AN 37f5083947 Merge branch 'unstable' into ai/debug-frontend-20260124-13275558127831455913 2026-01-24 14:36:28 -05:00
thePR0M3TH3AN a639887a2d Merge pull request #1636 from PR0M3TH3AN/ai/fuzz-nostrEventSchemas-20241026-8251034504942230718
Fuzz Testing Infrastructure & Crash Fix
2026-01-24 14:35:59 -05:00
thePR0M3TH3AN 029ce974c8 Merge pull request #1635 from PR0M3TH3AN/ds-audit/2024-10-24-5776651930377436842
Design System Audit & Fixes
2026-01-24 14:35:33 -05: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
thePR0M3TH3AN 49355ccd35 Merge pull request #1627 from PR0M3TH3AN/ai/onboarding-20241025-6817543098205599361
docs(ai): improve onboarding steps and fix lint
2026-01-24 14:32:02 -05:00
thePR0M3TH3AN 934a1d7a41 Merge pull request #1624 from PR0M3TH3AN/ai/schema-validate-latest-5595774537431140337
chore(ai): event schema validation tool + fixes
2026-01-24 14:29:07 -05:00
thePR0M3TH3AN 84a6a450dc Merge pull request #1623 from PR0M3TH3AN/ai/refactor-reactions-20241026-2487608613137550346
Refactor reaction logic to ReactionController
2026-01-24 14:28:15 -05:00
google-labs-jules[bot] 61c655836e fix(app): remove stale calls to teardownModalReactionSubscription
- Fixes a regression where `hideModal` and `cleanup` methods in `js/app.js` were calling a non-existent method `teardownModalReactionSubscription`.
- Updated these methods to call `this.reactionController.unsubscribe()` instead.
- Removed a duplicate `hideModal` method definition that was shadowing the correct `async hideModal`.
2026-01-24 19:16:37 +00:00
google-labs-jules[bot] f02bfc27bf fix(app): unsubscribe ReactionController on modal close
Addresses a regression where the video modal close action (back button) could leave active subscriptions or state. This change ensures `ReactionController.unsubscribe()` is called within `hideModal()`.
2026-01-24 19:09:31 +00:00
thePR0M3TH3AN 93b15a8e65 Merge pull request #1612 from PR0M3TH3AN/ai/dead-code-20241109-13012687537684806094
chore(ai): remove dead code (agent)
2026-01-24 13:54:02 -05:00
google-labs-jules[bot] f2ab7302ab fix(ai): frontend console error — double load and lint fixes (agent) 2026-01-24 18:29:26 +00:00
thePR0M3TH3AN 8e7dec4077 Add S3 public URL helpers 2026-01-24 13:16:26 -05:00
thePR0M3TH3AN 15dea2bbf6 Add generic S3 connection support helpers 2026-01-24 12:39:56 -05:00
google-labs-jules[bot] 241ad32dc4 feat: add fuzz testing infrastructure and fix nostrEventSchemas crash
- Added `scripts/agent/fuzz-schemas.mjs`, `fuzz-dm.mjs`, `fuzz-magnet.mjs` and `fuzz-setup.mjs`.
- Fixed crash in `js/nostrEventSchemas.js` (buildAdminListEvent log and getNostrEventSchema type check).
- Added crash reproducers in `examples/reproducers/`.
- Fuzzers output reports to `artifacts/`.
- Updated fuzzers to deduplicate crashes and safely stringify inputs.
2026-01-24 16:46:46 +00:00
google-labs-jules[bot] 572fc1c9b8 Fix design system violations: raw lengths and inline styles
- Added `--size-40rem` to `css/tokens.css` and used it in `css/tailwind.source.css`.
- Refactored `js/ui/components/SearchFilterModal.js` to use Tailwind classes (`rotate-180`, `transition-transform`) instead of inline styles.
- Updated `REMEDIATION_REPORT.md` with audit results.
2026-01-24 15:58:49 +00: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] eb25d2df89 docs(ai): improve onboarding steps and fix lint
- Fix `npm run lint` failure by replacing inline style with CSS class in `js/ui/components/SearchFilterModal.js`.
- Fix `npm run lint:tokens` failure by defining `--size-40rem` in `css/tokens.css` and using it in `css/tailwind.source.css`.
- Update `CONTRIBUTING.md` with troubleshooting tips for unit test hangs and linting failures.
- Attempt to update `caniuse-lite` to silence build warning (may persist due to environment/cache).
2026-01-24 08:37:11 +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] 9fb07c6ce2 refactor(ai): extract reaction logic from js/app.js (agent)
Extracted video reaction logic (subscription, optimistic updates, and publishing) from `js/app.js` into a dedicated `ReactionController`.

*   Created `js/ui/reactionController.js`.
*   Refactored `js/app.js` to usage `ReactionController` and removed legacy methods.
*   Added unit tests in `tests/ui/reactionController.test.mjs`.
*   Ensured reaction subscription updates on user login/logout.

This follows the `AGENTS.md` guideline to move UI logic to controllers.
2026-01-24 03:21:14 +00:00
thePR0M3TH3AN e6ecbaf9e6 Add generic S3 multipart helpers 2026-01-23 20:02:15 -05:00
thePR0M3TH3AN 9412afb1af Add generic S3 client loader and update tests 2026-01-23 18:49:34 -05:00
thePR0M3TH3AN 6ee9d44213 Add embed page for pointer playback 2026-01-23 18:35:58 -05:00
thePR0M3TH3AN 7666629cba Update embed modal pointer encoding 2026-01-23 17:58:45 -05:00
thePR0M3TH3AN b3de79f46c Add embed video modal 2026-01-23 17:14:07 -05:00
google-labs-jules[bot] 29afba2199 chore(ai): remove dead code (agent)
Removed unused `js/search/searchFacetState.js` and cleaned up broken calls in `js/searchView.js`.
2026-01-23 20:33:06 +00:00
thePR0M3TH3AN 1709972f14 Add embed action to video modal 2026-01-23 15:24:09 -05:00
google-labs-jules[bot] e6e002ee8b Refactor search filter to responsive modal
- Replaced `SearchFiltersPopover` with `SearchFilterModal`
- Implemented responsive design: wide on desktop, tall/skinny on mobile
- Added "Advanced" toggle for complex filters
- Integrated NSFW toggle with config check (`ALLOW_NSFW_CONTENT`)
- Updated `js/index.js` to use the new modal
- Removed legacy popover component
2026-01-23 19:52:50 +00:00
google-labs-jules[bot] f53bfbeccf Replace search filter popover with responsive modal
Replaces the existing search filter popover with a new responsive modal component to improve UI/UX on both desktop and mobile devices.

- Adds `components/search-filter-modal.html` implementing a responsive grid layout.
- Adds `js/ui/components/SearchFilterModal.js` to manage filter state and modal interactions.
- Updates `js/index.js` to bootstrap the new modal and bind trigger events.
- Removes obsolete `js/ui/components/SearchFiltersPopover.js`.
- Keeps advanced filters hidden by default behind a toggle.

Signed-off-by: Jules <[email protected]>
2026-01-23 19:41:10 +00:00
thePR0M3TH3AN cedd79fb49 Merge pull request #1607 from PR0M3TH3AN/codex/add-feature_search_filters-flag
Add FEATURE_SEARCH_FILTERS runtime flag and gate search filters UI
2026-01-23 14:18:13 -05:00
thePR0M3TH3AN 954a1ae4e6 Enable search filters flag in dev mode 2026-01-23 14:16:43 -05:00
thePR0M3TH3AN d639b712dd Restore search filter popover imports 2026-01-23 14:10:48 -05:00
thePR0M3TH3AN 861576db89 Gate advanced search filters behind toggle 2026-01-23 14:05:26 -05:00
thePR0M3TH3AN f3db9e7630 Add search filters feature flag 2026-01-23 13:54:23 -05:00
thePR0M3TH3AN 6fd50e2809 Merge pull request #1605 from PR0M3TH3AN/ai/debug-frontend-20241109-11968123522508426777
fix(ai): frontend console error — fix missing build artifact and admin list fetch warning (agent)
2026-01-23 13:51:35 -05:00
thePR0M3TH3AN efcaf02e8c Add search filter unit tests 2026-01-23 13:48:54 -05:00
google-labs-jules[bot] a731ef6887 fix(ai): frontend console error — fix missing build artifact and admin list fetch warning (agent)
- Added `start` script to `package.json` to ensure `npm run build` is executed before serving, preventing 404 errors for `css/tailwind.generated.css`.
- Updated `js/adminListStore.js` to include the super admin pubkey (decoded from `ADMIN_SUPER_NPUB`) in the filter when fetching admin lists. This resolves the warning: `[adminListStore] Cannot use incremental fetch for editors without author.`
- Added `scripts/agent/debug_frontend.py` to diagnose frontend errors using Playwright.
- Verified fixes by running the debug script and confirming warnings are gone.
2026-01-23 18:45:36 +00:00
thePR0M3TH3AN 040e9e0224 Merge branch 'unstable' into codex/enhance-filter-popover-accessibility 2026-01-23 13:43:29 -05:00
thePR0M3TH3AN 7eea5110b5 Improve search filter popover accessibility 2026-01-23 13:41:24 -05:00
thePR0M3TH3AN 4a7b9dc602 Merge branch 'unstable' into jules-fix-sidebar-and-baseline-297374874061158968 2026-01-23 13:37:52 -05:00
google-labs-jules[bot] 03a54b999f fix(ui): initialize sidebar logic before app ready and update visual baseline
Moves the sidebar density and toggle initialization logic in `js/index.js` to execute immediately after `loadSidebar` completes, rather than waiting for `applicationReadyPromise`. This resolves a race condition where the sidebar toggle was unresponsive during application startup (e.g. relay connection), causing `overlay-layers.spec.ts` to timeout.

Also updates the visual baseline for `video-modal-mobile` in `kitchen-sink.spec.ts` to match current rendering (height change), addressing the reported visual regression failure.

Verified with reproduction script and running visual tests locally.
2026-01-23 18:36:38 +00:00
thePR0M3TH3AN d378ee2be6 Add suggested facet counts to search filters 2026-01-23 13:35:00 -05:00
thePR0M3TH3AN 90fded1d71 Merge branch 'unstable' into jules-fix-sidebar-and-baseline-297374874061158968 2026-01-23 13:30:06 -05:00
google-labs-jules[bot] a01814b962 fix(ui): initialize sidebar logic before app ready and update visual baseline
Moves the sidebar density and toggle initialization logic in `js/index.js` to execute immediately after `loadSidebar` completes, rather than waiting for `applicationReadyPromise`. This resolves a race condition where the sidebar toggle was unresponsive during application startup (e.g. relay connection), causing `overlay-layers.spec.ts` to timeout.

Also updates the visual baseline for `video-modal-mobile` in `kitchen-sink.spec.ts` to match current rendering (height change), addressing the reported visual regression failure.

Verified with reproduction script and running visual tests locally.
2026-01-23 18:28:50 +00:00