nostr-summary
Nostr Summary
A bot that posts the latest commit from repositories tagged with the #nostr topic once an hour.
Public Key
npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux Profile Code
nprofile1qqs8l6lz5kd2sfhc7cehksgpjw024jp06nnv5heu0w838jsr45n090cpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsr65qcw
Show more details
Published at
2025-10-25T11:41:20Z Event JSON
{
"id": "bfb41c55da755ebe522bb72e494a57dde1eb48219fdd4f4e4940f6a25ba8037f" ,
"pubkey": "7febe2a59aa826f8f6337b4101939eaac82fd4e6ca5f3c7b8f13ca03ad26f2bf" ,
"created_at": 1761392480 ,
"kind": 0 ,
"tags": [],
"content": "{\"name\":\"nostr-summary\",\"display_name\":\"Nostr Summary\",\"picture\":\"https://robohash.org/npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux?set=set4\u0026size=120x120\",\"website\":\"https://github.com/SnowCait/nostr-summary\",\"nip05\":\"[email protected] \",\"lud16\":\"[email protected] \",\"about\":\"A bot that posts the latest commit from repositories tagged with the #nostr topic once an hour.\"}" ,
"sig": "6333533d54ed48a64a26fac5452aa7cc141efdd4a4b987669ca2cb51a1582aa2dc67b7dad9c2f02ce8d3d18ac8cce0b7d7730bbc72aad5d34c26d1309a52bb7d"
}
Last Notes npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-client/skyline ] hide machine JSON in the discovery feeds Home and hashtag feeds get hide-json: you did not choose these authors, so a stream of zone_presence beacons is pure noise — 12% of the firehose right now. Deliberately NOT on #person-feed. If you open someone's profile you should see what they actually post, machine-readable or not. https://github.com/nostr-client/skyline/commit/e32a5b562176f1e192020e531c454522207831a4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-client/feed ] feed: hide-json — keep machine chatter out of a social feed Relays carry a lot of kind-1 that is not a post: device telemetry, presence beacons, agent handshakes, published as a bare JSON document. Sampling the public firehose right now, 24 of 196 notes — 12% — are exactly this, mostly zone_presence heartbeats repeating every few seconds from the same key. Opt in with `hide-json` and they never reach the feed. The test is deliberately strict, because a false positive silences a real https://github.com/nostr-client/feed/commit/32c4e57b762aff0ae77b640f3562a2c213d43e9c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-client/pool ] relay lifecycle: handshake timeout, zombie REQs, bounded dedup, jitter - A socket that completed TCP/TLS but never finished the WebSocket handshake left status='connecting' forever. connect() early-returns on that, so _scheduleReconnect could never fire and the relay was dead for the rest of the session, silently. 10s handshake timer, then reconnect. - unsubscribe() during a reconnect deleted the sub but left its queued REQ in sendQueue, which onopen then flushed — a subscription with no handler and no CLOSE. Browsing while a relay flaps leaked one per note; relays cap concurrent subscriptions and start dropping. The queued REQ is now dropped too. https://github.com/nostr-client/pool/commit/59848488c031e33bb676349bc8e3bf50b9b8386c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-client/login ] fix: don't claim a backup that didn't happen; sync the two chips navigator.clipboard.writeText returns a promise. It was neither awaited nor caught, so a rejection (no permission, unfocused document, insecure context) escaped as an unhandled rejection while the next dialog still told the user "Your nsec is on the clipboard" — and they confirmed permanent deletion of an unrecoverable key on that false premise. A key-loss bug inside the code added to prevent key loss. The copy is now awaited, and when it fails the key is shown in the dialog instead. https://github.com/nostr-client/login/commit/8ed435147b7facad626a3c49f3d12d299ca65236 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-client/cache ] fix: the cache re-verification verified nothing The previous commit re-checked cached events with checkId. A re-audit correctly pointed out that an event id is a KEYLESS sha256 of attacker-controlled fields, and checkId validates sig only as a 128-hex string — so anything able to write to the shared IndexedDB could pick any pubkey and content, compute the matching id, and have it render as a fully trusted note. checkId proved only that a forger did their arithmetic. Use verifyEvent, which binds content to the key. It also wasn't applied consistently: the stale-while-revalidate read for https://github.com/nostr-client/cache/commit/7db79f657246a4f916926f22406bfd436d3838bf npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ SnowCait/nostter ] Merge pull request #2442 from SnowCait/migrate-follow-list-effect Migrate followees and followers pages from run to effect https://github.com/SnowCait/nostter/commit/ee893c57bb4abccc3fd65f6194f5760d0b6894c4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-client/guestbook ] a11y: visible focus ring The focus style used --nc-accent-soft, a ~1.1:1 tint against white, and as an author :focus rule it REPLACED the browser's default ring — leaving keyboard users with no visible focus at all in text fields. Use the accent itself with an offset. https://github.com/nostr-client/guestbook/commit/c9309d39ca7d7800d3c0bc0be055c35548e991f0 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ 21gifts/api ] 01a0949e - Require a live forum post before spend invoices (#120) * 01a0949e - Require a live forum post before spend invoices GET /invoices/posted reports whether a Lightning Address has a live non-profile forum message. POST /invoices returns 403 Forum post required after the passkey check, before LNURL. * 01a0949e - Report hasPosted on GET /me https://github.com/21gifts/api/commit/f87336a12fa304cf895eb425ea143141aefcf0cd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/816266f67f8ecc91cd52f94a5fd58cdec1827d2d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] Merge pull request #417 from LNVPS/fix/app-backup-review-followups Stop a failed backup evicting a restore point, and size the backup Jobs https://github.com/LNVPS/api/commit/5cae2da5a664fbe27382eb53c94f909d2be41866 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nogringo/nostr-mail-client ] fix(inbox): align the desktop toolbar with other app bars https://github.com/nogringo/nostr-mail-client/commit/4f5f19399d6a29a189149da5aa216393ca4b695a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Awkward-graver397/QuillMesh ] Update README.md https://github.com/Awkward-graver397/QuillMesh/commit/86bbf275fa64b7c1c877b1efb6f449221b5ea728 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zapcooking/frontend ] Merge pull request #728 from dmnyc/fix/profile-name-collision fix(profile): long names clear of the action buttons on mobile https://github.com/zapcooking/frontend/commit/3d907f494f60248911cf12923b85faca5e81fe49 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ HolgerHatGarKeineNode/einundzwanzig-portal ] 🔗 Point Playwright at the Chromium this host already has Pest and Playwright resolve a browser by joining PLAYWRIGHT_BROWSERS_PATH with a "{name}-{revision}" directory read from node_modules/playwright-core/browsers.json, then only checking that the file exists. A symlink registry is therefore enough, and no browser needs downloading — `npx playwright install` pulls hundreds of MB and then runs against a different binary than everyone else on the team. Both variants are linked, not just chromium: headless is the default and resolves to chromium-headless-shell, so wiring plain chromium alone fails with https://github.com/HolgerHatGarKeineNode/einundzwanzig-portal/commit/79c2cd0dc285d129185fdf03d5bd843e18fbb860 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ HolgerHatGarKeineNode/einundzwanzig-group ] 🔗 Point Playwright at the Chromium this host already has Pest and Playwright resolve a browser by joining PLAYWRIGHT_BROWSERS_PATH with a "{name}-{revision}" directory read from node_modules/playwright-core/browsers.json, then only checking that the file exists. A symlink registry is therefore enough, and no browser needs downloading — `npx playwright install` pulls hundreds of MB and then runs against a different binary than everyone else on the team. Both variants are linked, not just chromium: headless is the default and resolves to chromium-headless-shell, so wiring plain chromium alone fails with https://github.com/HolgerHatGarKeineNode/einundzwanzig-group/commit/4ea8da6467b89fe013dd471f248e9886e3a8ee13 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ AstrolexisAI/pyblock-blake2b ] Fees come from the pool, not from a string in the app '0.9% fee' on CHIRP was the SHA-256 pool's number; here it is 98/1/1. Two more in WAVICLES: the header claimed 0.4% for both fee paths (own node 0.4%, our stratum 2.9%) and 'POOL FEE (0.4%)' labelled a sample that is currently 1.86%. All read from the gateway now, with no number quoted when the server sends none. Mirrors iOS. https://github.com/AstrolexisAI/pyblock-blake2b/commit/f010d73ac9f594de1296002e10de16e1e0001dcf npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ immrdude/clawstr ] Update README.md https://github.com/immrdude/clawstr/commit/649c9b49e8fa58486782ec4223bbe841cd35b29d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ aljazceru/awesome-nostr ] docs: add development agent guide Co-authored-by: Shelley <[email protected] > https://github.com/aljazceru/awesome-nostr/commit/ee05296cf0f1094640914c99d9c2a9f72f98f0a4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rehansahab/Sparkle-Protocol ] Update README.md https://github.com/rehansahab/Sparkle-Protocol/commit/9aa0294c974dee9096559dc872f12734f86de4d3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ qntx/nostr.js ] ci: pin @v2 and add docs stub (#109) https://github.com/qntx/nostr.js/commit/665fe15694bacebe15e0554a1d76c2a5dedc8cb1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ briskness-byte/NostrComments ] Link the demo video from the README https://github.com/briskness-byte/NostrComments/commit/24c9763ec44c090cf0b9f38c448210b08e7de123 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ iqbqioza/nostrfy ] fix: remove mixed-case gift wraps during deletion (#84) https://github.com/iqbqioza/nostrfy/commit/40bae56d49de07d7a834ca02f62425091c46e6b4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ plotsklapps/GYMPLY ] chore: update dependencies in pubspec.lock https://github.com/plotsklapps/GYMPLY/commit/a8b36286d9efd33070b6c4030176eb4ce8da742f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zeSchlausKwab/earthly ] Merge pull request #28 from zeSchlausKwab/codex/release-0.1.10 Release Earthly 0.1.10: MapLibre security fix and maintenance https://github.com/zeSchlausKwab/earthly/commit/4322dc95842177bcbfec32a0762bebce0ab9467b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ davotoula/brollyzapper ] Merge pull request #50 from davotoula/44b-arch-raw-source arch: three rules read code, not prose — bounded set, template routes, preimage reveals (44b) https://github.com/davotoula/brollyzapper/commit/97db66b58afe646268c53db8c5568649ebf766d1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Awkward-graver397/QuillMesh ] Update README.md https://github.com/Awkward-graver397/QuillMesh/commit/cc677d427bc9e48195c4cccf194dc1a5268c7282 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ relaystr/ndk ] Merge pull request #821 from relaystr/release-34749758580 chore(prerelease): publish ndk 0.10.0-dev.3 https://github.com/relaystr/ndk/commit/615c767b26efb704a9bb27ffccb3d390d2a0f252 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ andrewtheguy/ptransfer ] Merge pull request #72 from andrewtheguy/fix/tui-no-mouse PIN Exchange: refuse a peer on another protocol; TUI without mouse; installer to ~/.local/bin https://github.com/andrewtheguy/ptransfer/commit/7d24f40085e16e6f01e6196adca8a12d42414ec2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ greenweaveglobal/CypherGuide ] feat: update image compression and upload logic Refactor image compression to return a Blob and implement media upload support for nostr.build with a fallback to void.cat. https://github.com/greenweaveglobal/CypherGuide/commit/d49b9796f6d10fdfd59360a5b3eb18a19192878e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sageox/agent-toolkit ] Add Codex brains over ACP (#91) * feat(core): support Codex brains over ACP Co-Authored-By: SageOx <[email protected] > * fix(core): reject duplicate ACP server names before startup Co-Authored-By: SageOx <[email protected] > https://github.com/sageox/agent-toolkit/commit/98d0349ec7880c0d4529ebcc9f27d2318a6d020e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ netzen-abm/sidereth ] docs: register longitudinal architecture and normalize status https://github.com/netzen-abm/sidereth/commit/4f9e6006e918bd92bd4cd153037d0e93c07c88d6 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ SnowCait/nostter ] Merge pull request #2434 from SnowCait/remove-longform-stoppropagation Remove unneeded stopPropagation from LongFormContent https://github.com/SnowCait/nostter/commit/e355cebd5530ea4deb526c9bfb3c129bd9f671e8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ CodyTseng/psstpsst ] fix(onboarding): extend welcome artwork behind status bar on first launch https://github.com/CodyTseng/psstpsst/commit/02c9fef88cc97b48be385cd01551cebae8ba420a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ SnowCait/nostter ] Merge pull request #2428 from SnowCait/migrate-modaldialog-close-to-callback Migrate ModalDialog close event to callback prop https://github.com/SnowCait/nostter/commit/8868665e23b5622f0bf515a2a9ffac419ac6ee46 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #4089 from vitorpamplona/chore/bump-winget-manifest-v1.15.1 chore: sync winget manifests to v1.15.1 https://github.com/vitorpamplona/amethyst/commit/3c4ab627296bcf16094abd708c5d244cbd6443cc npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] A bot given a room joins it "had bot join room check logs" → nothing in the journal. The row said why: the invite was stored on bot "Nostr" with its `#` fragment intact, "Test join" had answered 200 OK, and `modes` was `--nostr`. No `--concord`, so the listener never started. The bot held a community it never opened — nothing broken, nothing logged, and every surface an operator can see reporting success. Reported as "i don't see bot in room despite what the UI says", then pinpointed exactly: "on concord bot was not checked". THIS TRAP WAS BUILT BY THE FIX FOR THE LAST ONE. Making the invite field always visible https://github.com/loblawbob873-svg/posterchanai/commit/068f0345eb7e6ee6c6333285f70186e8f60ee4d2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ AstrolexisAI/pyblock-blake2b ] POOL: RENTALS + MINER (server contracts of 2026-09-11) - BlakeRentals: packages (blake2b_rigs), HMAC-signed quote/order via DeviceStore + HmacSigner with one 403 self-heal, public tracking (hashrate_status), orders_by_device?chain=blake2b. - BlakeMiner: blake2b_miner.php (pools/workers/blocks/connect), miner_history chain=blake2b, wallet auto-detect of mining addresses. - BlakeRentalsSheet: duration chips, package rows, delivery pool, payout address (wallet picker), quote, LN invoice (QR/copy/chooser), lifecycle tracker with live hash + sparkline, MY ORDERS. https://github.com/AstrolexisAI/pyblock-blake2b/commit/fbb132f32d5248c20b61dc66e02bbe50c9e60271 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nymrel/PermitMesh ] feat: add stable reason_codes for decision replay (#23) Closed reason_codes plus decision_digest for shadow replay. Cursor merged under operator workaround after Fable 5.1 Cursor-Task policy gate; Claude App may still refute. https://github.com/nymrel/PermitMesh/commit/e0941e5ba2ed04e8a9e06ebbac9581317aca520c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Punk-Science-Studios-Inc/omarchy-scrobble ] Drop agent instruction files from the distributed tree The marketplace security review rejects plugins that ship files able to influence reviewing or coding agents. CLAUDE.md and AGENTS.md are local working notes; they are now ignored and no longer tracked. Co-Authored-By: Claude Opus 5 <[email protected] > Claude-Session: https://claude.ai/code/session_014BcDZ2gJdC6YoeZNxsYSt4 https://github.com/Punk-Science-Studios-Inc/omarchy-scrobble/commit/942b113a75fb3d82a0aec1be8bc58a8987df21ed npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Chewerphalguna599/genesis-mind ] Update README.md https://github.com/Chewerphalguna599/genesis-mind/commit/c61d952e73ea3f59b0a874eebbbcca34844251c9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zeSchlausKwab/earthly ] Merge pull request #27 from zeSchlausKwab/sketch/map-with-a-margin release: Earthly 0.1.9 — Map with a Margin https://github.com/zeSchlausKwab/earthly/commit/db9569eafa3497a76d694428d84291425186a48a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ steve02081504/fount ] file update~ https://github.com/steve02081504/fount/commit/e226bfc7d1e3838eb891145e585dc188ba254f7b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ andrewtheguy/ptransfer ] Merge pull request #62 from andrewtheguy:feat/protocol-version feat: decouple the release version from the protocol version https://github.com/andrewtheguy/ptransfer/commit/697cf7e314d90d43d272382f2acdd472310fa48b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dcadenas/nostrherd ] Record the npub in the roster and requester addressing in the README https://github.com/dcadenas/nostrherd/commit/f32d9026d0cb8da45467cf731703bb4eb33ddac0 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ netzen-abm/sidereth ] docs: clarify domain and storage documentation authority Merge PR #75: clarify domain and storage documentation authority https://github.com/netzen-abm/sidereth/commit/4637be49b2fb2891176cd360876ac05b5a6a79ef npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ orangecheck/oc-packages ] design: add Acknowledgement, the credit line that was seven different things The voice rule says every landing page credits Bram Kanstein in its bottom-CTA section for the "bitcoin as sovereignty layer" lineage. Measured across the seven family sites: four (attest, stamp, agent, www) had no credit at all, and the three that did disagreed on wording, placement and weight — lock in the bottom CTA as specified, vote in the hero as a bare icon link whose only label was a title attribute, pledge in the footer at 10px and 40% opacity. An attribution that is technically present but unreadable is not an https://github.com/orangecheck/oc-packages/commit/12b6b06a9e555e843bede1120137b6f098f1229b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ 398ja/cashu-voucher ] chore(deps): imani-bom 0.1.69 (#27) Picks up the BOM releases made while fixing the NUT-07 Y derivation, including wallet-lib 0.1.38 (MeltService pre-spend check and post-timeout reconciliation). Built and tested against the new set. Refs 398ja/imani-gateway-customer#61 https://github.com/398ja/cashu-voucher/commit/54247b81d3024bd20392197a11d4b9745561b859 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ tcheeric/nap-java ] chore(deps): imani-bom 0.1.69 (#18) Picks up the BOM releases made while fixing the NUT-07 Y derivation, including wallet-lib 0.1.38 (MeltService pre-spend check and post-timeout reconciliation). Built and tested against the new set. Refs 398ja/imani-gateway-customer#61 https://github.com/tcheeric/nap-java/commit/7f27d05e426ea459c44dd30d500aae9e80c5add4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ akiomik/nostui ] Merge pull request #569 from akiomik/agent/565-lazylock-over-lazy-static refactor: two spellings of the same lazy static, one of them dead https://github.com/akiomik/nostui/commit/6385c24289665dda649f247ec2c3d8271408dd5b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ xjmzx/nplay ] icons: refresh from Figma export (2026-09-11) icon.svg replaced with the rounded nplay-x2 export. The src-tauri/icons set (png, .ico, .icns, android/, ios/) is regenerated with `tauri icon` from the 2048px nplay-x2.png. Rounded goes into the desktop bundles because macOS does not mask .icns icons, and the new -sq export is opaque full-bleed. Corners checked transparent in icon.png, .ico and .icns. Co-Authored-By: Claude Opus 5 <[email protected] > https://github.com/xjmzx/nplay/commit/8138c8d305d968e69d020b37f5b585adaacafcad npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ xjmzx/nping ] icons: refresh from Figma export (2026-09-11) icon.svg and public/icon.svg replaced with the rounded nping-x2 export. The src-tauri/icons set (png, .ico, .icns, android/, ios/) is regenerated with `tauri icon` from the 2048px nping-x2.png. Rounded goes into the desktop bundles because macOS does not mask .icns icons, and the new -sq export is opaque full-bleed. Corners checked transparent in icon.png, .ico and .icns. Co-Authored-By: Claude Opus 5 <[email protected] > https://github.com/xjmzx/nping/commit/4ab873f86148a8cf0c9ec0236e605182a24e2758 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #4079 from vitorpamplona/fix/nwc-test-race test(nwc): fix the flaky NwcInfoCache coalescing tests https://github.com/vitorpamplona/amethyst/commit/c495c89d0f40449b4c5576ae5ecb8a69963de6f9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ lawalletio/lawallet-nwc ] fix(release): make the documented release command real (#269) * fix(release): make the documented release commands real RELEASING.md tells maintainers to run `pnpm release:minor` and `pnpm release:dry`, but neither script has ever existed in package.json, so the documented path fails on the first command. Add the four scripts the docs already reference, and reject unrecognised options in scripts/release.mjs. `--dry-run` is the reflex spelling of https://github.com/lawalletio/lawallet-nwc/commit/83ee946352210349cb68563629754667e60ab04d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ ZeusLN/zeus ] Merge pull request #4554 from kaloudis/chore/drop-lnc-rn-lockfile chore(deps): bump flagged pins in the vendored lnc-rn yarn.lock https://github.com/ZeusLN/zeus/commit/6299f9f518e170493034af2337fcd11cabfdd1ae npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] fix https://github.com/loblawbob873-svg/posterchanai/commit/7c90015cbfb1ec77798f7387cba56e420b660e81 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ davotoula/brollyzapper ] Merge pull request #44 from davotoula/20i.12-exports-lint umbrel: the exports check reads assignments, not the file (20i.12) https://github.com/davotoula/brollyzapper/commit/279678d3ffb097d9d92e794b8a9352078e5fdbba npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sputnik-nostr/sputnik ] Merge pull request #9 from thomasbuilds/ci-run-tests-with-native-lib build: run tests against the built native library https://github.com/sputnik-nostr/sputnik/commit/794eed17c004f8862542bb78a264237fa9c58fce npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ FelineStateMachine/tinyrelay ] feat: organize files and surface wiki approvals Preserve plain upload names and folder paths, including resumable uploads and identical files at multiple paths. Add contextual Files collections, previews, pagination and an owner storage inventory. Include wiki proposals and merge requests in Approvals with eligible decisions and exact revision links. Fix mobile sign-in form and QR sizing. Validation: go test ./..., 177 JavaScript tests, generated bundle verification, and browser layout checks. https://github.com/FelineStateMachine/tinyrelay/commit/67e412f92edeeb413231986b2133f84c877ffd07 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dcadenas/nostrherd ] Release 0.1.0-alpha.14 https://github.com/dcadenas/nostrherd/commit/ff6ffdd887114ebd8269bd4a930e9fe70bf0b930 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ andrewtheguy/ptransfer ] Merge pull request #52 from andrewtheguy/feat/pin-carries-code-exchange feat!: PIN Exchange carries Code Exchange's codes over a bidirectional transfer protocol https://github.com/andrewtheguy/ptransfer/commit/38d11deca731d66e0249c72206a9cdc81a77e6b3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ akiomik/nostui ] Merge pull request #555 from akiomik/agent/550-drop-unused-id-suffix test: create_test_event's suffix arranged nothing, so it is gone https://github.com/akiomik/nostui/commit/6d7e2a092caf54c78fe3180982d7561d074673b1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ SnowCait/nostter ] Merge pull request #2393 from SnowCait/support-replaceable-event-deletion-requests Support replaceable event deletion requests https://github.com/SnowCait/nostter/commit/6f42b4e14c4409093383ac8112287521cbf789d5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ santhoshjanan/nostr-signer ] feat: enhance CI and release workflows for multi-platform support and update README https://github.com/santhoshjanan/nostr-signer/commit/3acc806f6a3397ff91c8742e2e4291b5d7a8a305 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ santhoshjanan/phostrich-nip05 ] Merge pull request #3 from santhoshjanan/fix/auth-csrf-json-content-type fix(auth): send application/json content-type on mutating fetches (fixes login 403) https://github.com/santhoshjanan/phostrich-nip05/commit/6a8d2c7ff94ffe2176922585ce2cfe849c719d54 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ immrdude/clawstr ] Update README.md https://github.com/immrdude/clawstr/commit/ed786c9da8f8717d505b603e470a49398d606389 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sybenx/bothy ] Merge pull request #2 from sybenx/claude/serene-franklin-jp2x3m Implement the write ladder, and pause NIP-29 groups behind a switch https://github.com/sybenx/bothy/commit/1d8115491242326608e6a9d06f5156b4e679c715 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rehansahab/Sparkle-Protocol ] Update README.md https://github.com/rehansahab/Sparkle-Protocol/commit/0878add4e5f70d1c2b330a34803f20fc79cb55fe npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostr-wot/nostr-wot ] chore(social): record posted entries https://github.com/nostr-wot/nostr-wot/commit/ed381f98a3079b0f459426b921a0a458dbcfe803 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nogringo/nostr-mail-dart ] chore: accept sync_engine_shim_for_ndk 0.7.x and release https://github.com/nogringo/nostr-mail-dart/commit/79b191ca75def9bae643f0837ea1a9cf859d0a1b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ akiomik/zod-nostr ] Merge pull request #114 from akiomik/chore/release-surface-baseline-0.7.0 test: move the release-surface baseline to the surface 0.7.0 published https://github.com/akiomik/zod-nostr/commit/4e01271014a469338e1d7e6e7c30e29eae6bbe96 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sageox/agent-toolkit ] Chart 0.13.1 for the managed-Kubernetes floor fix (#76) * chore(helm): chart 0.13.1 for the managed-Kubernetes floor fix Co-Authored-By: Claude Opus 5 (1M context) <[email protected] > * docs(helm): pin the README dependency example to chart 0.13.1 Co-Authored-By: Claude Opus 5 (1M context) <[email protected] > https://github.com/sageox/agent-toolkit/commit/14e5ee5cb90b52f03ebbb6a375aa6bbdc669257b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ lawalletio/lawallet-nwc ] fix(wallet): flag view-only NWC connections instead of calling them receive-only (#254) Fixes #185 Co-authored-by: Cursor <[email protected] > https://github.com/lawalletio/lawallet-nwc/commit/97a3f4cfae1c23ff9602b5a596e1a646ded8383f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ shawnyeager/nostr-ux-patterns ] Add AI-extractable structure: answer blocks, FAQs, schema, tables Improve discoverability and citability by AI answer engines across the six pattern pages: - "In short" summary callout atop each pattern (40-60 word answer block) - Frequently Asked Questions section (5 Q&A) per pattern, grounded in each page's existing content - FAQPage JSON-LD generated from frontmatter, mirroring the visible FAQ - BreadcrumbList and Organization publisher added to structured data; https://github.com/shawnyeager/nostr-ux-patterns/commit/1a3dc37fae33b904fe333e6964e53fdc2de44f19 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ steve02081504/fount ] file update~ https://github.com/steve02081504/fount/commit/9b60332acffbd2034cd018d91b83f214d9202d51 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] A blocked-word term that matches everything is refused where the list is read The test that was missing, and the guard that makes the class of mistake structural rather than remembered. MY TESTS USED THE ONE EXAMPLE WORD FROM THE BUG REPORT. Not one of them fed the predicate a realistic operator list — which was sitting in the settings store, which I had already printed during the investigation, and which contains punctuation-only entries. `--------------` is in it. Separator folding mapped it to the empty string, `"" in content` is true for every event ever published, and https://github.com/loblawbob873-svg/posterchanai/commit/6c4d5aea6f58747801eae89d51bd691b0cc1d7df npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ deymosh/codedeck-plus ] Merge pull request #7 from deymosh/claude/fix-fgs-crash-and-auth-race fix: dataSync FGS crash + NIP-42 AUTH reconnect race https://github.com/deymosh/codedeck-plus/commit/53f0b4e42f7a2da10ef5f3cab87cac77f3f63bb3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ WalletScrutiny/WalletScrutinyCom ] Merge branch '950-others-explanation-template' into 'master' others: add web-wallet explanation block Closes #950 See merge request walletscrutiny/walletScrutinyCom!1645 https://github.com/WalletScrutiny/WalletScrutinyCom/commit/9ae6bcc163ecd4ded016c48a6f54a0c0e994dc61 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ tami1A84/birdwatch ] nsite: compose photo upload (bunker-signed NIP-98 -> blossom) + iOS bottom sheet - compose accepts a photo: sha256 in-browser, NIP-98 auth event (kind 24242, t/x/expiration/u tags) signed by the daemon bunker — the identity key never touches the browser — then PUT per blossom server from the user's kind-10063 list with a baked fallback; 409 = the server already holds the blob (BUD-02) and counts as success. Canonical URL is extensionless https://host/<64hex> - submit attaches an NIP-92 imeta tag (url/m/x) and appends the URL to the content; the feed renders blossom blob URLs and imeta https://github.com/tami1A84/birdwatch/commit/099ae96a1136e17a176df6a91c731b7c4691e887 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nogringo/sync-engine-shim-for-ndk ] feat: read the coverage, and forget a filter on every relay https://github.com/nogringo/sync-engine-shim-for-ndk/commit/03f6991da9eea014415643041b81a7241cf1977a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rayfish/cashr ] feat: migrate Cashr data to xyz.rayfish.cashr https://github.com/rayfish/cashr/commit/588acdf83702d8ea6cace5414fe6902d45ad5b8d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ lawalletio/lawallet-nwc ] fix(admin): hide revoked/dead wallets from the forwarding map (#242) * fix(admin): hide revoked/dead wallets from the forwarding map Fixes #182 Co-authored-by: Cursor <[email protected] > * test(remote-wallets): keep the findMany mock assignable to the Prisma type https://github.com/lawalletio/lawallet-nwc/commit/51a5333f942ff69b99ca961f565ea097fafdadcb npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ adamdecaf/nostr-book ] chore: automated publishing https://github.com/adamdecaf/nostr-book/commit/1324df09bc422bcce7d5141ab1aba86b2dbc0a61 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ radrootslabs/lib ] storage: Support governed draft submission and queries - Commit captured draft intent and authored preparation atomically - Bind exact replay before source CAS and preserve ordinary Prepare receipts - Bound scoped recovery pages and isolate corrupt revision evidence - Qualify migration compatibility API coverage and complete workspace gates https://github.com/radrootslabs/lib/commit/363b9be18831be2fd6ef505d6154fb878ed8efd7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ mattn/lisp-nostr-relay ] Merge pull request #24 from mattn/perf/uncompressed-core-smaller-heap Cut the resident memory of the relay https://github.com/mattn/lisp-nostr-relay/commit/ad7381c43a13fcd06be1612d527e87749b11a17f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ getAlby/lightning-browser-extension ] fix: tolerate locales without a permissions namespace in i18n resources (#3620) * fix: tolerate locales without a permissions namespace in i18n resources Weblate drops a namespace entirely from a locale file when none of its keys are translated. After the lnd/commando/lnc permission descriptions were removed from the English source, the next Weblate sync (#3579) removes the whole `permissions` object from 13 locales, which made `<lang>.permissions` in i18nConfig.ts a type error. Build the non-English resource entries through a helper that defaults `permissions` to an empty https://github.com/getAlby/lightning-browser-extension/commit/a683dd9f65a6f2deaae911aaa19ee409fbe64d86 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ WalletScrutiny/WalletScrutinyCom ] Update npm deps for fixes and deps reduction https://github.com/WalletScrutiny/WalletScrutinyCom/commit/dceb8204f14be58d1d13b31e5897e0516c0af8df npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ arbadacarbaYK/gittr ] Make header clicks land immediately instead of waiting for Explore and Code catalogs to finish painting. https://github.com/arbadacarbaYK/gittr/commit/724f260d2debf0b32eef1983b5c1832b122b2225 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ arbadacarbaYK/gittr ] Stop telling people Nostr PRs have no files — the event already points at git; gittr was the client that skipped the fetch. https://github.com/arbadacarbaYK/gittr/commit/8731ede41b9bf1e4acf9bde3fa2bf8ab3601caf8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vgiappnee-web/nostr-wot ] Update README.md https://github.com/vgiappnee-web/nostr-wot/commit/6bfec82796ccca2eb0d7991e132f9ae61a472b94 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ FelineStateMachine/tinyrelay ] document repository proposals from agents https://github.com/FelineStateMachine/tinyrelay/commit/ff254bfea41381760de1dbc3dfe871af52a03f8d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dergigi/boris-android ] chore: release 1.6.13 https://github.com/dergigi/boris-android/commit/629fb5d0d934c625d7f8a8ee38219df7ed104c5d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Routstr/routstr-core ] Merge pull request #725 from Routstr/feat/expose-reasoning-effort-options-v1-models feat: expose per-model reasoning effort on /v1/models https://github.com/Routstr/routstr-core/commit/a5688f05d9635959f3446a3858e2b880896fc05c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Spl0itable/Nymbot ] v1.0.10 https://github.com/Spl0itable/Nymbot/commit/16faf094372ac889ce173604b8da56ca8e0b687c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ aminfathullah/nostree ] feat(profile): add cover photo support with upload, caching, and relay improvements - Add profile cover photo (header image) support across editor, preview, and viewer components - Implement image upload to nostr.build via NIP-98 with local data URL fallback - Add cover photo UI with drag-drop, URL input, and remove/change actions - Persist editor state (trees, active slug) to localStorage for instant load - Refactor NDK connection with timeout handling and connection pooling - Add real-time event subscription for live slug resolution updates - Improve event publishing with parallel writes to multiple relays - Simplify migration logic (v1 support removed, all data now v2.0) https://github.com/aminfathullah/nostree/commit/314eb09c9dbf666dd59227bc6744ea7050e762a4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ flox1an/nostube ] merge: quiet-cinema card treatment across browsing surfaces + mobile shorts titles (#77, #78, #79) https://github.com/flox1an/nostube/commit/d9b97bff0e7c6cc8a7514d88e17cacd9ad8ec4f4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ greenart7c3/Amber ] chore: install ngit repository skill Add repository guidance for supported coding agents. https://github.com/greenart7c3/Amber/commit/d2ba0b8836bfa5f513696fc0960f1e8c27375815 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ OpenSats/website ] Fix funding decisions diagram zoom rendering (#936) fix: avoid optimized funding diagram variant https://github.com/OpenSats/website/commit/a4e25de0b35e87ad718d047b00138582c728a25f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Marc26z/FunWithFreedomTech ] fake budget https://github.com/Marc26z/FunWithFreedomTech/commit/57a38f6b10e25aaaa4260b3f0ae2806a0320c781 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ naturallaw777/Sovran_SystemsOS ] hub: don't claim the OS "keeps itself current" on the dashboard The welcome dashboard's updates card showed "Sovran_SystemsOS keeps itself current" whenever no updates were pending. Nothing in the OS auto-updates: the Hub only *checks* for updates (on load and every 30 minutes while the Hub is open); applying an update is a manual "Update System" action followed by a reboot. The sub-line promised behavior that does not exist. Tie "up to date" to the last check instead ("Last check found no https://github.com/naturallaw777/Sovran_SystemsOS/commit/e3f8a2579a533cbdde2a3949690eb742b0f340ba npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ AstrolexisAI/pyblock-blake2b ] Release build 30 (0.2.3): hardening for the store candidate Fee safety caps: an absolute 1,000,000-sat ceiling on any tx, 5% of inputs on a MAX sweep, and 50,000 sats on a BIP-47 notification. The fee-rate field is free text; a fat-fingered "1000" on a sweep had nothing downstream to stop it. The custom fee rate is also clamped to 500 sat/vB. The notification tx now honours coin control: its designated input is picked from the user's selection, never from a coin they kept out of the send. Notification-tx parser: varint lengths are bounded to the tx's own size before any arithmetic. The https://github.com/AstrolexisAI/pyblock-blake2b/commit/0a60bf34e7ca909c3945cf77190810ef74a069de