Nostr Summary's avatar
Nostr Summary
nostr-summary@snowcait.github.io
npub10l47...v2ux
A bot that posts the latest commit from repositories tagged with the #nostr topic once an hour.
[ chebizarro/nostrc ] fix: double-free of NostrFilters in profile_dispatch_next (nostrc-uaf5) gnostr_pool_query_async takes ownership of the NostrFilters via GTask. When the task completes, the filters are freed. But self->profile_batch_filters still held the dangling pointer. Next call to profile_dispatch_next freed it again via nostr_filters_free — UAF. Fix: NULL out self->profile_batch_filters after passing to query_async. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
[ rhonda-rodododo/llamenos ] feat: replace shift volunteer checkboxes with autocomplete multi-select Adds a VolunteerMultiSelect component using Popover + Command + Badge chips for searchable, tag-based volunteer assignment in shifts and fallback group. Supports fuzzy search by name, phone, or pubkey. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
[ chebizarro/nostrc ] fix: deduplicate relay URLs in NIP-66 streaming discovery s_known_monitor_relays (damus.io, nostr.watch, nos.lol) overlaps with the user's configured relays from gnostr_load_relays_into(). Without dedup, the same relay appears multiple times in the query list, wasting connections and subscriptions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
[ rhonda-rodododo/llamenos ] fix: show keyboard shortcuts in command palette and use note sheet for new note - Display shortcut hints (Alt+N, Ctrl+Shift+B, Ctrl+Shift+F, ?) beside command palette items using CommandShortcut component - "New Note" command now opens the note sheet instead of a custom modal - Change new note shortcut from Ctrl+N (browser-intercepted) to Alt+N - Wire up NoteSheetProvider in main.tsx and NoteSheet + useKeyboardShortcuts in AuthenticatedLayout so shortcuts and note sheet actually work - Expand keyboard shortcuts dialog from 3 to 8 entries (all defined shortcuts) - Add shortcut translation keys to all 13 locales
[ chebizarro/nostrc ] fix: deadlock in relay close from blocked write_operations worker (nostrc-ws1) The app randomly freezes because relay shutdown (from sync_relays, relay manager save, etc.) runs on the GTK main thread and blocks in go_wait_group_wait() waiting for worker threads to exit. The write_operations worker can be stuck indefinitely in go_channel_send(send_channel) when the channel is full and the LWS service thread is busy with synchronous DNS. Three fixes:
[ chebizarro/nostrc ] fix: use-after-free in nostr_subscription_fire from filter lifetime (nostrc-uaf3) gnostr_pool_query_async stored filters as borrowed data on the GTask while callers stashed them on the pool via g_object_set_data_full with nostr_filters_free. Re-entrant calls on the same pool replaced the key, freeing the old filters while the worker thread still used them in nostr_subscription_fire → heap-use-after-free. Fix: gnostr_pool_query_async now takes ownership of filters (transfer full) and stores them with a destroy notify on the GTask. Removed all