Gigi
538cbd2296
fix(bookmarks): show sane dates using created_at fallback to listUpdatedAt; guard formatters
2025-10-22 12:54:26 +02:00
Gigi
c17eab5a47
fix(router): route /me/reading-list -> /me/bookmarks to render Bookmarks view
2025-10-22 12:49:23 +02:00
Gigi
b3c61ba635
fix: update Me.tsx bookmarks tab to use dynamic filter titles and chronological sorting
2025-10-22 12:46:16 +02:00
Gigi
3bfa750a0c
fix: update Me.tsx to use faClock icon instead of faBars
2025-10-22 12:42:42 +02:00
Gigi
d1f7e549c2
fix: change bookmark URL from /me/reading-list to /me/bookmarks
2025-10-22 12:33:05 +02:00
Gigi
0fec120410
debug: add targeted logging to diagnose listUpdatedAt timestamp issue
2025-10-22 12:31:53 +02:00
Gigi
9b21075a9b
refactor: remove excessive debug logging
2025-10-22 12:29:09 +02:00
Gigi
4f78ee4794
fix: preserve content created_at, add listUpdatedAt for sorting by when bookmarked
2025-10-22 12:26:01 +02:00
Gigi
8bb871913b
refactor: remove synthetic added_at field, use created_at from bookmark list event
2025-10-22 12:18:43 +02:00
Gigi
49eb6855ca
debug: add console logging for bookmark timestamp and sorting analysis
2025-10-22 12:14:36 +02:00
Gigi
748b2e1631
fix: correct added_at timestamp to use bookmark list creation time, not content creation time
2025-10-22 12:12:44 +02:00
Gigi
9fa83a2a1c
fix: ensure robust sorting of merged bookmarks with fallback timestamps
2025-10-22 12:07:32 +02:00
Gigi
d45705e8e4
feat: use clock icon (regular style) for chronological bookmark view
2025-10-22 12:05:57 +02:00
Gigi
83c170b4e2
fix: ensure bookmarks are consistently sorted chronologically with useMemo
2025-10-22 12:04:41 +02:00
Gigi
8459853c43
refactor: remove bookmark count from section headings
2025-10-22 12:02:24 +02:00
Gigi
f7eeb080e1
feat: update bookmark heading based on selected filter
2025-10-22 12:01:09 +02:00
Gigi
2769b2dba7
fix: remove unused faTimes import
2025-10-22 11:51:17 +02:00
Gigi
46636b8e6a
feat: move profile picture to first position (left-aligned) with consistent sizing
2025-10-22 11:50:16 +02:00
Gigi
92a85761ef
feat: make highlight count clickable to open highlights sidebar
2025-10-22 11:48:41 +02:00
Gigi
f6a325f7e9
feat: hide close/collapse sidebar buttons on mobile
2025-10-22 11:45:51 +02:00
Gigi
a501fa816f
feat: sort bookmarks chronologically by displayed date (newest first)
2025-10-22 11:43:30 +02:00
Gigi
5ece80b8e9
feat: change default bookmark view to flat chronological list
2025-10-22 11:42:12 +02:00
Gigi
87c017b2c2
docs: update CHANGELOG for v0.10.10
2025-10-22 11:38:09 +02:00
Gigi
550ee415f0
chore: bump version to 0.10.10
v0.10.10
2025-10-22 11:37:08 +02:00
Gigi
aaaf226623
Merge pull request #24 from dergigi/controllers-and-fetching
...
Replace timeouts with streaming controllers and fix bookmark hydration
2025-10-22 11:36:35 +02:00
Gigi
23ce0c9d4c
chore: remove debug logging from bookmark controller
2025-10-22 11:33:41 +02:00
Gigi
dddf8575c4
fix: resolve TypeScript type errors in bookmark hydration promises
...
Add .then() handlers to convert Promise<NostrEvent[]> to Promise<void>
for compatibility with Promise<void>[] array type.
2025-10-22 11:30:53 +02:00
Gigi
3ab0610e1e
fix: prevent cascading hydration loops in bookmark controller
...
Run all coordinate queries in parallel with Promise.all instead of
sequential awaits. This prevents each query from triggering a rebuild
that causes another hydration cycle, which was creating infinite loops.
The issue was that awaiting each query sequentially would:
1. Fetch articles for author A
2. Call onProgress, rebuild bookmarks
3. Trigger new hydration because coordinates changed
4. Repeat indefinitely
Now all queries start at once and stream results as they arrive,
matching the original loader behavior.
2025-10-22 11:27:12 +02:00
Gigi
e40f820fdc
fix: handle empty d-tags separately in bookmark hydration
...
Separate fetching of articles with empty vs non-empty d-tags to work
around relay filter handling issues. For empty d-tags, fetch all events
of that kind/author and filter client-side.
2025-10-22 11:25:30 +02:00
Gigi
3f82bc7873
debug: add logging for bookmark coordinate hydration
2025-10-22 11:23:26 +02:00
Gigi
b913cc4d7f
fix: hide 'Open Original' button for nostr-native events
...
Only external URLs (/r/ paths) have original sources.
Nostr-native events don't need this option in the three-dot menu.
2025-10-22 11:21:08 +02:00
Gigi
bc1aed30b4
fix: open nostr events directly on ants.sh instead of as search query
...
When clicking search in the three-dot menu for a nostr event,
now opens https://ants.sh/e/ <eventId> directly instead of
https://ants.sh/?q=nostr-event :<eventId>
2025-10-22 11:20:12 +02:00
Gigi
9a801975aa
fix(bookmarks): replace applesauce loaders with local-first queryEvents
...
Replace EventLoader and AddressLoader with queryEvents for bookmark
hydration to properly prioritize local relays. The applesauce loaders
were not using local-first fetching strategy, causing bookmarked events
to not be hydrated from local relay cache.
- Remove createEventLoader and createAddressLoader usage
- Replace with queryEvents which handles local-first fetching
- Properly streams events from local relays before remote relays
- Follows the controller pattern used by other services (writings, etc)
This fixes the issue where bookmarks would only show event IDs instead
of full content, while blog posts (kind:30023) worked correctly.
2025-10-22 11:16:21 +02:00
Gigi
f3e44edd51
fix: remove unnecessary key prop causing lag on tab switching in Explore
2025-10-22 11:09:05 +02:00
Gigi
0be6aa81ce
fix: add comments to empty catch blocks to satisfy linter
2025-10-22 09:00:01 +02:00
Gigi
c7b885cfcd
refactor(reader): use startReadingPositionStream in ContentPanel
2025-10-22 08:55:50 +02:00
Gigi
11041df1fb
refactor(reading-position): add startReadingPositionStream and remove timeouts
2025-10-22 08:55:18 +02:00
Gigi
89273e2a03
refactor(settings): use startSettingsStream in useSettings hook
2025-10-22 08:54:45 +02:00
Gigi
0610454e74
feat(settings): add startSettingsStream and remove timeout-based blocking
2025-10-22 08:54:17 +02:00
Gigi
a02413a7cb
fix(reading-progress): load and display progress on fresh sessions; include external URL keys and avoid double-encoding; add debug guard
2025-10-22 02:02:39 +02:00
Gigi
0bc84e7c6c
chore: update package-lock.json for v0.10.9
2025-10-22 01:41:46 +02:00
Gigi
a1e28c6bc9
docs: update CHANGELOG for v0.10.9
2025-10-22 01:41:34 +02:00
Gigi
a1a7f0e4a4
chore: bump version to 0.10.9
v0.10.9
2025-10-22 01:41:14 +02:00
Gigi
cde8e30ab2
fix(events): improve /e/ reliability with retry + backoff in eventManager
...
- Add multi-attempt fetch with backoff
- Retry on not-found, errors, and timeouts before failing
- Keep deduplication and cache-first behavior
2025-10-22 01:40:26 +02:00
Gigi
aa7e532950
fix(bookmarks): use per-item added_at/created_at when available
...
- Read / from applesauce pointers for notes/articles
- Fallback to eventStore event during enrichment
- Keeps sorting by then consistent
2025-10-22 01:35:06 +02:00
Gigi
c9208cfff2
chore: remove all debug console logs
...
- Remove console.log from bookmark hydration
- Remove console.log from relay initialization
- Remove all console.debug calls from TTS hook and controls
- Remove debug logging from RouteDebug component
- Fix useCallback dependency warning in speak function
2025-10-22 01:26:42 +02:00
Gigi
2fb4132342
docs: update CHANGELOG for v0.10.8
2025-10-22 01:25:41 +02:00
Gigi
81180c8ba8
chore: bump version to 0.10.8
v0.10.8
2025-10-22 01:23:13 +02:00
Gigi
1c48adf44e
Merge pull request #23 from dergigi/e-path
...
feat: add /e/:eventId path for individual event rendering
2025-10-22 01:22:52 +02:00
Gigi
366e10b23a
feat(/e/): check eventStore first for author profile
...
- Try to load author profile from eventStore cache first
- Only fetch from relays if not found in cache
- Instant title update if profile already loaded
2025-10-22 01:19:09 +02:00