Commit Graph
4759 Commits
Author SHA1 Message Date
thePR0M3TH3AN b802867f93 Fix nostr cache persistence snapshot 2026-02-01 12:06:22 -05:00
thePR0M3TH3AN bd377ed424 Merge pull request #2046 from PR0M3TH3AN/ai/performance-events-cache-dirty-tracking-5412442767823742174
⚡ Optimize event persistence with dirty state tracking (8x speedup)
2026-02-01 12:01:02 -05:00
thePR0M3TH3AN 1fc9859798 Merge branch 'unstable' into ai/performance-events-cache-dirty-tracking-5412442767823742174 2026-02-01 12:00:52 -05:00
thePR0M3TH3AN 24931148b7 Merge pull request #2045 from PR0M3TH3AN/ai/align-docs-code-11869612789191754100
📘 Align development docs with codebase behavior
2026-02-01 12:00:23 -05:00
thePR0M3TH3AN a21882bb3d Merge branch 'unstable' into ai/align-docs-code-11869612789191754100 2026-02-01 12:00:11 -05:00
thePR0M3TH3AN ba7edacf68 Merge pull request #2043 from PR0M3TH3AN/ai/optimize-events-cache-persistence-7314295839012727690
⚡ Optimize events cache persistence with dirty tracking
2026-02-01 11:59:45 -05:00
thePR0M3TH3AN 43a977da61 Merge branch 'unstable' into ai/optimize-events-cache-persistence-7314295839012727690 2026-02-01 11:59:25 -05:00
thePR0M3TH3AN 2e6a072988 Merge pull request #2044 from PR0M3TH3AN/ai/docs-alignment-14321450681939854377
📘 Align development docs with codebase behavior
2026-02-01 11:59:08 -05:00
thePR0M3TH3AN be7137c447 Merge branch 'unstable' into ai/docs-alignment-14321450681939854377 2026-02-01 11:58:57 -05:00
google-labs-jules[bot]andPR0M3TH3AN 18bb9c244e Fix webtorrent-regression.test.mjs failures
- Added import of `setup-localstorage.mjs` to polyfill `self` required by `webtorrent.min.js`.
- Updated `MockTorrent` to simulate webseed `wire` events, ensuring `probePeers` logic (which listens for wires) functions correctly in tests.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:55:15 +00:00
google-labs-jules[bot]andPR0M3TH3AN c82ab2d490 Optimize EventsCacheStore persistence with dirty state tracking
Implemented `dirtyEventIds` and `dirtyTombstones` in `NostrClient` to track only modified items.
Updated `EventsCacheStore.persistSnapshot` to accept these dirty sets and iterate only over changed items, skipping the O(N) serialization loop for unchanged data.
Added heuristic to skip deletion scan if the dataset size has not decreased.
Optimized `NostrClient` methods (`flushEventBuffer`, `deleteAllVersions`, `fetchVideos`, etc.) to flag modified events.
Updated `nostr-delete-flow.test.mjs` to use valid hex IDs for NIP-compliant testing.

Benchmark results (5000 items, single update):
- Before: ~19ms (O(N))
- After: ~2ms (O(1))

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:50:28 +00:00
google-labs-jules[bot]andPR0M3TH3AN a7c752a6af fix(test): mock wire event in webtorrent regression test
Simulates a 'wire' event in MockWebTorrent when a webseed is present,
ensuring probePeers correctly identifies the stream as healthy.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:43:15 +00:00
google-labs-jules[bot]andPR0M3TH3AN a3cc4a7456 docs: align build instructions and lint scope with codebase behavior
Updates CONTRIBUTING.md and README.md to accurately reflect that:
- `npm start` builds to and serves the `dist/` directory.
- `npm run format` targets CSS, HTML, MD, and config (not JS logic).
- `npm run lint` targets styles, tokens, and hex codes (no ESLint).
- Manual build steps should serve `dist` via `npx serve dist`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:37:07 +00:00
google-labs-jules[bot]andPR0M3TH3AN 640dee8c0b test: aggressively increase timeout for webtorrent regression
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:32:05 +00:00
google-labs-jules[bot]andPR0M3TH3AN f03ddd90a0 test: ensure webtorrent regression test is robust against ci flakiness
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:28:46 +00:00
google-labs-jules[bot]andPR0M3TH3AN ac23475b4a fix(ci): instrument webtorrent logic to debug flaky regression test
- Add detailed logging inside `js/webtorrent.js` (guarded by `NODE_ENV=test`) to inspect the state of `peers`, `hasWebSeed`, and `webseedOnly` when a probe times out.
- This is intended to diagnose why `webseedOnly` evaluates to false in CI despite logs indicating `hasExplicitWebSeed` is true.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:25:04 +00:00
google-labs-jules[bot]andPR0M3TH3AN 80dd5dcade fix(test): add debug logging and increase timeout in webtorrent regression test
- Increase `timeoutMs` in `tests/webtorrent-regression.test.mjs` from 50ms to 200ms to reduce flakiness in CI environments.
- Add debug logging to `js/webtorrent.js` (guarded by `NODE_ENV === 'test'`) to inspect `probePeers` inputs and `client.add` errors, helping diagnose why `webseedOnly` detection might fail in CI.
- Log failure details in `tests/webtorrent-regression.test.mjs` if assertion fails.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:19:16 +00:00
google-labs-jules[bot]andPR0M3TH3AN 1bbaac85fd test: increase timeout for webtorrent regression test
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:17:36 +00:00
google-labs-jules[bot]andPR0M3TH3AN 060e87dada docs: align development setup guide with build reality
- Update `CONTRIBUTING.md` to detail the behavior of `npm run build`, specifically that it executes `scripts/build-dist.mjs` and copies an allowlist of files/directories to `dist/`.
- Validate project health via `npm run lint`, `scripts/agent/validate-events.mjs`, and unit tests.
- Confirm `README.md` correctly links to `CONTRIBUTING.md` for detailed developer setup.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:12:13 +00:00
google-labs-jules[bot]andPR0M3TH3AN 912bf85499 optimize: track dirty events to speed up cache persistence
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 16:11:57 +00:00
thePR0M3TH3AN f68c407771 Merge pull request #2042 from PR0M3TH3AN/codex/update-streamvideo-to-add-web-seeds
Explicitly add web seeds to torrents after creation in streamVideo
2026-02-01 11:05:58 -05:00
thePR0M3TH3AN 3118773621 Add explicit web seeds to torrent streams 2026-02-01 11:05:30 -05:00
thePR0M3TH3AN d38fd52d00 Merge pull request #2041 from PR0M3TH3AN/codex/update-torrentclient.probepeers-for-webseed-wires
Handle web seed peers in torrent probes
2026-02-01 11:03:39 -05:00
thePR0M3TH3AN e022f0f633 Handle web seed peers in torrent probe 2026-02-01 11:03:19 -05:00
thePR0M3TH3AN f66e98f969 Merge pull request #2040 from PR0M3TH3AN/ai/fix-webseed-health-and-bootstrap-1140772652148172709
Fix WebTorrent webseed health check and bootstrap behavior
2026-02-01 10:52:02 -05:00
thePR0M3TH3AN 007bbcf8aa Merge pull request #2039 from PR0M3TH3AN/ai/fix-dm-loading-and-notifications-15821194332486099528
Fix DM opportunistic loading and notification cache reliability
2026-02-01 10:50:55 -05:00
google-labs-jules[bot]andPR0M3TH3AN 7e21386bd0 fix(webtorrent): correct webseed availability check and force bootstrap
This change addresses two issues with WebTorrent webseed handling:
1.  **Grid Availability Check:** Modified `js/gridHealth.js` to correctly classify torrents with only webseeds as "healthy" and report 1 peer (instead of 0) so the UI availability check passes.
2.  **Video Player Bootstrap:** Modified `js/webtorrent.js` (`probePeers` and `streamVideo`) to explicitly append provided webseed URLs (`urlList`) to the magnet link as `&ws=` parameters. This forces the WebTorrent client to recognize and use these webseeds as initial peers for bootstrapping the swarm.

Tested via `tests/verification/verify_webseed_fix.mjs` (logic verification).

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 15:49:46 +00:00
google-labs-jules[bot]andPR0M3TH3AN 77cd03b2f7 Refactor DM loading to be opportunistic and serialize notification updates
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 15:47:54 +00:00
thePR0M3TH3AN d639d0f2df Merge pull request #2038 from PR0M3TH3AN/ai/fix-css-loading-4566247044884119741
Fix CSS loading and start script configuration
2026-02-01 10:18:01 -05:00
google-labs-jules[bot]andPR0M3TH3AN a0a5ed7e78 Fix CSS loading by removing force flag from redirects and updating start script
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 14:31:30 +00:00
thePR0M3TH3AN 5a67774011 Merge pull request #2023 from PR0M3TH3AN/fix-webtorrent-webseed-regression-10274894627332192935
Fix WebTorrent webseed stream health check regression
2026-02-01 09:14:43 -05:00
google-labs-jules[bot]andPR0M3TH3AN 88d30970ef Fix CI failure in hashtag-preferences test
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 14:14:02 +00:00
google-labs-jules[bot]andPR0M3TH3AN 2f33992192 Fix dependencies (jsdom/nostr-tools conflict) and WebTorrent regression
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 13:32:00 +00:00
thePR0M3TH3AN d35de4d743 Merge pull request #2036 from PR0M3TH3AN/ai/refactor-notification-controller-20231027-2601673227327805546
refactor(ai): extract notification logic to NotificationController
2026-02-01 08:01:22 -05:00
thePR0M3TH3AN 31d1775d90 Merge pull request #2035 from PR0M3TH3AN/ai/ci-health-20241028-10335292326695405989
chore(ai): CI health fixes (flaky tests)
2026-02-01 08:01:04 -05:00
thePR0M3TH3AN 438f895dd6 Merge branch 'unstable' into fix-webtorrent-webseed-regression-10274894627332192935 2026-02-01 08:00:23 -05:00
thePR0M3TH3AN 0d61f70e29 Merge pull request #2032 from PR0M3TH3AN/update-automated-pr-review-9225685126346343238
feat: improve automated PR review script reporting
2026-02-01 07:59:59 -05:00
google-labs-jules[bot]andPR0M3TH3AN 1dfc23c11a refactor(ai): extract notification logic from js/app.js (agent)
- Moved `showError`, `showStatus`, `showSuccess`, and `updateNotificationPortalVisibility` logic to `js/ui/notificationController.js`.
- Instantiated `NotificationController` in `js/ui/applicationBootstrap.js`.
- Refactored `js/app.js` to delegate notification calls to the controller.
- Added unit tests for `NotificationController`.
- Followed AGENTS.md refactoring checklist.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 03:08:05 +00:00
google-labs-jules[bot]andPR0M3TH3AN 3511877ebe chore(ai): CI health fixes (flaky tests)
- Fix flaky test in `tests/hashtag-preferences.test.mjs` by defining missing `fetchCalls` variable.
- Fix `webtorrent` initialization error in `tests/unit/services/r2Service.storage-config.test.mjs` by ensuring `window.crypto` is available and `File` mock extends `Blob`.
- Update `tests/test-helpers/setup-localstorage.mjs` to polyfill `window.crypto` using `globalThis.crypto`.
- Update `scripts/run-unit-tests.mjs` to support test file filtering via command line arguments.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 02:10:21 +00:00
google-labs-jules[bot]andPR0M3TH3AN 3a47b9123d fix(ci): optimize review script regex and add security guardrails
- Optimizes regex parsing for test failures by caching the output string.
- Adds explicit security guardrails to the PR review comment when sensitive files (Nostr, crypto, storage) are modified.
- Cleans up temporary debug files.
- Addresses previous code review feedback regarding completeness and safety.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 01:52:28 +00:00
google-labs-jules[bot]andPR0M3TH3AN 4f7b686f28 Fix Netlify build (esbuild version) and WebTorrent regression
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 01:25:20 +00:00
thePR0M3TH3AN cd6e5862d7 Merge pull request #2031 from PR0M3TH3AN/ai/smoke-tests-20241126-2765268134980356233
chore(ai): add smoke test script (agent)
2026-01-31 20:16:04 -05:00
thePR0M3TH3AN 20f3e92d16 Merge pull request #2034 from PR0M3TH3AN/ai/todo-triage-20250201-10412820036579877646
chore(ai): triage TODOs and create issues
2026-01-31 20:15:16 -05:00
thePR0M3TH3AN 46f2a3cd3f Merge pull request #2033 from PR0M3TH3AN/ai/weekly-report-20260201-2026569048991479833
docs(ai): weekly synthesis report 2026-02-01
2026-01-31 20:14:12 -05:00
google-labs-jules[bot]andPR0M3TH3AN c3f386a62b chore(ai): triage TODOs and create issues
- Scan repository for TODO/FIXME comments.
- Generate `artifacts/todos.txt` with identified items.
- Create `issues/todo-issue-1.md` for flaky hashtag preferences test.
- Create `issues/todo-issue-2.md` for failing visual moderation tests.
- No trivial fixes found; all identified TODOs require investigation.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 01:08:37 +00:00
google-labs-jules[bot]andPR0M3TH3AN 195bc71724 chore(ai): move smoke test to tests/smoke/smoke-test.mjs
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 00:07:52 +00:00
google-labs-jules[bot]andPR0M3TH3AN 4a06b79dd4 docs(ai): add weekly synthesis report for 2026-02-01
Summarizes recent agent activity, PRs, issues, and risks.
Includes prioritized human actions for security and dependency reviews.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-01 00:07:31 +00:00
google-labs-jules[bot]andPR0M3TH3AN 3718e9a690 fix(ci): optimize regex parsing in PR review script
- Optimize regex execution loop by caching the test output string.
- Ensure `debug_regex.js` is removed.
- Verified local build and lint pass.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 23:24:56 +00:00
google-labs-jules[bot]andPR0M3TH3AN cb680737ef feat: improve automated PR review script reporting
- Parse `npm run test:unit` output to identify and list failing test files in the review comment.
- Add a suggestion to run `npm run lint:css -- --fix` if stylelint errors are detected.
- Maintain existing guardrails and micro-fix logic.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 23:14:44 +00:00
google-labs-jules[bot]andPR0M3TH3AN 24fe7f0005 Fix Netlify build and WebTorrent webseed checks
Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-31 23:05:39 +00:00