Commit Graph
2305 Commits
Author SHA1 Message Date
thePR0M3TH3AN 0cf1dc0f55 improved playright integration 2026-02-21 20:45:47 -05:00
google-labs-jules[bot]andPR0M3TH3AN 0ae813ea66 perf(feed): optimize moderation stage with batch author lookups (perf-optimization-agent)
- Implement `getModerationInfoForAuthors` in `ModerationService` for batching.
- Extract utility functions to `js/services/moderationUtils.js` to reduce `ModerationService` size.
- Update `createModerationStage` to use batch lookup, reducing sequential overhead.
- Benchmarks show ~50% improvement (454ms -> 227ms) for 5000 items.
- All unit tests pass.
- Task log: `docs/agents/task-logs/weekly/2026-02-22_01-25-01_perf-optimization-agent_completed.md`

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-22 01:26:39 +00:00
thePR0M3TH3AN e6e85ff845 update 2026-02-21 19:59:47 -05:00
thePR0M3TH3AN b7eac53185 update 2026-02-21 19:30:02 -05:00
thePR0M3TH3AN aac87db4eb update with block list fix 2026-02-21 16:45:16 -05:00
thePR0M3TH3AN 5d4a28ef3a update 2026-02-21 16:21:57 -05:00
thePR0M3TH3AN 152b7fbf1a update 2026-02-21 16:08:33 -05:00
thePR0M3TH3AN 576513ecdb updated nip-07 login 2026-02-21 16:00:02 -05:00
thePR0M3TH3AN 135dbe4e37 update 2026-02-21 15:53:09 -05:00
thePR0M3TH3AN 00f96bbe0e update 2026-02-21 15:46:35 -05:00
Claude 58e4c1b87f fix: prevent logout from auto-selecting first saved profile
After logout, renderSavedProfiles() was unconditionally falling back to
the first saved profile when no active profile existed. This made the
profile modal appear as if the user switched accounts instead of logging
out, requiring a second logout attempt and a page refresh.

The fix gates the fallback so it only triggers when an active pubkey IS
set but doesn't match any saved entry (a data-inconsistency edge case),
not when the active pubkey is null (the normal logged-out state).

https://claude.ai/code/session_01Lw3WG8A9Risiqx2uLTZZZH
2026-02-21 19:48:17 +00:00
google-labs-jules[bot]andPR0M3TH3AN f7ebad4b2f perf: throttle trusted mute pruning
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-21 13:12:30 +00:00
thePR0M3TH3AN d569e1474e Merge pull request #2648 from PR0M3TH3AN/agents/daily/docs-code-investigator-2026-02-20-2146666568704702608
chore(ai): document js/nostrEventSchemas.js
2026-02-20 16:38:06 -05:00
thePR0M3TH3AN 518749eb95 Merge pull request #2647 from PR0M3TH3AN/ai/innerhtml-fix/shareNostrModal-11901035478967550480
[security] replace innerHTML usages in js/ui/components/ShareNostrModal.js
2026-02-20 16:37:52 -05:00
google-labs-jules[bot]andPR0M3TH3AN 7f7de356f5 chore(ai): doc js/nostrEventSchemas.js (docs-code-investigator)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-20 21:14:39 +00:00
google-labs-jules[bot]andPR0M3TH3AN f9f23c0d08 [security] replace innerHTML usages in js/ui/components/ShareNostrModal.js — convert to safe DOM APIs
- Replace template `innerHTML` with `DOMParser`
- Replace SVG `innerHTML` with `createElementNS`
- Replace `innerHTML = ""` with `replaceChildren()`
- Update `check-innerhtml` baseline

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-20 20:07:34 +00:00
google-labs-jules[bot]andPR0M3TH3AN 30402c2614 chore(ai): doc js/services/playbackService.js (docs-code-investigator)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-20 18:51:13 +00:00
google-labs-jules[bot]andPR0M3TH3AN f022168c33 [decompose] extract Zap and LinkPreview controllers from VideoModal.js
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-20 01:39:25 +00:00
google-labs-jules[bot]andPR0M3TH3AN bd6ca5b54e [decompose] extract BlockList and EditProfile from ProfileModalController
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-19 20:10:37 +00:00
google-labs-jules[bot]andPR0M3TH3AN 15d28cdf35 refactor: replace magic number 5000 with SHORT_TIMEOUT_MS in js/subscriptions.js
Also updates perf/constants-refactor/candidates.json and adds completion log.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-19 17:54:44 +00:00
google-labs-jules[bot]andPR0M3TH3AN ff13f62380 fix(config): remove invalid tracker btorrent.xyz and update debug filter
- Removes `wss://tracker.btorrent.xyz` from `js/constants.js` due to SSL cert error.
- Updates `scripts/agent/debug_frontend.py` to filter out unavoidable external content errors (CORS, 404, invalid certs) to ensure the debug agent focuses on regression in the codebase.
- Adds completion log for the weekly agent run.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-19 13:21:02 +00:00
thePR0M3TH3AN f6871a7bd2 Merge pull request #2615 from PR0M3TH3AN/agents/daily/innerhtml-fix-DeleteModal-17298730547191079661
[security] replace innerHTML usages in js/ui/components/DeleteModal.js
2026-02-18 11:50:29 -05:00
google-labs-jules[bot]andPR0M3TH3AN 599f72a373 [security] replace innerHTML usages in js/ui/components/DeleteModal.js
- Replaced `wrapper.innerHTML` with `DOMParser` for template loading.
- Replaced `metadataList.innerHTML = ""` with `replaceChildren()`.
- Updated `scripts/check-innerhtml.mjs` baseline (count reduced by 3).
- Added artifacts: context, todo, decisions, log.
- Verified with lint and unit tests.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 16:23:29 +00:00
thePR0M3TH3AN 81bf8c71af Merge pull request #2614 from PR0M3TH3AN/ai/doc-nip71-20260218-8237225305280993242
chore(ai): document js/nostr/nip71.js
2026-02-18 11:02:38 -05:00
google-labs-jules[bot]andPR0M3TH3AN 28dffc93ac chore(ai): doc js/nostr/nip71.js (docs-code-investigator)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 15:55:51 +00:00
thePR0M3TH3AN 83e455a803 Merge branch 'unstable' into perf-bound-dm-concurrency-10616621699713195657 2026-02-18 10:32:30 -05:00
google-labs-jules[bot]andPR0M3TH3AN 106f7640c4 fix(exploreData): trigger refresh immediately on visibility change
- `handleVisibility` only scheduled intervals but didn't trigger an immediate refresh when returning to the tab.
- This caused `tests/unit/services/exploreDataService.test.mjs` to fail (assertion `0 !== 1`).
- Added explicit calls to `refreshWatchHistoryTagCounts` and `refreshTagIdf` when `document.hidden` becomes false.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 15:10:29 +00:00
google-labs-jules[bot]andPR0M3TH3AN f1c83534d6 perf: bound DM subsystem network concurrency & fix CI lint/tests
- Replaced unbounded `Promise.all` with `pMap` and `RELAY_BACKGROUND_CONCURRENCY || 3` in `js/nostr/dmSignalEvents.js` and `js/services/dmNostrService.js` to prevent network saturation.
- Updated `scripts/check-hex.js` to exclude agent artifact directories (`perf/`, `test_logs/`, `context/`, etc.) to prevent lint failures when agents log code snippets or hex codes.
- Increased `maxBuffer` in `scripts/check-hex.js` to 10MB to be robust against large matches.
- Updated `js/services/exploreDataService.js` to trigger immediate data refresh (`refreshWatchHistoryTagCounts` and `refreshTagIdf`) when visibility state changes to visible, fixing a unit test failure.
- Includes daily performance report and context logs.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 15:08:13 +00:00
thePR0M3TH3AN aa920b5a7a Merge branch 'unstable' into agents/daily/perf-agent-2026-02-17-7651999785559448222 2026-02-18 09:41:56 -05:00
thePR0M3TH3AN 91ec9b32c5 Merge branch 'unstable' into perf-bound-dm-concurrency-10616621699713195657 2026-02-18 09:40:15 -05:00
thePR0M3TH3AN 1eda1f1e32 Merge pull request #2583 from PR0M3TH3AN/security/fix-r2-localstorage-secrets-7900269889946200107
Secure migration of legacy R2 settings from LocalStorage
2026-02-18 09:39:47 -05:00
thePR0M3TH3AN 8bafe5f6e9 Merge branch 'unstable' into agents/daily/perf-agent-10905324702890843252 2026-02-18 09:38:12 -05:00
thePR0M3TH3AN 52039ec579 Merge branch 'unstable' into agents/daily/perf-agent-2026-02-15-8187656557724027488 2026-02-18 09:36:36 -05:00
thePR0M3TH3AN ed291a884a Merge branch 'unstable' into agents/daily/perf-agent-2026-02-15-3720994187998550610 2026-02-18 09:30:19 -05:00
thePR0M3TH3AN 5383e83e24 Merge pull request #2605 from PR0M3TH3AN/agents/weekly/frontend-console-debug-agent-5469852811724557248
[weekly] frontend-console-debug-agent: fix broken tracker
2026-02-17 21:31:02 -05:00
thePR0M3TH3AN 3203f77e80 Merge pull request #2604 from PR0M3TH3AN/agents/daily/decompose-profile-modal-3338203776495693196
[decompose] extract helpers from js/ui/profileModalController.js
2026-02-17 21:30:27 -05:00
google-labs-jules[bot]andPR0M3TH3AN 2280e8aef9 fix(ai): remove broken tracker wss://tracker.btorrent.xyz (agent)
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 01:11:44 +00:00
google-labs-jules[bot]andPR0M3TH3AN d22785bb87 [decompose] extract helpers from js/ui/profileModalController.js
Extracted DM Relay UI logic and DM Attachment logic into separate binder modules to reduce the size of ProfileModalController.js. Updated file size baseline.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 01:03:43 +00:00
google-labs-jules[bot]andPR0M3TH3AN 4312a78159 Content Audit: Verify upload docs and fix hashtag bug
- Audited `content/docs/guides/upload-content.md` against codebase.
- Verified claims regarding file types, size limits, permissions, and CORS.
- Fixed a bug in `js/services/videoNotePayload.js` where user-entered hashtags were dropped.
- Added regression test `tests/unit/services/videoNotePayload.test.mjs`.
- Generated audit artifacts.
- Created completion log.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-18 00:09:01 +00:00
thePR0M3TH3AN 5e8b6b0141 Merge pull request #2602 from PR0M3TH3AN/agents/daily/content-audit-16386856219423519109
Content Audit: Fix docs and moderation config
2026-02-17 18:38:51 -05:00
google-labs-jules[bot]andPR0M3TH3AN 3e2002b72c Content Audit: Fix docs and moderation config
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 22:05:31 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9fc650d563 [constants] extract SHORT_TIMEOUT_MS and STANDARD_TIMEOUT_MS
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 21:58:48 +00:00
google-labs-jules[bot]andPR0M3TH3AN 9d159ae0a7 perf: fix unbounded relay concurrency
Identified and fixed unbounded concurrency in js/relayManager.js during relay list hydration. Uses pMap with RELAY_BACKGROUND_CONCURRENCY (3).

Daily perf agent run 2026-02-17.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 13:53:29 +00:00
google-labs-jules[bot]andPR0M3TH3AN 004c0bed83 fix(ci): reduce channelProfile.js size and bound relay concurrency
- Refactored `js/channelProfile.js` to use `pMapSettled` from `js/utils/asyncUtils.js`, fixing both the concurrency issue (P1) and the file size lint failure.
- `pMapSettled` replaces a bulky inline `pMap` wrapper, reducing code volume.
- Ensures `js/channelProfile.js` stays within its grandfathered line count limit (5579 lines).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 10:55:28 +00:00
google-labs-jules[bot]andPR0M3TH3AN fe49e18628 perf: bound relay concurrency in channel video fetching
- Replaced unbounded `Promise.allSettled` in `js/channelProfile.js` with `pMap` using `RELAY_BACKGROUND_CONCURRENCY` (3).
- Ensures network stability when users have many relays.
- Audited `/content` docs (upload limits/ports) and confirmed accuracy.
- Generated `daily-perf-report-2026-02-17.md`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 10:41:55 +00:00
google-labs-jules[bot]andPR0M3TH3AN b8832dcae8 perf: bound DM subsystem network concurrency & fix CI lint buffer
- Replaced unbounded `Promise.all` with `pMap` and `RELAY_BACKGROUND_CONCURRENCY || 3` in `js/nostr/dmSignalEvents.js` and `js/services/dmNostrService.js` to prevent network saturation.
- Increased `maxBuffer` in `scripts/check-hex.js` to 10MB to prevent `ENOBUFS` when git text search matches large minified files in CI.
- Verified documentation in `content/docs/guides/upload-content.md` correctly specifies port 3000.
- Passed all unit and integration tests.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 07:58:40 +00:00
google-labs-jules[bot]andPR0M3TH3AN 799c336bf3 perf: bound DM subsystem network concurrency
Replaces unbounded Promise.all with pMap and RELAY_BACKGROUND_CONCURRENCY (3) in js/nostr/dmSignalEvents.js and js/services/dmNostrService.js to prevent network saturation. Includes context logs and daily performance report.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 07:41:46 +00:00
google-labs-jules[bot]andPR0M3TH3AN 3cb2552148 perf: visibility-gate explore data intervals and fix lint crash
- Modifies `js/services/exploreDataService.js` to prevent starting background intervals if the document is hidden at initialization.
- Updates `scripts/check-hex.js` to increase max buffer size and exclude `js/webtorrent.min.js` to prevent `ENOBUFS` crashes.
- Adds `perf/hits-2026-02-17.json` inventory.
- Adds `daily-perf-report-2026-02-17.md` report.
- Adds `docs/agents/task-logs/daily/2026-02-17_06-45-57_perf-agent_completed.md`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 07:01:18 +00:00
google-labs-jules[bot]andPR0M3TH3AN 29982cfb63 perf: visibility-gate explore data intervals and fix lint crash
- Modifies `js/services/exploreDataService.js` to prevent starting background intervals if the document is hidden at initialization.
- Updates `scripts/check-hex.js` to increase max buffer size and exclude `js/webtorrent.min.js` to prevent `ENOBUFS` crashes.
- Adds `perf/hits-2026-02-17.json` inventory.
- Adds `daily-perf-report-2026-02-17.md` report.
- Adds `docs/agents/task-logs/daily/2026-02-17_06-45-57_perf-agent_completed.md`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 06:48:22 +00:00
google-labs-jules[bot]andPR0M3TH3AN 7bf360b2ee Secure migration of legacy R2 settings from LocalStorage
- Modified `loadLegacyR2Settings` to check `localStorage` if IndexedDB is empty.
- Implemented immediate migration of settings from `localStorage` to IndexedDB upon access.
- Added logic to clear `localStorage` after successful migration to prevent secret exposure.
- Verified fix with reproduction script and regression tests.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-17 05:16:14 +00:00