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
nprofile1qqs8l6lz5kd2sfhc7cehksgpjw024jp06nnv5heu0w838jsr45n090cpp4mhxue69uhkummn9ekx7mqggf9a5
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 [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/eac008395bd611ca0b5a7ad78b46d5f5bf115ca9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sputnik-nostr/sputnik ] main: simplify startup logic https://github.com/sputnik-nostr/sputnik/commit/c35bdaa74e853a83c627bc1a7643277fca20647d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ steve02081504/fount ] fixes https://github.com/steve02081504/fount/commit/83c12aae5f71af75904aaa7ffba355d070fa8b9a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] Record Desktop 1306 and Android 2031 recovery evidence https://github.com/loblawbob873-svg/posterchanai/commit/a027300e4300f7f76c4991cf319542b067fc5294 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ estebanrfp/gdb ] release: sync public bundle from GenosDB@e1129da https://github.com/estebanrfp/gdb/commit/f86fb27e1444ccd14065f417f4a8d80c1492d0ec npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Bittermun/TheFoundationProtocol ] feat(protocol): deliver multi-phase architecture, phased audit framework & phase 1 foundations - Add publication-grade master architecture specifications in docs/architecture/ (Master Plan, Phase 1 PQC, Phase 2 Transport, Phase 3 Microservices, Phase 4 SDK/Runtime) - Add phased audit framework, quality gates, and release scorecard in docs/audit/ - Implement Phase 1 core foundations: authenticated deterministic repair seed schedules (anti-pollution), BIP-39 128/256-bit root-of-trust, and tiered PQC manifest agility - Add invariant and adversarial test suites with 1,231 passing tests (0 failures) - Pass all ruff linting and git hygiene checks https://github.com/Bittermun/TheFoundationProtocol/commit/f4d644b95e9963064359d490a3d57b1a1fc47a6e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ SnowCait/zap-debugger ] Merge pull request #10 from SnowCait/codex/svelte-5 Extract Zap Debugger state & orchestration into a Svelte .svelte.ts module https://github.com/SnowCait/zap-debugger/commit/74d60d7099be0d282cb6cb44447be915e07c9399 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ jooray/nsite-clay ] The demo becomes an app, and four bugs it found in the shared layer The demo was prose, a picture and a feed. It is a board now: cards that duplicate, reorder, cross columns and delete with a confirmation, a checklist whose ticks are written into the file, four themes and a density held in the JSON state block, and the CMS panel over the top of it. The key is printed on the page and the page says why. Building it in anger turned up four things in the shared layer, all fixed here: https://github.com/jooray/nsite-clay/commit/ddc4d1b18ab9830eb2cfa5fc268a0f3234432a29 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ MostroP2P/bestiario-fe ] Merge pull request #30 from MostroP2P/claude/remove-p50-p90-columns-2n5e7e refactor(volume): drop the p50 and p90 columns from the currency table https://github.com/MostroP2P/bestiario-fe/commit/881f188057319d91170e913d2a2c69c8de4f56bd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ immrdude/clawstr ] Update README.md https://github.com/immrdude/clawstr/commit/112a35f1389b173d278d9c9ef8e290d1f55269b6 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ MostroP2P/bestiario ] Merge pull request #79 from MostroP2P/fix/disputes-open-means-initiated fix(disputes): open means waiting for a solver, not non-terminal https://github.com/MostroP2P/bestiario/commit/caf5bf732167b292ab407b00b8abcc5777435d1d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Spl0itable/NYM ] v3.75.543 https://github.com/Spl0itable/NYM/commit/dd9711fcb5479f242aadd5e475f86f3005929bf2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nogringo/sync-engine-shim-for-ndk ] feat: revisit held requests on their own, and let closed windows finish ensure meant keep this available, but only filled what was missing when it was called: staying up to date was left to an app writing a timer of its own. A held request now revisits its windows every maxStaleness, floored by minRevisitPeriod: under it a poll is a subscription written the wrong way round, and the engine cannot subscribe yet. A window whose until is past no longer goes stale once covered to its end, and a request whose windows have all closed stops going back to the relays, https://github.com/nogringo/sync-engine-shim-for-ndk/commit/5a8821b1a0edff6776ee7d131503af4515486ef2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/shelter-kit ] docs: joint core contract 0.2 (storage + transport halves) (#5) * docs: joint core contract 0.2 (storage + transport halves) The agreed 0.2 joint Wildbloom / Bothy contract on top of CORE-CONTRACT.md 0.1.1: the storage half (retention, claims, tombstones, authorised reconcile listing, admission filter, verified-source freshness) and the transport half (FSL-CARD-1 identity, the narrow session interface, the relay-knowledge boundary, the fsl scheme, FetchPath-as-evidence, Tor and non-Tor both, and the NAT/Android gates before the lane ships). One owner item (the envelope review) https://github.com/forgesworn/shelter-kit/commit/52caf73de2c4bd24b592be17547d834c5e76f1f7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ 21gifts/api ] 01a04a23 - Publish forum posts as public Nostr notes with in-app pay (#48) * 01a04a23 - Publish forum posts as public Nostr notes with in-app pay Each member-forum message is signed as a top-level kind:1, listed with sats and payable, and can be paid via POST /messages/:id/invoice (NIP-57). * 01a04a23 - Run pull request CI on drafts The check job skipped draft PRs, so fork drafts never ran the suite. https://github.com/21gifts/api/commit/70254b353afc7d331d9920725782436f50bfa586 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/shelter-kit ] fix: accept standard base64 in BUD-11 authorization (#6) BUD-01 specifies standard base64, but the decoder accepted only url-safe-no-pad and rejected any padding, so a spec-compliant client (and stash-rs, which emits standard base64) failed authorisation against any shelter-kit shell, Wildbloom or Bothy. Decode leniently across both alphabets, padded or unpadded; the alphabets differ at two characters, so there is no ambiguity. Adds a standard-base64 verification test. Co-authored-by: TheCryptoDonkey <[email protected] > https://github.com/forgesworn/shelter-kit/commit/c286544148e9f9262848d4e7a9e86de6298ebeb3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] webxdc realtime: send to every open relay, not one A mini app's subscription is placed on the WHOLE relay pool; the send picked a SINGLE socket — the caller's, else the primary, else any open one. So a packet was heard only if the sender's one relay happened to be in the receiver's pool. Two players whose lists merely start with different hosts — one on the instance's relay, one who enabled their own — each broadcast into relays the other never reads. Kind 20932 is EPHEMERAL, so no relay stores it and none forwards it on: there is no second chance and nothing to find afterwards. Both screens look completely healthy and the lobby never forms, which reads as "multiplayer doesn't work" rather than as a transport that only half-connected. https://github.com/loblawbob873-svg/posterchanai/commit/86e23cd8583df137ca8ea594255bc04409e82a42 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ higedamc/meiso ] Merge pull request #156 from higedamc/merge/release-1.4.0-into-main merge: bring released 1.4.0 line (shared-v1) into main https://github.com/higedamc/meiso/commit/c5de5296d944e23b903edb0b6b290c9f9670f3d7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zig-nostr/plaza ] Give nak a stdin it can finish reading (#319) `nak req` takes a filter on stdin when stdin is not a terminal. With no redirect it blocks forever waiting for one, so `bounded 45` killed it and the journey reported: could not read the account's contact list from wss://nos.lol which reads as a relay or an app problem. It is neither. The same command with `</dev/null` returns its events and exits 0 immediately. https://github.com/zig-nostr/plaza/commit/db87fb73e038aa0bf74d2544c925ff16d90fcd29 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ PrimalHQ/primal-ios-app ] Merge pull request #217 from PrimalHQ/qa-accessibility-identifiers Add accessibilityIdentifiers to the elements QA automation addresses https://github.com/PrimalHQ/primal-ios-app/commit/7219be9d0cf268a0bbecbe1c442f1ddb51ae9b93 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Lokuyow/ehagaki ] Merge pull request #219 from Lokuyow/feature/host-owned-lite-keyboard-options Add Host-owned Lite keyboard options https://github.com/Lokuyow/ehagaki/commit/67e7219751f052acf3c520ae58ed6fe7c30f5433 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ qntx/relays ] ci: pin qntx/workflows @v2 (#33) https://github.com/qntx/relays/commit/3813a9509deb61f970466d3650ff9e2efa410389 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] Merge pull request #407 from LNVPS/feat/vpn-e2e test(vpn): LNVPS and lvd together, carrying real packets https://github.com/LNVPS/api/commit/45f56691b0836c5ac0ae19dfe59ccf9dcc7688c9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #4004 from davotoula/fix/logging-hygiene perf(logging): defer message construction to the lambda overload https://github.com/vitorpamplona/amethyst/commit/e5e6076039ac26d1a30370533e553f4dfef16cc1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ purrgrammer/grimoire ] feat(ai): the browser's own agent can call grimoire's tools WebMCP (`document.modelContext`) lets a page declare its tools so the browser's agent calls them instead of driving the UI by pixels. Same registry Hex already reads: a tool is defined once, and `surfaces` says which of the two loops gets it — grimoire's own via IPA, the browser's via `services/webmcp.ts`. Six tools are registered; `nostr.draft` is not. Its answer is a card with a signing button, and outside Hex's transcript there is nothing for the https://github.com/purrgrammer/grimoire/commit/cedab6debbd013cdc73e21ab9b30b2079e3013dc npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Lokuyow/ehagaki ] Merge pull request #215 from Lokuyow/feature/embed-host-relay-config Add host-provided relay config to Full embeds https://github.com/Lokuyow/ehagaki/commit/6472da135438d667499e23aeddf90515d5dc2657 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] Preserve Concord composer focus across repaint bursts https://github.com/loblawbob873-svg/posterchanai/commit/e5357f6f596c848a518f5eadea87253289068ecc npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ andrewtheguy/ptransfer ] docs: correct transfer and Tor documentation https://github.com/andrewtheguy/ptransfer/commit/b05281e498474f26fa59c4f9a61739bbfca5103b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ andrewtheguy/ptransfer-cli ] docs: correct CLI and transport documentation https://github.com/andrewtheguy/ptransfer-cli/commit/2e15a09098680f043abc944ce4376a08d8b1f49a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zig-nostr/nostr ] Release 0.12.1 (#93) One addition: a keyholder can say it is locked. A patch bump, because it adds a constant and a rule and changes nothing that existed. https://github.com/zig-nostr/nostr/commit/bb00f22c2686b00caffdd6c87fd8f404bd1e2829 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ haruki7049/nostr-unko-posting-bot ] Empty commit to run CI https://github.com/haruki7049/nostr-unko-posting-bot/commit/612bdbef976c904089e13273226231bcd26c5052 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/294cabc4a5f6998ad8352295f1aeac8525d9f59e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ DreamLab-AI/nostr-rust-forum ] dream-cycle: commit ledger audit trail Persist the accumulated nightly dream-cycle verdicts/findings recorded in the ledger (the engine appends but the operator commits — "the machine never merges"). Co-Authored-By: jjohare <[email protected] > https://github.com/DreamLab-AI/nostr-rust-forum/commit/23be5877e1a5864e13414c3bec6c2e1ba30084e1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ arkin0x/ONOSENDAI ] Tint the oceans and the continents (#41) * Tint the oceans and the continents Earth was an outline: a wireframe globe with shorelines drawn on nothing. Two palette entries fill it in, both deliberately faint, because the point is a tint on the reference lines rather than a second thing competing with them. OCEAN is EARTH's own hue at a third of its lightness, so the graticule and https://github.com/arkin0x/ONOSENDAI/commit/17a8fed048fb6f83e4098e7a6ce4aa12dcf38942 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ HolgerHatGarKeineNode/einundzwanzig-group ] Merge branch 'feat/forge-zuweisen-an-andere' https://github.com/HolgerHatGarKeineNode/einundzwanzig-group/commit/5151a68ac95b5ac8173058fd0e9f738b7dff0436 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ arkin0x/ONOSENDAI ] Keep the scale keys reachable while viewing (#42) * Keep the scale controls when the movement pad stands down The pad hides off your own head, which is right for the six directions: spectating, viewing a block and viewing Earth all anchor the scene somewhere that is not you, and there is nothing there to drive. Scale is not movement. It decides how much of the line the stop field draws, whether the globe or the curvature patch owns the frame, and which https://github.com/arkin0x/ONOSENDAI/commit/099f651fadbc4275dfa4219608d5426f774a7a7b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] Keep social media attachments in Posts https://github.com/loblawbob873-svg/posterchanai/commit/860b889b194e739177c501829e981c353b9acd4d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ getappweaver/core ] chore: start v12 release https://github.com/getappweaver/core/commit/304f075ab25729261b7ae119d55aca033207af71 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/wildbloom ] docs: publish canonical ForgeSworn origin (#12) Co-authored-by: TheCryptoDonkey <[email protected] > https://github.com/forgesworn/wildbloom/commit/6469320b855499162f334cc798bbbaec67a33148 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ getappweaver/nr ] feat: Using new PluginContext PluginAgentService https://github.com/getappweaver/nr/commit/c7da52f8670d1b042a9ce84016c9a6b20ca27f9c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Spl0itable/NYM ] v3.75.543 https://github.com/Spl0itable/NYM/commit/18737f441adcb147255eb10668b1f5bb19076068 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ steve02081504/fount ] format https://github.com/steve02081504/fount/commit/6c7cc0f455060e2fc6f438af802e709c065d2746 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/wildbloom-node ] feat: make Wildbloom Node production-ready (#5) Co-authored-by: TheCryptoDonkey <[email protected] > https://github.com/forgesworn/wildbloom-node/commit/85c1c824a2216ce6ff30f80792bbb444243c6dac npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ blckbx/armada-bot ] Merge pull request #8 from blckbx/ci/versioned-artifact-name ci: publish versioned 0.1.1 release artifact https://github.com/blckbx/armada-bot/commit/466912cda404b337926543f2523cf7a67ee63ebb npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ styx-secure/styx ] Licensing: approve exact C0.3 corpus paths (#258) Closes #253\n\nRecords the exact twelve-path Apache-2.0 inventory, closes only C0.3_CORPUS_PATH_APPROVAL, keeps C0.3 NO_GO, and tracks prospective O-10 evidence-gate maintenance in #259. https://github.com/styx-secure/styx/commit/25be9abc0d8c1bce8821a750616e13d245abc356 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ steve02081504/fount ] file update~ https://github.com/steve02081504/fount/commit/e1a65284690cd811dd8ae0ffef33b2078bf34473 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ ompomz/flowgazer ] `fix: prevent invalid WebSocket connection when relay URL is empty` https://github.com/ompomz/flowgazer/commit/d03e9c5fbe25ee57db5cf301e9ed321354b7d82a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Spl0itable/NYM ] Reapply "v3.75.543" This reverts commit 61db36eed0a8b512acd9b2412bad4351d6273747. https://github.com/Spl0itable/NYM/commit/57ce59c6f7abf1bc66a5cbaf2f305bdd475181e4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ relaystr/ndk ] chore: increment ndk doc v https://github.com/relaystr/ndk/commit/a6f14a4def2435fed21596df1a6e3c3ecf441798 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ braedonsaunders/parlour ] fix(solitaire): every solver-backed hint is now actually wired up Spider's hints went back and forth without advancing the game, because the greedy hinter ranks each legal move on local merit alone — completes a run, turns a hidden card, keeps a suit together — and has no notion of progress. Shifting a card across and shifting it back both score twenty, so it will recommend them forever. The solver already returns a proven winning line and nothing asked it. Spider gets the planner Klondike has had for a while: the hint is the next move on that https://github.com/braedonsaunders/parlour/commit/70afb6b48f8a9313a49894d89cfdf9489b1a5f40 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ lonniev/excalibur-mcp ] fix(fe): match og:description to the page description (#527) The og: and twitter: descriptions were a shortened rewrite that dropped detail the existing meta description already carried. Align all three so the social card says exactly what the page says. Co-authored-by: Claude Opus 5 (1M context) <[email protected] > https://github.com/lonniev/excalibur-mcp/commit/8dafa3f551719abb7f883780e011818790e25afe npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ braedonsaunders/parlour ] fix(table): a refused move is a stale tap, not a lost table Reported from a real game — hosting on a Mac with a phone as the second player and two bots, tapping "Last card!": The table lost the thread. move callLastCard is not legal right now The engine was right to refuse it. Arming last-card protection is offered only while a playable card would leave exactly one behind, and between the render and https://github.com/braedonsaunders/parlour/commit/ab48b2bf9359a87c5995074b40286890462e92fd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/48ccbbbbf0081b85c20f97123b1bd3eb92aaa874 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Spl0itable/NYM ] v3.75.543 https://github.com/Spl0itable/NYM/commit/f2779f6e165f5919214878fcd87038d5e40e60fe npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sputnik-nostr/sputnik ] lib: full support for standardized uris https://github.com/sputnik-nostr/sputnik/commit/8699151ae5b0b39fbcf2d1f95a9bf7c3e0d06f2d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sybenx/bothy ] Say what estimateRowsWritten24h excludes It sums `row_cost`, which insertEventRow stamps and nothing else does, so no deletion this relay performs appears in the number -- not the delete half of a replaceable replacement, not NIP-09, not NIP-62 vanish, not NIP-86 banevent, and not the tombstone any of them writes. All of those are real writes against the same ceiling the figure exists to describe. That is correct for the guard and wrong for the display, and the comment now says so rather than leaving the next reader to find out: https://github.com/sybenx/bothy/commit/31ae4d1d77510c2e1b73e79e24f98908b9ffeb95 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bitoslabs/bitos-nostr ] Merge pull request #71 from bitoslabs/develop Develop https://github.com/bitoslabs/bitos-nostr/commit/cb31ad3dc501aaf1fef8db49fc361eb6c47b6821 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] Align release gates with merged Messages behavior https://github.com/loblawbob873-svg/posterchanai/commit/6b1dc7fa6a61c4607ae352563b1b732543d53aca npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Brostr/bro ] Revert "fix(coordinators): gravar coordinator na ordem ao criar (resolveForNewOrder)" This reverts commit dcbc6d582d0d9e1bde5453b99e1de2f800ca1274. https://github.com/Brostr/bro/commit/383c14754fa5e4ebd4c692b0d859c0d580bc9bcb npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ xjmzx/nping ] make version: bump all five version locations at once The version lives in five places and nothing in a build complains when they disagree: two in package-lock.json, one each in package.json, Cargo.toml and tauri.conf.json, plus Cargo.lock's entry for this crate. Six repos in this suite had drifted, one four releases back, because npm's lockfile does not self-heal — nothing rewrites it until someone runs npm install, and nobody does that as part of cutting a release. A checker finds that after the fact. This makes it hard to cause: one https://github.com/xjmzx/nping/commit/3f53d50c9535b60efe02087f0d464a0abc491c24 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nogringo/nostr-mail-client ] Merge pull request #59 from nogringo/screenshots Screenshots https://github.com/nogringo/nostr-mail-client/commit/7f46a376127dfb53b09f024d15c1e8f31df185bd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ flox1an/almond ] ci: deploy to Coolify via Tailnet instead of retired CapRover Replaces the caprover/deploy-from-github step with the tailscale/github-action pattern already verified for nostube-search: join the tailnet as tag:ci, check the network boundary, then POST /api/v1/deploy for almond, almond-test, and almond-fips against the Coolify master over its Tailscale MagicDNS name. Requires repo secrets TS_AUTHKEY and COOLIFY_DEPLOY_TOKEN (deploy scope only) plus the COOLIFY_TAILNET_HOST repo variable, all already configured. https://github.com/flox1an/almond/commit/937c5cdfd0ff839d96d177944f448589a18e1424 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/5af5e2b24bbe067614df59fc0fe89bdeb11c0174 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] Recognize fast Android Home double presses https://github.com/loblawbob873-svg/posterchanai/commit/f41af840dc2b54ea835360f338f73084069b1990 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] feat(admin): renewal and churn report Adds `GET /api/admin/v1/reports/renewals`: per month, how many subscriptions are due to renew and how many actually renewed, split by whether the renewal was charged automatically or paid by the customer. The split needed a new column. An NWC auto-renewal settles a Lightning invoice indistinguishably from a customer scanning one, so the payment row never carried the answer and it cannot be recovered afterwards; `subscription_payment.renewal_source` now records it at creation time. https://github.com/LNVPS/api/commit/290e2178c32854f423eaba6c915b77e4a7dd6788 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ barrydeen/haven ] feat(admin): relay management console, notes browser and dashboard (#135) ## Summary Adds the NIP-86 relay management API and the `/admin` console that drives it, then two new views on top: a read-only **notes browser** and an analytics **dashboard**. Also re-lands the kind 10084 ban list, and fixes an upstream `eventstore` bug that hangs the relay's `stats` call on the default database engine. https://github.com/barrydeen/haven/commit/60b58ea762d40e345bfeb380c6678b50c977f381 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sputnik-nostr/sputnik ] profile: add more info fields https://github.com/sputnik-nostr/sputnik/commit/ca71cdcaa7183cc447dc3c8ea82a6a95e5cdab79 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ braedonsaunders/parlour ] feat(multiplayer): let an e2e supply signalling, and fix a selector that never matched The multi-context browser suite runs each seat in its own page, so no shared JS object can serve them — the bus lives in the Node process and each page reaches it through a global. Without that seam the suite has to talk to the public Nostr relays it exists to be independent of, which is why it spent a day failing on relay availability rather than on Parlour. The seam is a production code path and the comment says so rather than hiding it. It grants nothing new: script running in the page can already read every https://github.com/braedonsaunders/parlour/commit/6ef17137aaf6bcbe5bc959360c4952d5528b9eb1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ WalletScrutiny/WalletScrutinyCom ] Merge branch '961-build-server-purge-job-doesn-t-work' into 'master' Resolve "Build Server purge job doesn't work" Closes #961 See merge request walletscrutiny/walletScrutinyCom!1622 https://github.com/WalletScrutiny/WalletScrutinyCom/commit/d91eb909a0ab423fbf729bba50fa079e8378417c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #3991 from vitorpamplona/claude/slow-image-loading-feed-9b5leo Move Blossom read-auth signing off OkHttp threads https://github.com/vitorpamplona/amethyst/commit/d06b83bd53c510e589d5ce13d46f6bd1a8206394 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ purrgrammer/grimoire ] fix(concord): a membership whose snapshot omits its id still counts Every Concord community vanished from the chat window. The vault in Dexie was intact and syncing — `loadStoredCommunities` returned nothing from it, because `rehydrateCommunity` was failing closed on all seven rows. A kind-33302 fragment written by another client (d="0", 2026-08-25) carries entries whose `current` has no `community_id` and no `seed` at all: the id lives on the entry, which is what §8 keys and merges by, so repeating it inside the snapshot is redundant. Fragments outrank the retired 13302 at equal epoch, so https://github.com/purrgrammer/grimoire/commit/bc8c6351edd6bca2513c39b9dd87aea4f5279616 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ akiomik/nostui ] Merge pull request #504 from akiomik/dependabot/cargo/nostr-sdk-0.45.2 build(deps): bump nostr-sdk from 0.45.1 to 0.45.2 https://github.com/akiomik/nostui/commit/dea5dab6361423d4d0ba91ec6fc8deb9695f889c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ akiomik/nosvelte ] Merge pull request #103 from akiomik/dependabot/npm_and_yarn/testing-library/jest-dom-7.0.1 build(deps-dev): bump @testing-library/jest-dom from 7.0.0 to 7.0.1 https://github.com/akiomik/nosvelte/commit/6138a8f533e60c8b6fcb04cf740288669d62bc97 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] feat(admin): depreciate capital costs in the profit/loss report Resource costs gain an optional `depreciation_months` useful life. A one-time (capital) cost carrying one is capitalised and expensed straight-line over that many months from `billing_start` instead of being booked in full against the period it was paid for. The profit/loss report is now accrual-based as a result: `cost_total` is `cost_recurring + cost_depreciation` and no longer includes the cash outlay, so `profit` reflects the business rather than the lumpiness of https://github.com/LNVPS/api/commit/abc9fe58c918cdb36ca20cd8278e3270b735f419 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ chebizarro/nostrc ] fix(signet): provisioner policy seed-once under SQLCipher (fp-cfg.3) https://github.com/chebizarro/nostrc/commit/09bbf96f7e758f922c8ffdb1311cb150342031e8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ jurraca/nostr_ex ] silence type violation by using apply in integration test https://github.com/jurraca/nostr_ex/commit/84ff4cc042961c0c8c671d0b47255872fddd4f9e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ styx-secure/styx ] Protocol: decide O-07 genesis and checkpoint evidence (#249) Closes #248 Implements the bounded O-07 genesis and checkpoint evidence contract at exact reviewed HEAD bc955d1e75c3f6e8faf4c610002cdc50e7f93418. Independent Opus 5 and Muse Spark 1.2 Contributor reviews report no unresolved BLOCKER, HIGH or MEDIUM finding, and manexada approved the exact HEAD. C0.3 remains NO_GO with O-08, O-10 and the declared independent gates still open. https://github.com/styx-secure/styx/commit/ba0525da1dd78c76c5cc60bc2041e2d3bed44bb3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/b248585c6647b4829eaa1643bf2de3dd9ab9de39 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ WalletScrutiny/WalletScrutinyCom ] Update nostr-opinion widgets to latest version with less deps https://github.com/WalletScrutiny/WalletScrutinyCom/commit/790419a5236afa9945a2e72a27601b456691a755 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sktr/eGavel ] fix(server,web): mirror direct-pay claim into pending_receives (review C-1) Pre-experiment review found the last silent-loss window: after the mint swap, seller_proofs existed ONLY in the HTTP response — a lost response or a storeProofsInWallet failure stranded the proceeds with no artifact (markClaimed already set). Direct-pay claims now mirror the payout into pending_receives server-side and return pending_rid; the client acks the mirror row only after its wallet stored the proofs. A lost response or a failed store is recovered by Fund Collection / auto-poll. https://github.com/sktr/eGavel/commit/70e5aca8b6ba39cd5e0480a45c7ffb01ef2189c7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zeSchlausKwab/earthly ] Merge pull request #24 from zeSchlausKwab/codex/chat-entity-workflow feat: make chat and entity editing explicit https://github.com/zeSchlausKwab/earthly/commit/574b47bdd480ff5c7474425a2c9582744d18814d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ xjmzx/nplay ] fix: tauri.conf.json version was a release behind package.json and Cargo.toml were bumped for the last release; this file was not, and it is the one the running app reports its version from. So the installed build has been showing the previous beta in the header version chip the suite top-bar grammar just added — the chip was working correctly and reporting a stale number. Found by gtrack, which checks all three files agree rather than reading whichever one is convenient. Two sibling apps had drifted the same way in https://github.com/xjmzx/nplay/commit/73834cf6155701e8257cd3513690eed3a74d90e4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ anasfik/nostr ] docs: professional README rework, v11 changelog - Capability overview, quick start, task-based recipes for every feature area (DMs, zaps, media, keys, AUTH) - Architecture map and typed error-handling model - Full NIP support matrix - Three-tier testing documentation https://github.com/anasfik/nostr/commit/d7439bff798f1641819ad79a639ad7befe5ca925 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Routstr/landingpage ] Merge pull request #26 from Routstr/zazafication Landing page design pass: hero-style geometry, section spacing, portal cleanup https://github.com/Routstr/landingpage/commit/959f9ea981c5cfccebe8430364984decd9c6bd1b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] Harden grounded URL answers and record installed verification https://github.com/loblawbob873-svg/posterchanai/commit/92c234fae8d9c65d0c72a69617ccf00546dba36d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ MatheusBBarni/margin-nostr ] fix: show Open njump focus ring via HeroUI Link https://github.com/MatheusBBarni/margin-nostr/commit/9607a6e36eeb15afb77f905f07acd9931d97e235 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ backsideliposomaldeliveryvector361/bitflash ] Update README.md https://github.com/backsideliposomaldeliveryvector361/bitflash/commit/f2db024c604377bf736dd74d747bd4e4b9cec0a7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ sybenx/bothy ] Bump version to 0.4.0 Co-Authored-By: Claude Opus 5 <[email protected] > https://github.com/sybenx/bothy/commit/a89c2e81f923b73e443959f6ada4500f1301e60c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ wolfboypittsfield828/project-nomad ] Add model download to FAQ.md https://github.com/wolfboypittsfield828/project-nomad/commit/60a287ffd20979cc896fb0fd740794499d614423 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vgiappnee-web/nostr-wot ] Update README.md https://github.com/vgiappnee-web/nostr-wot/commit/34fefebfd5d5083fe036deaa7d45301b2a824006 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ braedonsaunders/parlour ] chore(desktop): bump the app to 0.3.3 for a new unsigned release Ship the table, rematch, PWA, and audio fixes that landed on main after v0.3.2. Co-authored-by: Cursor <[email protected] > https://github.com/braedonsaunders/parlour/commit/23bd0b03bc4c18887a6ad5519de0f25e05fb1f6f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bryanmatthewsimonson/xray ] Merge pull request #362 from bryanmatthewsimonson/docs/358-walk-complete docs(smoke): PR #358 walk complete — both halves PASS https://github.com/bryanmatthewsimonson/xray/commit/9c1ddc123a7be032d6b85ead5d323dab3c505abf npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Spl0itable/NYM ] v3.75.543 https://github.com/Spl0itable/NYM/commit/59dc2094204365555e342eac49f590c758ba8fb9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #3985 from vitorpamplona/claude/pollresponsescache-deprecations-xaw9y2 Replace mutable collection methods with immutable equivalents https://github.com/vitorpamplona/amethyst/commit/bdb2990846215a6bb63f94c3d046cb8fbaf48ff5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ MatheusBBarni/margin-nostr ] feat: show named relay up/failed status in the room footer https://github.com/MatheusBBarni/margin-nostr/commit/00a04fb7a29c41c0a74203ec4276290a35b96730 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #3984 from vitorpamplona/claude/ime-padding-back-gesture-8xeyjn Fix stranded IME inset that freezes keyboard padding https://github.com/vitorpamplona/amethyst/commit/de9a41ddb937dc331dcf63a21d54ba93c26ff49d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ rwscarb/weed-cli ] . https://github.com/rwscarb/weed-cli/commit/f86e0b955770d3466c2d5bf31a4c7e360d204cee npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ snow-actions/nostr ] Merge pull request #272 from snow-actions/release/v2.0.0 v2.0.0 https://github.com/snow-actions/nostr/commit/b19cca880d568f17d602894c3e9de020e2bacde4 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dergigi/boris-android ] fix: show NSFW as compact NSFW / NSFW? pills https://github.com/dergigi/boris-android/commit/a49d4978bd262ce5b31573fd1d6a8c42eed9336f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ MatheusBBarni/margin-nostr ] fix: show focus ring on comment Open njump link https://github.com/MatheusBBarni/margin-nostr/commit/b591a6eaa4af3bb14cc2023370994701744ec52f