Commit Graph
4313 Commits
Author SHA1 Message Date
thePR0M3TH3AN e4ad07b2cf Add fast relay fallback for list fetches 2026-01-28 15:28:58 -05:00
thePR0M3TH3AN bcb9f13751 Merge pull request #1901 from PR0M3TH3AN/codex/move-background-tasks-to-after-login
Defer login hydration loads and show profile list loading placeholders
2026-01-28 15:16:13 -05:00
thePR0M3TH3AN dd9b9f1968 Defer login hydration loads 2026-01-28 15:15:52 -05:00
thePR0M3TH3AN 617095d995 Merge pull request #1899 from PR0M3TH3AN/codex/update-requestenablepermissions-logic
Prefer null `extension.enable()` with short timeout and extend explicit-permissions timeout
2026-01-28 15:05:49 -05:00
thePR0M3TH3AN 4fcb785f58 Adjust NIP-07 enable timeouts 2026-01-28 15:05:38 -05:00
thePR0M3TH3AN 0ecd10a84e Merge pull request #1898 from PR0M3TH3AN/codex/lower-default-timeout-values-and-document-overrides
Lower NIP-07 timeouts and add runtime override globals
2026-01-28 15:00:32 -05:00
thePR0M3TH3AN f0e27d175d Adjust NIP-07 timeouts and document overrides 2026-01-28 15:00:20 -05:00
thePR0M3TH3AN 9e137720b0 Merge pull request #1896 from PR0M3TH3AN/ai/load-test-20260128-17910285802654865988
feat(ai): Load Test Script & Report (agent)
2026-01-28 14:48:49 -05:00
thePR0M3TH3AN 7583b7791f Merge pull request #1897 from PR0M3TH3AN/codex/remove-nip04-and-nip44-from-default-permissions
Limit default NIP-07 login perms; request NIP-04/NIP-44 on-demand with decrypt UI
2026-01-28 14:47:20 -05:00
thePR0M3TH3AN 7c47208255 Adjust NIP-07 permissions for decrypt flows 2026-01-28 14:47:06 -05:00
google-labs-jules[bot]andPR0M3TH3AN 09187194d8 feat(ai): Load Test Script & Report (agent)
- Updated scripts/agent/load-test.mjs to handle empty reports.
- Added scripts/agent/load-test.mjs and load-test-relay.mjs to tracking.
- Generated artifacts/load-report-20260128.json.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 19:42:29 +00:00
thePR0M3TH3AN 661f501a15 Merge pull request #1895 from PR0M3TH3AN/codex/call-ensuredmdecryptor-on-login
Preload DM decryptor after NIP-07 login
2026-01-28 14:06:33 -05:00
thePR0M3TH3AN c67bf61c50 Preload DM decryptor after NIP-07 login 2026-01-28 14:06:20 -05:00
thePR0M3TH3AN 24e7fc39c5 Merge pull request #1894 from PR0M3TH3AN/codex/update-logout-to-preserve-nip-07-permissions
Preserve NIP-07 permissions on logout (configurable)
2026-01-28 14:03:56 -05:00
thePR0M3TH3AN 596e2f472b Preserve NIP-07 permissions on logout 2026-01-28 14:03:43 -05:00
thePR0M3TH3AN 377564c53b Merge pull request #1893 from PR0M3TH3AN/codex/add-centralized-permission-gate
Add shared NIP-07 permission gate with memoized in-flight promise
2026-01-28 13:59:41 -05:00
thePR0M3TH3AN cf9082b83f Add shared NIP-07 permission gate 2026-01-28 13:57:40 -05:00
thePR0M3TH3AN e24207c12d Merge pull request #1892 from PR0M3TH3AN/ai/debug-frontend-20260128-16915912596521663527
fix(ai): frontend console error — ignore .torrent urls in probeUrl (agent)
2026-01-28 13:51:43 -05:00
google-labs-jules[bot]andPR0M3TH3AN 9f60eeaaf2 fix(ai): frontend console error — ignore .torrent urls in probeUrl (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 18:50:36 +00:00
thePR0M3TH3AN 16f4b6b9fa Merge pull request #1891 from PR0M3TH3AN/codex/refactor-requestenablepermissions-function
Prefer null `enable()` first for NIP-07 and adjust enable timeouts
2026-01-28 13:48:46 -05:00
thePR0M3TH3AN b48dd4a28e Adjust NIP-07 enable permission fallback 2026-01-28 13:47:19 -05:00
thePR0M3TH3AN 8f27a12d07 Merge pull request #1890 from PR0M3TH3AN/codex/update-loginwithextension-logic
Fetch NIP-07 pubkey before permission prompt and defer permission requests
2026-01-28 13:44:40 -05:00
thePR0M3TH3AN 57e9dfff2c Adjust NIP-07 login permission flow 2026-01-28 13:44:21 -05:00
thePR0M3TH3AN fa3610f4f7 Merge pull request #1889 from PR0M3TH3AN/fix/optimize-nip07-login-perf-4235940878368250470
fix(perf): optimize NIP-07 login and user data loading speed
2026-01-28 13:11:14 -05:00
google-labs-jules[bot]andPR0M3TH3AN 90a74e7721 fix(perf): parallelize user data loading during NIP-07 login
Optimizes `handleAuthLogin` in `js/app.js` to run user data fetching (blocks, subscriptions, hashtag preferences) in the background instead of blocking the main UI render. This significantly improves perceived login speed, especially for users with large lists or slow NIP-07 extensions.

- Moves `userBlocks.seedWithNpubs` (which involves publishing) to background.
- Moves `subscriptions.ensureLoaded` and `hashtagPreferences.load` (which involve decryption) to background.
- Adds a race condition for `userBlocks.ensureLoaded` (read-only) with a short timeout to attempt early hydration without blocking indefinitely.
- Ensures the UI updates reactively when background data arrives via existing event listeners.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 18:02:37 +00:00
thePR0M3TH3AN 4de479aaca Merge pull request #1888 from PR0M3TH3AN/prioritize-user-data-sync-7512452180473262009
Prioritize User Data Sync (Blocklists, DMs) over Video Feed
2026-01-28 12:27:43 -05:00
google-labs-jules[bot]andPR0M3TH3AN 64fa5d4cb3 Prioritize User Data Sync (Blocklists, DMs) over Video Feed
* Boost DM decryption priority to HIGH in `nostrClient` to match other critical user data.
* Enforce blocking in `handleAuthLogin` to await initial DM sync before refreshing the main video feed.
* This ensures users see their personal data (blocks, messages) correctly loaded before the public feed appears, improving the perception of consistency.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 17:23:13 +00:00
thePR0M3TH3AN a4c5afe699 Merge pull request #1887 from PR0M3TH3AN/ai/fuzz-robustness-20260128-5464314293176064392
Fuzz Testing Implementation and Robustness Fixes
2026-01-28 11:46:40 -05:00
thePR0M3TH3AN 076fd221a7 Merge pull request #1886 from PR0M3TH3AN/fix-visual-test-sidebar-2740881461449457530
Fix mobile sidebar visual test flakiness
2026-01-28 11:46:25 -05:00
thePR0M3TH3AN 96354bbcc1 Merge pull request #1885 from PR0M3TH3AN/prioritize-user-lists-sync-13078957991563691909
Prioritize user lists syncing during login
2026-01-28 11:45:57 -05:00
google-labs-jules[bot]andPR0M3TH3AN 9f67b9e06b feat: add fuzz testing harnesses and fix crash in nostrEventSchemas
- Expand fuzzing coverage for `js/nostrEventSchemas.js` to include all builder functions.
- Fix a crash in `buildAdminListEvent` where non-array `hexPubkeys` caused a TypeError.
- Update `scripts/agent/fuzz-dmDecryptor.mjs` and `scripts/agent/fuzz-magnetUtils.mjs` iterations.
- Add reproducer for the `buildAdminListEvent` crash.
- Generate fuzz reports in `artifacts/`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 16:27:36 +00:00
google-labs-jules[bot]andPR0M3TH3AN e2ea65b087 fix(test): stabilize mobile sidebar visual regression test
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 16:25:28 +00:00
google-labs-jules[bot]andPR0M3TH3AN 5ae693acbd Prioritize user lists syncing during login
Prioritize fetching of block lists, subscriptions, and other user data before loading the main video feed during login.
- In `handleAuthLogin`, stop the existing video feed subscription immediately to free up bandwidth.
- Explicitly await `subscriptions.ensureLoaded(activePubkey)` alongside `userBlocks.seedWithNpubs` before triggering `refreshAllVideoGrids`.
This ensures user context is fully loaded before the heavy feed sync starts, addressing slow sync issues especially with NIP-07.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 16:20:34 +00:00
thePR0M3TH3AN 8e2e641e07 Merge pull request #1884 from PR0M3TH3AN/fix-visual-test-sidebar-fade-726574171242029755
fix(test): resolve flaky sidebar visibility check in visual tests
2026-01-28 11:12:47 -05:00
google-labs-jules[bot]andPR0M3TH3AN ae03023d72 fix(test): wait for sidebar fade-in to complete in overlay-layers test
Explicitly wait for the `#sidebar` element to lose the `fade-in` class after dismissing the disclaimer modal in `tests/visual/overlay-layers.spec.ts`. This prevents race conditions in CI environments where the `opacity: 0` style from the fade-in animation persists during subsequent visibility checks, causing `expect(locator).toBeVisible()` to fail unexpectedly.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 16:10:40 +00:00
thePR0M3TH3AN 358e077ec7 Merge pull request #1882 from PR0M3TH3AN/ai/doc-nostr-client-20250221-12906275170821971832
chore(ai): document NostrClient core logic
2026-01-28 11:04:47 -05:00
thePR0M3TH3AN 79a69e75f1 Merge pull request #1883 from PR0M3TH3AN/chore/daily-design-system-audit-report-1008241807942944413
chore: Daily Design System Audit Report
2026-01-28 11:04:27 -05:00
google-labs-jules[bot]andPR0M3TH3AN 02585f6e8c chore: Daily Design System Audit Report
Executed the daily design system audit using `scripts/daily-design-system-audit.mjs`.
The audit found no violations.

Generated `REMEDIATION_REPORT.md` with the results.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 15:56:40 +00:00
google-labs-jules[bot]andPR0M3TH3AN 8a94a26688 chore(ai): document NostrClient core logic
- Added detailed JSDoc to `init` and `fetchListIncrementally` in `js/nostr/client.js`.
- Verified existing JSDoc for `subscribeVideos`, `hydrateVideoHistory`, `revertVideo`, and `deleteAllVersions`.
- Updated `docs/nostr-client-overview.md` with new sections on Incremental List Fetching, Deletion & Reversion, and a Key Methods Reference table.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 15:53:34 +00:00
thePR0M3TH3AN 8e223650c6 Merge pull request #1881 from PR0M3TH3AN/fix-build-and-test-flakiness-13073990612371615685
Fix build failure and test flakiness in moderation overrides
2026-01-28 10:45:29 -05:00
google-labs-jules[bot]andPR0M3TH3AN afaf5b2221 fix(test): resolve moderation-overrides flakiness and clean artifacts
- Clean up `verify_fix.mjs`, `verify_source_toggle.py`, and logs to fix potential lint/grep issues in CI.
- Define `normalizeHexPubkey` on test harness in `tests/helpers/moderation-test-helpers.mjs` to ensure robust `Application` mocking for `ModerationActionController` tests.
- Verify build and tests pass.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 15:40:12 +00:00
thePR0M3TH3AN 2dc23a5bb4 Merge pull request #1880 from PR0M3TH3AN/feat/prioritize-profile-sync-17123164066717764298
Prioritize profile and feed data synchronization
2026-01-28 10:12:06 -05:00
google-labs-jules[bot]andPR0M3TH3AN e92c95995f feat: prioritize profile and feed data sync
- Implements a priority queue for NIP-07 (browser extension) requests to allow critical tasks (blocklist/prefs decryption) to jump the line.
- Updates NIP-46 client and adapters to support priority overrides for encryption/decryption.
- Updates UserBlockListManager, SubscriptionsManager, and HashtagPreferencesService to request HIGH priority when decrypting data.
- Ensures strict serialization for NIP-07 to prevent extension errors while optimizing latency for critical data.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 15:00:15 +00:00
thePR0M3TH3AN 0c9ab2d384 Merge pull request #1878 from PR0M3TH3AN/ai/docs-update-20250226-5463995779925509361
Update documentation quickstarts and agent conventions
2026-01-28 09:42:59 -05:00
thePR0M3TH3AN 1cfac8db6f Merge pull request #1879 from PR0M3TH3AN/fix-nip07-concurrency-issues-6009536694074259561
fix(nostr): serialize NIP-07 extension requests to prevent timeouts
2026-01-28 09:38:00 -05:00
google-labs-jules[bot]andPR0M3TH3AN 498909d60e fix(nostr): serialize nip-07 requests to prevent extension timeouts and crashes
Introduced a request queue in `js/nostr/nip07Permissions.js` to serialize all interactions with the NIP-07 extension (`window.nostr`).
Updated `js/userBlocks.js`, `js/services/hashtagPreferencesService.js`, and `js/auth/signingAdapter.js` to wrap direct extension calls with `runNip07WithRetry`, ensuring they participate in the queue.
This resolves "message channel closed" errors and timeouts caused by concurrent requests flooding the extension during sync operations.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 14:35:56 +00:00
google-labs-jules[bot]andPR0M3TH3AN b4bf11cb6d docs(ai): update quickstart and contributing (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 14:28:49 +00:00
thePR0M3TH3AN dc7257855a Merge pull request #1870 from PR0M3TH3AN/refactor-auth-providers-v2-4587525965814839162
Refactor Auth Providers to NostrClient with Security Validators
2026-01-28 09:06:46 -05:00
thePR0M3TH3AN 3e29f2042d update 2026-01-28 09:05:20 -05:00
google-labs-jules[bot]andPR0M3TH3AN b6403c9120 refactor(auth): unify login logic in NostrClient and enhance security
- Refactor `loginWithExtension` into `NostrClient` to centralize NIP-07 logic.
- Add `validator` support to `NostrClient` login methods to enforce access control (whitelists/blacklists) before setting the active signer.
- Update `nip07`, `nip46`, and `nsec` auth providers to inject `accessControl` checks via validators.
- Fix imports in auth providers to ensure `accessControl` is available.
- Remove unused `accessControl` import from `js/nostr/client.js` to avoid potential circular dependencies.
- Verified with targeted unit tests and a custom integration script (`test-nip07-refactor.mjs`).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-28 13:35:25 +00:00