ee0077063d
Implement append-only rendering for feed and post pages (task 1.1)
v0.7.85
Laan Tungir2026-07-01 07:59:39 -04:00
b09bf0d839
Fix ReferenceError: move publishStartTime to outer scope so silent failure detection can access it
v0.7.84
Laan Tungir2026-06-30 11:36:36 -04:00
d04844cce8
Detect silent relay failures: after each batch, mark relays with no response as timed out (catches DNS errors, connection refused, HTTP handshake failures that NDK doesn't emit relay:publish:failed for)
v0.7.83
Laan Tungir2026-06-30 11:24:45 -04:00
b03b848909
Add debug logging: per-relay publish/timeout/reject with elapsed time, batch start/end timing
v0.7.82
Laan Tungir2026-06-30 11:07:27 -04:00
9b746838c3
Fix batch info in footer: include batchCurrent/batchTotal in per-relay progress events, set currentBatch before each batch starts
v0.7.81
Laan Tungir2026-06-30 10:55:04 -04:00
978e5029f3
Skip-mark timed-out broadcast relays too (not just explicit rejections) — reason distinguishes 'publish-timeout' from 'publish-rejected'
v0.7.80
Laan Tungir2026-06-30 10:42:12 -04:00
011e4c303c
Show batch progress in footer: '📡 50/630 relays · 2/25 batches · relay.example.com'
v0.7.79
Laan Tungir2026-06-30 10:36:42 -04:00
fa019fe9a1
Send publish response after outbox relays complete, then run broadcast batches in background — composer clears immediately while broadcast continues
v0.7.78
Laan Tungir2026-06-30 10:33:14 -04:00
0f31e1c301
Batched broadcast publishing: split 600+ relays into batches of 25, publish sequentially to avoid browser WebSocket connection limits. 10s per-relay timeout per batch.
v0.7.77
Laan Tungir2026-06-30 10:21:55 -04:00
c9a20e63b5
Keep broadcast result in footer until next publish overwrites it (remove 10s auto-clear)
v0.7.76
Laan Tungir2026-06-30 10:13:46 -04:00
79e38b8f79
Experiment: increase per-relay broadcast timeout to 60s to test if NDK can handle 600 relays with longer connection time
v0.7.75
Laan Tungir2026-06-30 10:11:08 -04:00
7cfd43b91b
Set per-relay broadcast timeout to 5s, overall deadline to totalRelays*5s (min 30s). NDK runs relays in parallel so 600 relays finish in ~5s not 3000s
v0.7.74
Laan Tungir2026-06-30 10:06:37 -04:00
777ab312a5
Fix broadcast timeout: increase connection timeout to 15s for temporary relays, race publish against 45s overall deadline so one slow relay doesn't block
v0.7.73
Laan Tungir2026-06-30 10:02:00 -04:00
2763dd9d6a
Add relay URL hover tooltip on post time: shows 'Published to N relays:' with URL list when hovering over the relay count
v0.7.72
Laan Tungir2026-06-30 09:37:36 -04:00
a20b28cd21
Fix relay count display: emit broadcastProgress done event for all publishes (not just broadcasts), add missing eventId/eventKind to broadcast done event
v0.7.71
Laan Tungir2026-06-30 09:33:08 -04:00
456f0e1f2e
Add relay count to post time display: shows '21r - 1h' format on each post card, tracking successful relay count from broadcastProgress events
v0.7.70
Laan Tungir2026-06-30 09:28:38 -04:00
4abb4bf33c
Add 10-sat fee-reserve buffer to handleWalletPayInvoice melt to fix 'not enough inputs provided for melt' errors
v0.7.69
Laan Tungir2026-06-30 09:19:30 -04:00
7dcfc7c3e3
Fix broadcast relay timeout: use 30s timeout for large broadcasts, distinguish timeouts from explicit rejections, only skip-mark explicit rejections, use live-tracked sets for results
v0.7.68
Laan Tungir2026-06-30 09:15:02 -04:00
07f5f39f35
Add per-mint tracing logs to handleWalletPayInvoice for lightning zap diagnostics
v0.7.67
Laan Tungir2026-06-30 07:59:52 -04:00
10ddda633c
Add broadcast relays feature: kind 10088 list with always-on union, persistent skip-marks, live progress in post.html footer, sidenav management UI on relays.html
v0.7.66
Laan Tungir2026-06-30 07:47:22 -04:00
2334f742cf
Add kind 0 cache query as fallback for profile names in discovered relays — Dexie profiles table may not have all follows, so also query kind 0 events from NDK cache. Add debug log for name resolution count.
v0.7.55
Laan Tungir2026-06-26 21:51:10 -04:00
8c456ec522
Fix discovered relays cache invalidation: add version suffix to cache key so servingNames data is rebuilt after code change
v0.7.54
Laan Tungir2026-06-26 21:33:34 -04:00
e734f33542
Display usernames instead of pubkeys in discovered relays Follows column — query Dexie profiles table for displayName/name, fall back to truncated pubkey if no profile cached
v0.7.53
Laan Tungir2026-06-26 20:20:37 -04:00
6ad2d37a23
Redesign handleGetDiscoveredRelays: use Dexie cache for follows' kind 10002 events instead of ephemeral outbox tracker. Stable relay→follows mapping that only changes when contact list changes. Live connection status from pool. Cache result in worker to avoid re-querying Dexie on every expand.
v0.7.52
Laan Tungir2026-06-26 13:43:40 -04:00
28ce7bce1b
Fix discovered relays table: filter out rows with no serving pubkeys, rename 'Sample Follows' to 'Follows', show all follows (not just 3), fix layout wrapping with overflow-x auto and max-height scroll
v0.7.51
Laan Tungir2026-06-26 13:29:49 -04:00
efe9d977cd
Make warmOutbox handler non-blocking (fire-and-forget) in worker dispatch — trackUsers involves network I/O that was blocking the entire message dispatch loop, starving getRelayData/getRelayStats
v0.7.49
Laan Tungir2026-06-26 10:27:42 -04:00
bff0bca411
Remove redundant warmOutbox calls from ensureLiveFeedSubscription and newAuthors path — NDK.subscribe already calls trackUsers internally, so only the pre-bootstrap warmOutbox is needed. This reduces the outbox event burst that was starving the worker message queue.
v0.7.48
Laan Tungir2026-06-26 10:17:56 -04:00
fee3ffc764
Increase getRelayData/getRelayStats timeout from 5s to 15s — worker is busy processing outbox/NDK events from feed.html warmOutbox, causing message queue delays
v0.7.47
Laan Tungir2026-06-26 10:14:21 -04:00
d49a3e800f
Add debug logging to getDiscoveredRelays handler to diagnose why Serving/Sample Follows columns are empty
v0.7.46
Laan Tungir2026-06-26 10:11:55 -04:00
9d9d0f88f5
Remove discovered relays auto-refresh interval — fetch only on manual expand click to prevent worker message queue starvation
v0.7.45
Laan Tungir2026-06-26 10:08:13 -04:00
b11161862a
Fix relays.html relay data timeout: separate discovered relays refresh to 15s interval only when expanded, make worker getDiscoveredRelays handler non-blocking (fire-and-forget) to prevent message queue starvation
v0.7.44
Laan Tungir2026-06-26 09:54:18 -04:00
ae67e65969
Mark Phases 1-4 as complete in feed-outbox-assessment.md, update summary table with status column
v0.7.42
Laan Tungir2026-06-26 09:44:56 -04:00
19344942b0
Fix relays.html sidenav connection history toggle: remove section title and horizontal rules, use SVG checkbox style matching the relay table checkboxes
v0.7.41
Laan Tungir2026-06-26 09:43:02 -04:00
c758333269
Implement feed outbox model pre-warming (Phases 1-3) and relays.html connection history toggle with performance fixes (Phase 4)
v0.7.40
Laan Tungir2026-06-26 09:38:31 -04:00
3ed0c35611
Fix post-feed reply composer width: #divComposer was nested in #divThread and re-applied 80% (560px); now fills parent (700px)
v0.7.39
Laan Tungir2026-06-26 07:26:09 -04:00
d9503c1532
Revert: remove layout:'inline' from mountComposer in post-feed.html — made it worse
v0.7.38
Laan Tungir2026-06-26 07:18:32 -04:00
b2a50376df
Ensure nutzap privkey is always included in kind 17375 republish
v0.7.22
Laan Tungir2026-06-25 13:48:34 -04:00
3c4be89ead
Add Republish Wallet button to force kind 17375 republish in NIP-60 format
v0.7.21
Laan Tungir2026-06-25 13:39:32 -04:00
89d2c259f6
Fix event-management Refresh Kind to honor NIP-65 write-only relay designation and not read from write-only relays like sendit.nosflare.com
v0.7.20
Laan Tungir2026-06-25 13:34:24 -04:00
7b77da7349
Fix NIP-60 kind 17375 content format: use tag-array instead of proprietary object
v0.7.19
Laan Tungir2026-06-25 12:24:48 -04:00
eed00f67cf
Migrate music playlists to Gruuv a-tag hydration and add optional lazy FRIENDS loading
v0.7.17
Laan Tungir2026-06-09 15:15:08 -04:00
8998c5664d
Re-sort projects table by 30-day commits after lazy commit counts load
v0.7.16
Laan Tungir2026-05-29 10:58:32 -04:00
e943870d77
Port projects page functionality into template with public/no-login mode and project-native styling
v0.7.15
Laan Tungir2026-05-28 14:44:00 -04:00
08fc661077
Prioritize live window.nostr authState for active signing port registration
v0.7.14
Laan Tungir2026-05-27 15:48:34 -04:00