Commit Graph
2714 Commits
Author SHA1 Message Date
thePR0M3TH3AN 1b8625c07f Add instance config documentation 2026-01-07 19:40:55 -05:00
thePR0M3TH3AN 8fd66fadbe Merge pull request #1126 from PR0M3TH3AN/fix-profile-history-scroll-8985911645291982464
Fix profile watch history nested scrolling
2026-01-07 15:51:06 -05:00
google-labs-jules[bot] 13b5fab7b3 Remove nested scrolling in profile watch history.
Removes the fixed height and overflow from the watch history container in the profile modal, allowing it to expand fully. Updates the profile modal controller to use the main modal panes container as the scroll root for infinite scrolling.
2026-01-07 20:43:38 +00:00
thePR0M3TH3AN 6a57491889 Merge pull request #1125 from PR0M3TH3AN/codex/fix-watch-history-profile-hydration-2978019440032498499
fix: hydrate author profiles in watch history feed
2026-01-07 15:34:59 -05:00
google-labs-jules[bot] f2c87051ce feat: add profile hydration to watch history feed
This change introduces `createWatchHistoryProfileHydrationStage` to the
watch history feed pipeline. The stage resolves author profiles for
hydrated videos by:
1. Checking the global `getProfileCacheEntry` for cached profiles.
2. Batching missing profiles into a single Kind 0 relay request.
3. Updating the global cache (`setProfileCacheEntry`) with fetched data.
4. Attaching the resolved profile to `item.metadata.profile`.

This ensures that channel images populate correctly in the watch history
UI (both sidebar and profile modal).
2026-01-07 20:28:44 +00:00
thePR0M3TH3AN 4ff8abe451 Merge pull request #1124 from PR0M3TH3AN/lazy-signer-init-4436426689501350541
Lazy-initialize signer from extension on write operations
2026-01-07 15:18:51 -05:00
google-labs-jules[bot] 95ef008c58 Lazy-initialize signer from extension on demand 2026-01-07 19:51:48 +00:00
thePR0M3TH3AN 375b96bfa9 Merge pull request #1123 from PR0M3TH3AN/fix-profile-lists-sync-9443704948998622735
Fix profile menu list syncing and population issues
2026-01-07 14:40:44 -05:00
google-labs-jules[bot] 19dd570607 Fix profile watch history and subscription lists syncing issues. 2026-01-07 19:22:23 +00:00
google-labs-jules[bot] 9d365bf65e Fix profile watch history and subscription lists syncing issues. 2026-01-07 18:44:43 +00:00
thePR0M3TH3AN 8cb3da3129 Merge pull request #1122 from PR0M3TH3AN/fix-watch-history-sync-17826641022307563096
Fix watch history sync speed, caching, and deletion persistence
2026-01-07 13:34:39 -05:00
google-labs-jules[bot] 346f969f79 Fix watch history sync speed, caching, and deletion bug 2026-01-07 18:29:58 +00:00
thePR0M3TH3AN 3ad1533819 Merge pull request #1121 from PR0M3TH3AN/update-profile-watch-history-526383577837963653
Update profile watch history to match main features
2026-01-07 13:17:08 -05:00
google-labs-jules[bot] ddcbc0f004 Update profile watch history to match main features
- Shorten npubs in history view cards.
- Add Refresh, Privacy Banner, and Info to Profile Modal Watch History.
- Wire up Profile Modal Watch History controls.
2026-01-07 18:11:49 +00:00
thePR0M3TH3AN b8c3f639b5 Merge pull request #1120 from PR0M3TH3AN/enhance-history-view-sorting-and-npub-format-3434405391875002561
Enhance watch history sorting and shorten npub display
2026-01-07 12:34:04 -05:00
google-labs-jules[bot] c29a5c3bbe fix: switch to jsdelivr for external modules
Replaces unreliable esm.sh imports with cdn.jsdelivr.net to prevent site crashes due to CORS and timeout errors.
Updates imports for `nostr-tools`, `buffer`, and `@aws-sdk/client-s3` in `js/nostrToolsBootstrap.js`, `js/bufferPolyfill.js`, and `js/storage/r2-s3.js`.
Adds jsdelivr as a prioritized remote source in `nostrToolsBootstrap` while retaining esm.sh as a fallback.
2026-01-07 17:30:22 +00:00
google-labs-jules[bot] 0169d39aff feat: improve watch history sorting and npub display
Shortens long encoded npubs in the history view card (e.g., `npub1...0h64`) for cleaner UI.
Updates the watch history sorting logic to group items by day (using local date string) and sort videos within each day by creation date (newest first), ensuring consistent chronological ordering regardless of exact view timestamp.
Applies sorting changes to both the view renderer (`historyView.js`) and the feed engine (`watchHistoryFeed.js`) for consistency.
2026-01-07 17:18:09 +00:00
thePR0M3TH3AN 7f8405d366 Merge pull request #1119 from PR0M3TH3AN/fix-hydration-hang-1209416647514971888
Prevent watch history hydration hang by adding timeout to pool.list
2026-01-07 09:56:27 -05:00
google-labs-jules[bot] a54d5db263 Fix: Add timeout to pool.list shim to prevent hydration hanging
When relays fail to connect or do not send EOSE, the legacy `pool.list` shim
would hang indefinitely, blocking watch history hydration.
This change adds a timeout (default 7000ms) to ensure it returns whatever events
it has collected, preventing the UI from getting stuck.
2026-01-07 14:46:35 +00:00
thePR0M3TH3AN 425f772fcc Merge pull request #1118 from PR0M3TH3AN/fix-watch-history-dynamic-refresh-8086273073608034739
Fix Watch History Dynamic Pulling and Add Refresh Button
2026-01-07 09:34:18 -05:00
google-labs-jules[bot] c322fcee14 fix(watch-history): add manual refresh and fix dynamic pulling
This commit addresses issues with the watch history not updating dynamically and adds a manual refresh mechanism.

Changes:
- Added a "Refresh" button to the watch history view in `views/history.html` and `js/historyView.js`.
- Updated `watchHistoryService.js` to accept a `forceRefresh` option in `loadLatest`, which bypasses the cache freshness check and triggers a relay fetch.
- Updated `js/feedEngine/watchHistoryFeed.js` to propagate the `forceRefresh` flag from the runtime context to the service.
- Added user feedback (toast messages and logs) for "Clear Local History" and "Republish Now" actions.
- Updated `tests/watch-history.test.mjs` to align with the new `fetchHistory` signature.
2026-01-07 14:05:21 +00:00
thePR0M3TH3AN a5994f1380 Merge pull request #1117 from PR0M3TH3AN/fix-zap-signing-compatibility-17075194725684270757
Fix zap signing compatibility with nostr-tools v2
2026-01-07 08:46:25 -05:00
google-labs-jules[bot] 270d55cc7c Fix "NostrTools is required" error during zap signing
This patch updates `js/payments/zapSplit.js` and `js/payments/nwcClient.js` to replace legacy manual event signing (which relied on `nostr-tools` v1 methods `getEventHash` and `signEvent` that are missing in v2) with the centralized `signEventWithPrivateKey` helper from `js/nostr/publishHelpers.js`. This ensures compatibility with the installed `nostr-tools` version and resolves the error preventing zaps.
2026-01-07 13:39:52 +00:00
thePR0M3TH3AN 5dbeb6bce7 Merge pull request #1116 from PR0M3TH3AN/codex/refactor-comment-handling-in-video-modal
Rebuild comment tree on append to correctly place replies
2026-01-06 22:32:52 -05:00
thePR0M3TH3AN 2b3064d447 Rebuild comment tree on append 2026-01-06 22:30:23 -05:00
thePR0M3TH3AN a0a7ad66f7 Merge pull request #1115 from PR0M3TH3AN/codex/refactor-commentthreadservice-for-better-performance
Start comment thread subscription before fetch and emit early snapshot
2026-01-06 22:27:17 -05:00
thePR0M3TH3AN 26a1f996f6 Start comment thread live subscription early 2026-01-06 22:25:01 -05:00
thePR0M3TH3AN 28357622dd Merge pull request #1114 from PR0M3TH3AN/dynamic-comment-loading-81869577663870782
Enable dynamic comment loading and sorting
2026-01-06 22:10:04 -05:00
google-labs-jules[bot] 41ff140982 feat: enable dynamic comment loading and sorting 2026-01-07 03:03:46 +00:00
thePR0M3TH3AN 771a748530 Merge pull request #1112 from PR0M3TH3AN/fix-video-modal-comments-init-13683799382760906477
Fix video modal comments not displaying on first open
2026-01-06 20:10:01 -05:00
google-labs-jules[bot] cced268982 Fix: Ensure comments controller is initialized when opening video modal
This addresses an issue where comments would not display on the first load of the video modal if the DOM elements were not fully bound. The `open()` method now checks if the `commentsList` is missing or disconnected and re-initializes the `CommentsController` if necessary.

Also updated `tests/video-modal-accessibility.test.mjs` to fix a JSDOM environment issue with `navigator` mocking.
2026-01-07 00:59:47 +00:00
thePR0M3TH3AN 5afa9d909e Merge pull request #1111 from PR0M3TH3AN/view-count-persistence-16659278447230737169
Fix view count persistence and enforce monotonic updates
2026-01-06 19:44:09 -05:00
google-labs-jules[bot] 4ab81ce28e Ensure view counts are monotonic during hydration
- Updated `hydratePointer` in `js/viewCounter.js` to only update local view counts if the network count is strictly greater (or if local state is uninitialized).
- This prevents regressions where a partial or stale network response would overwrite a higher, accurate local count.
- Updated `tests/view-counter.test.mjs` to reflect that fresh view events are additive to the cached high watermark (fixing a test expectation that relied on the old non-monotonic behavior).
- Updated `tests/view-counter.test.mjs` to match `resolveVideoPointer` behavior which prioritizes `dTag` (NIP-33) over `videoRootId`, fixing a legacy test failure.
2026-01-07 00:43:18 +00:00
thePR0M3TH3AN 264164917b Merge pull request #1110 from PR0M3TH3AN/fix/watch-history-sort-10801569047890667699
fix: enforce descending sort order for watch history
2026-01-06 19:33:09 -05:00
google-labs-jules[bot] f2f55830e8 fix: ensure watch history is sorted by most recent first
- Enforce descending month order in `js/nostr/watchHistory.js` by explicitly sorting keys before flattening buckets.
- Update `js/feedEngine/watchHistoryFeed.js` and `js/historyView.js` to use `video.created_at` as a fallback sort key when `watchedAt` is missing or equal.
- Verified logic with `tests/verify_sort.mjs`.
2026-01-07 00:28:39 +00:00
thePR0M3TH3AN 9604fa9f34 Merge pull request #1108 from PR0M3TH3AN/update-auth-cache-documentation-and-tests-5284864776327767960
Cleanup legacy auth cache docs and verify removal
2026-01-06 19:20:28 -05:00
google-labs-jules[bot] f5eba4121f Remove legacy auth cache migration docs and add regression test
Removes obsolete "Migration notes" from `docs/nostr-auth.md` and
adds a regression test to `tests/state/cache-saved-profiles.test.mjs`
to confirm that the legacy `userPubKey` localStorage key is ignored
during startup. Also polyfills localStorage for the test suite.
2026-01-07 00:20:01 +00:00
thePR0M3TH3AN ad961cd401 Merge pull request #1107 from PR0M3TH3AN/fix-watch-history-persistence-5159309756692565654
Fix watch history persistence reliability
2026-01-06 19:14:15 -05:00
google-labs-jules[bot] 873b534867 fix(watch-history): use localStorage for pending video queue
Replace sessionStorage with localStorage to ensure pending watch history updates persist across tab closures and sessions. Update `loadLatest` to always restore queue state on initialization to catch any pending uploads.
2026-01-07 00:11:56 +00:00
thePR0M3TH3AN b7468e0047 Merge pull request #1105 from PR0M3TH3AN/codex/update-watch-history-configuration-and-cleanup
Simplify watch history pipeline
2026-01-06 18:59:09 -05:00
thePR0M3TH3AN 891226697d Simplify watch history pipeline 2026-01-06 18:53:27 -05:00
thePR0M3TH3AN bd5d5e9a87 Merge pull request #1104 from PR0M3TH3AN/remove-legacy-magnet-v1-588594441526327119
Remove legacy V1 magnet support
2026-01-06 18:45:36 -05:00
google-labs-jules[bot] 4df81f7f19 Remove legacy V1 magnet and unstructured event support
Removed the `ACCEPT_LEGACY_V1` flag and associated logic that supported parsing magnet links from unstructured text notes or tags, as well as support for video events with version < 2.
This simplifies `js/videoEventUtils.js` and `js/nostr/nip71.js`, and removes legacy regex scanning.
Deleted `tests/legacy-infohash.test.mjs` which tested this deprecated functionality.
2026-01-06 21:34:19 +00:00
thePR0M3TH3AN 264f4204fe Merge pull request #1103 from PR0M3TH3AN/codex/remove-lowercase-tag-filters-in-commentevents
Use uppercase tags for comment events
2026-01-06 16:23:58 -05:00
thePR0M3TH3AN 6482195462 Merge pull request #1102 from PR0M3TH3AN/docs-update-agents-md-dm-support-10714215179727705300
Add NIP-04 and NIP-44 dual support policy to AGENTS.md
2026-01-06 16:23:18 -05:00
thePR0M3TH3AN 5979d4e25f Use uppercase tags for comment events 2026-01-06 16:22:49 -05:00
google-labs-jules[bot] 228ce1694f docs: Add NIP-04/NIP-44 dual support policy to AGENTS.md
Update AGENTS.md to explicitly require support for both legacy NIP-04 and newer NIP-44 Direct Messages, as many users still rely on the legacy standard.
2026-01-06 21:22:06 +00:00
thePR0M3TH3AN 90e5c745d3 Merge pull request #1101 from PR0M3TH3AN/codex/refactor-hashtagpreferencesservice-to-use-canonical-kind
Remove legacy hashtag preference fallback
2026-01-06 16:14:39 -05:00
thePR0M3TH3AN 4caa4d4877 Remove legacy hashtag preference fallback 2026-01-06 16:14:26 -05:00
thePR0M3TH3AN 53cb2e32ac Merge pull request #1100 from PR0M3TH3AN/codex/remove-legacy-subscription-kind-logic
Remove legacy subscription kind handling
2026-01-06 16:09:49 -05:00