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 [ v0l/nostrsearch ] Animate the scan bar on the compositor, not the paint path The loader was 48 elements each animating background colour and scaleY. Colour is a paint property: every frame repainted and re-uploaded all 48, forever, on a page whose entire job is to say "please wait". It burned about half a GPU. Transform and opacity are the only properties a browser animates without repainting, so now one element moves and it moves by transform alone: a gradient band translating across the strip. The ticks it travels over are a repeating gradient painted once, which also removes the 48 DOM nodes and the https://github.com/v0l/nostrsearch/commit/5b0dcfff0ccc1c1d2c717fe5f6017cd0e80977d2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ riccardobl/nostrduino ] Fix CI runner tool assumptions https://github.com/riccardobl/nostrduino/commit/886ad85e13f922b4dbcb9522419a427bf064ff0b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ CodyTseng/jumble ] fix(download): remove deb auto-update warning https://github.com/CodyTseng/jumble/commit/1f5a3bd18d2280f507a8152211950e66bd9c2cbd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ plotsklapps/GYMPLY ] refactor: replace font_awesome_flutter with Material Icons and updated IconUtils - Remove `font_awesome_flutter` package dependency from `pubspec.yaml` - Refactor `IconUtils` into a `StatelessWidget` wrapping standard Flutter Material `Icon` with default size and optional color - Update search modal components, choice chips, and exercise search results to use `IconUtils` and Material `Icons` - Refined UI components, including `FittedBox` scaling for body metrics, updated social share card styling, and exercise grid icon/typography adjustments. - Tweaked `FlexColorScheme` settings, including `inkSparkle` splash type and seeded color styles. - Updated versioning in `pubspec.yaml` and `version.json`. https://github.com/plotsklapps/GYMPLY/commit/ef116caff306f67516c65b9367b12e859386a0f6 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Trustroots/nostroots ] docs: document chmac's GitHub writing style in AGENTS.md https://github.com/Trustroots/nostroots/commit/5464fe384785aa17bc933ad582f2d0c1b98603d5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ privkeyio/keep-esp32 ] Distinguish a pin ahead of a release from one behind it (#156) * Distinguish a pin ahead of a release from one behind it * Report an identical pin as identical https://github.com/privkeyio/keep-esp32/commit/85948e3363c0833e8bbc3a7e436a0f9227e2a4e3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ satoshidude/jointfactory.io ] Show the factory charge against its own capacity Upgrading the courier on diskbuster made the factory card show more, and the account data says the factory was never touched: capacity 100, cost 400, zero upgrades. What changed is what reaches it — deliveries went from 20 to 40, so each run processes twice as much of the same unchanged factory. The card did not make that distinguishable. "Processing 40" reads as a factory statistic, and the ring made it worse by swapping between the batch size when idle and the current charge when running, so the same big number meant two https://github.com/satoshidude/jointfactory.io/commit/676b93cddea5687507d0db1dc25dca9b0351535d npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] deploy: a git-hook change must not restart every unit git_hooks/ was unmapped in deploy_targets, which means "could affect anything" and therefore ALL seven units -- so the previous commit, which edited one log message in post_receive.py, restarted the app, relay, worker, media, tor, proxy and git on BOTH nodes and dropped every connected Nostr client. That is exactly the outage the role split removed, caused by the tooling that exists to prevent it (the same trap sync.sh and the Dockerfiles were already fixed for). Nothing loads git_hooks/: install_hooks writes a shell shim into each bare repo https://github.com/loblawbob873-svg/posterchanai/commit/d61a2407abb3112259df48e07d5f9c4b4c615424 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dtonon/fevela ] Fix first-level replies filter for kind:1 threads and NIP-22 comments https://github.com/dtonon/fevela/commit/8ca0fb84410fa15510d8e323be6aaa1b2597b37b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ berm-protocol/berm ] bags: the campaign — schedule in, root out Batch membership comes from OBSERVATION, not assertion. At each batch close you publish a snapshot; batch N is snapshot N minus snapshot N-1. Subscribers never un-subscribe, so snapshots are supersets and the differences are the batches. Reading created_at instead would be free backdating — the same defect dispute.ts and subscribe.ts already refuse. Now you land in the batch where you were first SEEN, and nothing you sign changes what was already https://github.com/berm-protocol/berm/commit/213ded4432c90c859e53f6b4261cee58f2e8d2cd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zig-nostr/plaza ] Waiting looks like waiting, and failing looks like failing (#113) Two states that both drew the same thing: nothing much. A PICTURE THAT WILL NOT LOAD. The view asked one question, whether the picture was loaded, so every state that is not loaded drew the same striped waiting frame. A 404 waited in it forever. It says so now, in the same box at the same height (the row is priced for it, and a picture failing must not make the feed jump), with the host it came from, because "this one host is not answering" is usually the whole story. Pressing opens the original, which is the one thing https://github.com/zig-nostr/plaza/commit/69ad337569ba68b79fbf78fd9e9e0ea8ee009a13 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ haruki7049/nostr-unko-posting-bot ] Empty commit to run CI https://github.com/haruki7049/nostr-unko-posting-bot/commit/feea9067d354beb34cc517fcaff82b774a3d92dd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/gopherkind ] docs: record live reference revision (#13) Co-authored-by: TheCryptoDonkey <[email protected] > https://github.com/forgesworn/gopherkind/commit/869f08cbb9b15a85ac64d40c0464f6780adf9444 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ satoshidude/zapclub.io ] conductor: change-only queue logging — stop flooding the journal every tick The per-tick queue state line (one per DJ per club every ~2.5 s) made up the bulk of 1.7 GB journald usage and slowed every log search. It now logs only when the fingerprint (tracks/active/created/relay) actually changes. Server-side (not in repo): backup script now excludes the ephemeral trackcache (daily tarball 95 MB → 9.7 MB). Co-Authored-By: Claude Fable 5 <[email protected] > https://github.com/satoshidude/zapclub.io/commit/b3bdb7328e7bacf76813ffbbbfcd0a4640738c84 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ steve02081504/fount ] path CLI: modularize fount.ps1/sh, add smoke CI, unify Hub empty states (#275) Co-authored-by: Taromati2 <[email protected] > https://github.com/steve02081504/fount/commit/b2ac57a7c5a8d7e656a00523980850b127c5ae13 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ plotsklapps/GYMPLY ] Updated dependencies in pubspec.yaml; Fixed dart linter (80 chars max) issues. https://github.com/plotsklapps/GYMPLY/commit/3941d707e6cebb40e64c1d1d108d9416cbb4cdff npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Vic-Nas/hailstone ] Reorder Dockerfile COPY steps to work around a Railway build-cache failure Railway's builder failed with 'failed to compute cache key: failed to calculate checksum of ref ...: /relay/entrypoint.sh: not found' -- the file is genuinely tracked in git and builds correctly locally (both before and after this change), so this looks like a stale/corrupted build-cache layer reference on Railway's side, not an actual missing file. Moved the entrypoint.sh COPY earlier in the runtime stage to change the layer sequence/hash, which should force Railway to build a fresh cache entry instead of reusing whatever broke. https://github.com/Vic-Nas/hailstone/commit/d58d05fab33701839eeea5ada45339d2357f6161 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zig-nostr/plaza ] A note that could not be found is not written off forever (#112) The thread whose parent never loads is not a relay problem. I fetched that parent from the reader's own four relays with `nak` in under a second, while Plaza kept saying "The note this answers is not on your relays yet". The ancestor above a thread is asked for through the same machinery as a quoted note, and that machinery gave up after three tries. Permanently: nothing re-armed it, not a later round, not a reconnect, not reopening the thread. Three tries is nothing, and all three can land in the first seconds while the pool is https://github.com/zig-nostr/plaza/commit/96a6715e95feed7c91c0e3178c7bfd57794d8625 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/gopherkind ] Merge pull request #10 from forgesworn/codex/document-npm-trust-bootstrap Document the npm trusted-publisher handoff https://github.com/forgesworn/gopherkind/commit/482544925af1ce0db0736cbcd8a448aa668b7f8c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ berm-protocol/berm ] bags: the distribution commitment One root anyone can rebuild. Fetch the same subscriptions from relays, run the same snapshot, build the same tree, compare. A mismatch means the published list is not what the relays support — checkable without anyone's cooperation, which is the whole point. Three attacks handled explicitly, because none of them is caught by testing that the happy path works: https://github.com/berm-protocol/berm/commit/050570e3dc958397f08c586d1a2571db88662145 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Trustroots/nostroots ] test(nr-app): add Maestro E2E flows for onboarding (#277) Introduces the first E2E tooling for nr-app. Two Maestro flows cover the deterministic legacy-key onboarding branch: generating a new mnemonic, and importing a fixed test nsec then asserting the derived npub on the link screen. The import flow exercises SecureStore write, keystore read, bech32 derivation, Redux and render in one assertion. Both pass against a Release build (2/2). Adds testIDs to the onboarding screens and a testID passthrough on KeyInput so the flows select on stable ids rather than visible copy. https://github.com/Trustroots/nostroots/commit/b568a5018d6636a4f8fb08732b2ad3b22ee1de83 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Trustroots/nostroots ] fix(nr-app): make dark mode work across the app (#255) The Appearance setting (System/Light/Dark) drives nativewind's colorScheme.set(), but @/hooks/useColorScheme re-exported React Native's hook, which only ever reports the OS scheme. The two layouts that consume it therefore picked light-mode icon and overlay colours while their backgrounds went dark — dark icons on a dark background whenever the in-app setting disagreed with the OS. Wrap nativewind's hook instead, which also lets web honour the setting. https://github.com/Trustroots/nostroots/commit/5176c1284d409429135ccdbb62b68446916a169e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ berm-protocol/berm ] bags: check against the published OpenAPI spec, and withdraw a claim Read docs.bags.fm/api-reference/openapi.json and transcribed it. Four corrections: path /token-launch/fee-share/wallet/v2 -> /agent/v2/fee-share-wallet providers three -> eleven chain (unknown) -> SOL|EVM, one handle two wallets accountId assumed to need X OAuth -> returned as platformData.id https://github.com/berm-protocol/berm/commit/f1315bce8414e31696e9457df2d816bc966558ad npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/gopherkind ] Merge pull request #7 from forgesworn/codex/modern-gopher-hardening feat: harden publishing and bridge operations https://github.com/forgesworn/gopherkind/commit/c547a8ad53b167e44bc1366ecce218d4dc962807 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zig-nostr/plaza ] Menu items that look alike, and verbs with room (#107) Three things reported from driving it. The note menu had a glyph on two of its four items and none on the other two, which reads as two items with something extra rather than as one list. A menu's items are alike; a glyph on some of them is a difference that means nothing. All four are plain now. Choosing an item closes the menu. Copying the address and opening on the web https://github.com/zig-nostr/plaza/commit/8a22b2a129d7dd910b284f4a02e3c1d93b19b106 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostrdevkit/nostr ] nostr: rework `SingleLetterTag` Pull-Request: https://github.com/nostrdevkit/nostr/pull/1416 Signed-off-by: Yuki Kishimoto <[email protected] > https://github.com/nostrdevkit/nostr/commit/e17d7d8e47b1caac8c89a018d3c064760eba4dcf npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ albidev/hermes-payments ] docs: release 0.1.1 as explicit P6 live-test checkpoint https://github.com/albidev/hermes-payments/commit/041a1852f63db73a55d5fcb85e77b2b04b7fc14b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ WoompaLoompa/btcpay-clink ] v1.0.9: server-issued invoice, session-bound ndebit, DNS-resolving relay validation, exact BOLT11 enforcement https://github.com/WoompaLoompa/btcpay-clink/commit/67c2c4a54e43f57d98a7c88cd5c28fe09706db10 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ qntx/awesome-nostr-relays ] Merge pull request #16 from qntx/dependabot/cargo/clap-4.6.4 chore(deps): bump clap from 4.6.1 to 4.6.4 https://github.com/qntx/awesome-nostr-relays/commit/4826462b501342a86d572208edf36bee6228004f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/gopherkind ] Merge pull request #6 from forgesworn/codex/restore-prelaunch-versioning Restore pre-launch versioning https://github.com/forgesworn/gopherkind/commit/89c9efcef525390eddaa28c154a4e235a126e595 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] feat(admin): report a referral's outstanding balance and its millisat value The referral detail endpoint showed only gross earned commission per currency, so deciding whether a referrer was near their payout threshold meant netting the payout list by hand — and the threshold is judged on everything owed valued in millisats, which the response did not carry at all. GET /api/admin/v1/referrals/{id} now returns `balances` (per settled currency: earned, settled — paid and reserved, amount plus fee — the https://github.com/LNVPS/api/commit/ca79acf4362a4d950b99ed369c5d94d95626ebac npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] client: cap the reading column and centre the shell The feed had no maximum width, so every extra pixel of a wide monitor went into making lines longer. MEASURED at --fs-3, a post ran 79 characters per line at 1280, 92 at 1440, 140 at 1920 and 160 at 2560. Comfortable prose is 45-75 characters and the classic optimum is 66, so on any large screen the feed sat at roughly DOUBLE the readable maximum — which is most of why the timeline scanned as an undifferentiated wall instead of as separate posts. Now 61 / 65 / 70 / 76 at those same widths. Capping .app (not the feed alone) keeps the three columns adjacent and spends the surplus as one gutter either side of the whole shell. Capping only the feed also fixes the measure, but it opens https://github.com/loblawbob873-svg/posterchanai/commit/48926d52ed9bc79143ebcbeb4850367ead1d886f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ HORNET-Storage/HORNETS-Relay-Panel ] chore: gitignore runtime logs directory https://github.com/HORNET-Storage/HORNETS-Relay-Panel/commit/8beae0aa44caee8ca5c27fd9c4a20a297290a6fe npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ TsukemonoGit/nos-profile-arekore ] Merge pull request #22 from TsukemonoGit/dependabot/npm_and_yarn/postcss-8.5.25 Bump postcss from 8.5.14 to 8.5.25 https://github.com/TsukemonoGit/nos-profile-arekore/commit/65e3edd400b123e5157b65ffdab8d7c6ba7d3939 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ TsukemonoGit/nos-bookmark-areyatu ] Merge pull request #20 from TsukemonoGit/dependabot/npm_and_yarn/postcss-8.5.25 Bump postcss from 8.5.15 to 8.5.25 https://github.com/TsukemonoGit/nos-bookmark-areyatu/commit/22be6e44a563c89fd7ba3641c44d8eb6a5b9ba63 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ TsukemonoGit/luminostr ] Merge pull request #23 from TsukemonoGit/dependabot/npm_and_yarn/postcss-8.5.25 Bump postcss from 8.5.14 to 8.5.25 https://github.com/TsukemonoGit/luminostr/commit/75f151c1c87d79b7f2a0f2dde6bfa0796f8b0834 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ TsukemonoGit/nake ] Merge pull request #29 from TsukemonoGit/dependabot/npm_and_yarn/postcss-8.5.25 Bump postcss from 8.5.16 to 8.5.25 https://github.com/TsukemonoGit/nake/commit/0d2785d78de73299c36f9c1be5d979e83274ec39 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ derekross/concord-automod ] 📡 Repo moved to nostr: point metadata and README at the ngit remote Cargo.toml repository/homepage now resolve to the gitworkshop view of the nostr announcement instead of GitHub, and the README leads with the nostr:// clone URL. GitHub is archived as of this commit. Co-Authored-By: Claude Opus 5 (1M context) <[email protected] > https://github.com/derekross/concord-automod/commit/ecf6c3044c780612ec1d5e36b109ce3d6dd604c9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] client: finish the emoji-to-icon conversion Every remaining <button> that led with an emoji now leads with a sprite icon — 93 of them across app.js, meme.js and the shell — plus the links styled as .btn and the section headers, which sit on the same surfaces and would otherwise read as half-converted. Emoji were the last dated signal in the client: they render per-platform, can't inherit colour or state, and sit at the wrong weight next to the type. 28 new symbols cover what the transport controls, meme builder and find bar needed (undo/redo, prev/next, scissors, flip, stop, star, heart, chevrons, …). All stroke currentColor on the 24x24 grid, so they inherit every theme https://github.com/loblawbob873-svg/posterchanai/commit/67b3e394f17bd2f03ea578c5ddb891694d902eed npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ vitorpamplona/amethyst ] Merge pull request #3849 from vitorpamplona/l10n_crowdin_translations New Crowdin Translations https://github.com/vitorpamplona/amethyst/commit/fdc68e801a02984c0acf28b780bcd6f5050b06f8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ JordanNewell/claudeway ] chore(og): swap BUZZ PUNTED ON thesis for VERIFIABLE CONSENSUS OG alt text was fixed in 7e9b182 but the rendered PNG still carried the misleading "BUZZ PUNTED ON / the coordination layer" framing as visible pixels — anyone landing on the repo or social-card preview saw the old claim. New title: VERIFIABLE CONSENSUS — names the actual primitive without the unverified Buzz dig. Subtitle: "signed agreement, on the open wire". https://github.com/JordanNewell/claudeway/commit/0eb742d1bb6e39a9e7ded4e2c3321eb3519c15ef npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ obelisk-app/obelisk ] Ignore the local backlog notes and promo source art issues.md and obelisk-promo-contact-sheet.jpg have sat untracked at the repo root since before this session's work. Neither belongs in a public tree: the backlog is raw working notes, and the contact sheet is 214K of source art the app never loads. Follows the existing "never ship" convention already used for /issues-with-pictures-and-description/. https://github.com/obelisk-app/obelisk/commit/e9936101849ef6f2e35592f3754961e4fc14ba6e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ privkeyio/libnostr-c ] Document the ESP stack cost of seeding the DRBG (#70) * Document the ESP stack cost of seeding the DRBG * Measure the seeding threshold instead of asserting it https://github.com/privkeyio/libnostr-c/commit/a41bb26f6c68067161cf6935fd7c8499747b168f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ damus-io/notedeck ] remove stuff Signed-off-by: William Casarin <[email protected] > https://github.com/damus-io/notedeck/commit/4f459004c9d98fe227a686d9911ad2557617674c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ betonetojp/nokakoi ] バックグラウンド復帰後に投稿窓が表示されなくなるバグを修正 CSPのscript-srcにstatic.cloudflareinsights.comを追加 https://github.com/betonetojp/nokakoi/commit/fbfba832669988b85a2c70fd0e2367420e89c48c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ derekross/concord-automod ] 🔒 Privacy hardening: no content at rest, audit retention, state sweep, 0600 files Review findings and fixes, in severity order: 1. Journald was receiving a full decrypted transcript: every incoming message's text was logged at INFO. Now logs metadata only (chat/npub prefixes + length); content available at trace for local debugging. 2. The audit log stored an 80-char plaintext snippet of every flagged message and grew forever. Snippets are now OPT-IN (audit_log_snippets, default false) and entries older than audit_retention_days (default 30, https://github.com/derekross/concord-automod/commit/9f552f2bbad142a3bfcf718335cc9bb30a342895 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dwebxr/aegis ] fix(csp): let the Cloudflare Web Analytics beacon actually run Cloudflare proxies this domain and injects its Web Analytics beacon into every response, but script-src did not allow static.cloudflareinsights.com — so the script failed to load on every page load. Measured on production: one GET, then `requestfailed: csp`. The result was an error in every visitor's console and zero data reaching Cloudflare. The feature was enabled and broken, not in use. Allowing it restores free page views and real-user Core Web Vitals — roughly https://github.com/dwebxr/aegis/commit/916c8875ce015e66b3c5fb6f3adb3e685a97dc01 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ obelisk-app/obelisk ] Round the composer buttons and stop the IME reading the box as sensitive Two composer fixes. The Send button rendered as a vertical oval. `.obelisk-mobile button` sets a global 44px tap-target floor on both axes; `.composer-send` overrode min-width down to 38px but never min-height, so the button was 38px wide and 44px tall. Same hole in .composer-attach/.composer-emoji, which were rendering as lozenges rather than rounded squares — those three rules were the only ones in the sheet setting min-width without https://github.com/obelisk-app/obelisk/commit/3aeb46b49d6bc1544882e29a4ac0946d834d33d6 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ chebizarro/nostrc ] Sync beads interaction log Co-Authored-By: Claude Fable 5 <[email protected] > https://github.com/chebizarro/nostrc/commit/29953e711f1d5978bdc25abecb44b2338894c6a8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ geyserfund/geyser-app ] chore(release): prepare v0.50.2 https://github.com/geyserfund/geyser-app/commit/0022ce98c5d5c8a602446494362f15865a0be414 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bryanmatthewsimonson/xray ] Merge pull request #262 from bryanmatthewsimonson/claude/personas-college docs: derive discipline standards from first principles (DISCIPLINES.md v1.0.0 + guards) https://github.com/bryanmatthewsimonson/xray/commit/55bd7e2996d46fa6f328c2820c2d40b8185c7a0e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ agent-awsome/relay-pulse ] Record shino3's report policy: reply only on 1h+ continuous downtime Co-Authored-By: Claude Fable 5 <[email protected] > https://github.com/agent-awsome/relay-pulse/commit/f4dd214a583f16ed9364b228956890834e632478 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ privkeyio/libnostr-c ] Fail closed when the NIP-17 timestamp cannot be fuzzed (#69) * Fail closed when the NIP-17 timestamp cannot be fuzzed * Release the buffers and wipe the key on the new failure paths https://github.com/privkeyio/libnostr-c/commit/3a61e60a65e774174096207f8a7ae43357ae3131 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bryanmatthewsimonson/xray ] Merge pull request #261 from bryanmatthewsimonson/claude/constitution-ratification docs: ratify the project constitution (v1.0.0 + concord + guards) https://github.com/bryanmatthewsimonson/xray/commit/bf09214648e8a535f799d7936a6e91a0d4f13db9 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ derekross/concord-automod ] ✨ !automod on/off IS the community switch; bot is staff-only and silent to everyone else Per Derek: !enable followed by !automod on was redundant, and regular members have no business talking to a moderation bot at all. - !enable/!disable removed. '!automod on' in any channel arms auto-mod for that ENTIRE community (and arms the engine + dry-run window on first activation anywhere); '!automod off' disarms that community only. The community store is now the per-community automod switch, same file, same fail-closed semantics. https://github.com/derekross/concord-automod/commit/1b299d57c1fe8f07ede049cb3638c35190ffe4ef npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ forgesworn/burrow ] feat: full cli client (read, search, post, feed, pair) https://github.com/forgesworn/burrow/commit/b0e2f916a24a35a23dd4f9e9bd63f9f65fbbc727 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ dwebxr/aegis ] fix(demo): take the last server call out of a demo visit Production browser check, 10 sessions: the 5 that stayed on the landing page invoked zero functions, but the 5 that entered the demo each issued one POST /api/fetch/ogimage. The og-image backfill in ContentContext fires for any item with a sourceUrl and no imageUrl, and the snapshot's Hacker News entries carry no image — so "an anonymous visit costs zero server functions" was true for the landing page and false for the demo. Two changes, so it is true both ways round: https://github.com/dwebxr/aegis/commit/ac282ff68c21fdf02ebb0bdf675c618be9e5f8e1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ protolayer-io/choke ] Merge pull request #169 from protolayer-io/feat/announcements-4-ui feat: put the announcements behind a bell that is usually not there https://github.com/protolayer-io/choke/commit/8f435ee878ba6f35b8374d7736fa8144ad90ddda npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bryanmatthewsimonson/xray ] Merge pull request #265 from bryanmatthewsimonson/chore/security-hardening chore(ci): pin the release supply chain, add SECURITY.md + Dependabot https://github.com/bryanmatthewsimonson/xray/commit/a40ced9aff7e90e2341ebfc79f1ef7c33ba841e7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ protolayer-io/choke ] Merge pull request #167 from protolayer-io/feat/announcements-2-fetch feat: fetch announcements, and keep only what still holds https://github.com/protolayer-io/choke/commit/38e539081a1684e018b4017034cd87f12ad202f5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zapcooking/frontend ] Merge pull request #610 from dmnyc/feat/scroll-to-top feat(nav): floating back-to-top button + tap-header/search shortcuts https://github.com/zapcooking/frontend/commit/3cacba5a25643480c759af5cf4ea206ace291767 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ constata-eu/asami ] adds better submission tracking https://github.com/constata-eu/asami/commit/84f3aba83c17e71f74be0dac5272d7a5533cb7f6 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] feat(proxmox): reconfigure VMs during PatchHosts when their config drifts (#353) * feat(proxmox): reconfigure VMs during PatchHosts when their config drifts PatchHosts only re-applied firewall state, so a VM whose config on the hypervisor no longer matched the database (template upgrades, manual edits, changed defaults such as the scsi controller) stayed drifted until someone triggered ConfigureVm by hand. Add VmHostClient::patch_config, a firewall-patch analogue that reads the https://github.com/LNVPS/api/commit/a3332c749db9cabbfe2ed1e0511b295491838ba2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ OpenSats/website ] Remove NVK from the board and update former member bios (#898) * chore: remove nvk from board of directors * chore: update nvk author bio after board departure * chore: update niftynei author bio after board departure https://github.com/OpenSats/website/commit/c17b33c50387f245f6d4f431ad4f91ab0327b439 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ obelisk-app/obelisk ] Render mentions as @DisplayName instead of a raw npub `parseMentions` resolves display names from the channel's member list and nothing else, so mentioning anyone who is not a member of *that* channel fell through to `shortNpub` — the message body shipped `@npub16dew…`. MentionChip now reads the pubkey's kind:0 from the bridge and prefers displayName, then name, then whatever parse-time resolution produced. Subscribing also calls `ensureUserMetadata`, so a pubkey the client has never seen is fetched on render and the chip fills in when the profile https://github.com/obelisk-app/obelisk/commit/42ca3fe05860de94aaf42635ab0d2e1566cadf88 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bryanmatthewsimonson/xray ] Merge pull request #297 from bryanmatthewsimonson/claude/transcribe-engine-ui feat(transcriber): engine choice in the extension — settings keys, per-video picker, per-request providers https://github.com/bryanmatthewsimonson/xray/commit/59f16372e2bd18c7c52bb58a54e7784725120fab npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zig-nostr/plaza ] Every sheet takes the keyboard when it opens (#105) Escape closed none of them, and three comments in this file said it did. The runtime resolves Escape from the FOCUSED widget up to the surface around it, with a fallback that only sees ANCHORED surfaces. A sheet here is neither: it is a dialog grown to the whole window, and nothing inside it asked for the caret. So the walk started nowhere and the fallback saw nothing, and Escape was dead on the composer, the name card, the bunker step, edit profile, notifications, the expanded picture and Settings. https://github.com/zig-nostr/plaza/commit/6ba4c0a6f306a90bf569f592cde6128371537cd2 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] sync.sh: stop silently skipping the main app on every deploy `_restart_units` gated each unit on `systemctl cat "$u"`, which READS THE UNIT FILE as the invoking user. /etc/systemd/system/posterchanai.service is mode 600 (every sibling unit is 644 — the restrictive mode looks accidental; its only Environment= lines are PATH and HOME, identical to the 644 worker unit, so there is nothing in it to protect). `cat` therefore returned "Permission denied", the loop read that as "this unit does not exist", and THE MAIN APP was skipped — quietly — on every deploy that targeted it. Caught it on the previous deploy: targets were worker+app, `[sync] restarting` printed for https://github.com/loblawbob873-svg/posterchanai/commit/66b6fc5996537d3b42104caafd97eeb1deb03324 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ CodyTseng/jumble ] chore(release): v26.8.1 https://github.com/CodyTseng/jumble/commit/24ccb2123ae2f8bf7683bba7e0d6c7538148a52a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ protolayer-io/choke ] Merge pull request #165 from protolayer-io/docs/announcement-channel-spec docs: specify an authenticated announcement channel https://github.com/protolayer-io/choke/commit/1678db8c9a84f081b5d753181bc9cdc51db1c1e5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ api-evangelist/nostr ] Kin Score 0.6 — provenance-graded rescore Adds this provider's Kin Score artifact for rubric 0.6, the provenance release. 0.6 grades on WHO PUBLISHED an artifact, not merely that one exists. Where API Evangelist authored an artifact on this provider's behalf — a modeled OpenAPI, a candidate MCP server, generated agent skills, a derived agentic-access contract — it now earns a quarter of the award rather than all of it. The artifact records that authorship in its provenance block, so the number can be read with the evidence behind it. https://github.com/api-evangelist/nostr/commit/ecb946983b5f4c5b5a4ad921fd91064f3f544549 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Bitflash-sh/bitflash ] net: back to one accept thread until every relay takes more than one (#114) #113 added three accept threads and called the extras harmless against an un-upgraded relay. They are not: an old relay closes the previous registration whenever the same node registers again, so the threads evict each other in a loop. Measured on the live network -- the node whose registrations landed on the un-upgraded New Jersey relay made 189 registrations in fifteen minutes with zero pairings, unreachable through it and hammering it, while the node on the upgraded relay made 9 with 7 pairings. One relay of three is upgraded, so this would hit two thirds of every node's registrations. The relay half of #113 stays; it is compatible in both directions and is the prerequisite for raising this again, which the comment now states. https://github.com/Bitflash-sh/bitflash/commit/daf2a5710381b0db727ad8e75eadae9cf8557caf npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zapcooking/frontend ] Merge pull request #611 from zapcooking/fix/bluesky-crawler-ua fix(og): drop dead logo_with_text.png card tags on 4 routes; match Bluesky Cardyb https://github.com/zapcooking/frontend/commit/3ff365ce07e6c95163cebcf29876300ef2df5768 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ JSKitty/price-bot ] Move to Vector SDK 0.6 A clean upgrade: no source changes needed, tests green, and a live command round-tripped through the XMR bot after deploy. Worth noting for the next bump — this went 0.4 → 0.6 in one step and still needed nothing, unlike Vector-LLM, which broke on the same jump. The difference is that this bot only ever talks through the SDK, while that one drops to the raw nostr-sdk client for the kind-1 firehose and so is exposed to the 0.44 → 0.45 breakage underneath. https://github.com/JSKitty/price-bot/commit/9bff1191eedeabd2fba990013a257d6b6fc9db45 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] perf(e2e): cut the suite from 17.6s to 11.7s by not sleeping through it Profiling the suite showed test_full_lifecycle was 62% of the total runtime, and almost all of that was idle waiting rather than work. - poll_until now backs off from 25ms up to the caller's interval rather than using it as a fixed cadence. Instrumenting the polls showed nine of them succeeding on their first retry but each still paying a flat 500ms, ~4.6s of pure sleep. The deadline and early exit are unchanged, so every call site keeps its failure semantics and worst case; it also https://github.com/LNVPS/api/commit/541e8f315f2d8aeddcb6581b193c81b799d6aef5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] fix https://github.com/loblawbob873-svg/posterchanai/commit/fff62a5f0820ebdb4c045629f3fd9f6b45948cec npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ haruki7049/nostr-unko-posting-bot ] Empty commit to run CI https://github.com/haruki7049/nostr-unko-posting-bot/commit/e48418e596800e9d5569eae1937bb04117364ad3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ kehto/web ] fix(playground): clip topology connector paths (#231) Co-authored-by: Codex <[email protected] > https://github.com/kehto/web/commit/e9c907901fe455f6d3e66af20816cd820ed86db1 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ besoeasy/gupt ] style(chat): pulsate empty-state message icon Add a soft scale and glow loop on the empty chat icon container. https://github.com/besoeasy/gupt/commit/10afca2090a50d9cfd058af905670bad5840efd5 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nogringo/nostr-mail-client ] feat(settings): add light and dark background presets - Add three built-in background presets with light/dark variants https://github.com/nogringo/nostr-mail-client/commit/42c45599b9d7012b288bc8d8a3aa009686ce4981 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ LNVPS/api ] chore(deps): clear Dependabot advisories — drop serde_yml/libyml, bump quinn-proto Resolves the three open Dependabot alerts: - quinn-proto (high, GHSA-4w2j-m93h-cj5j): remote memory exhaustion from unbounded out-of-order stream reassembly. Bumped 0.11.14 -> 0.11.16. - libyml (high, GHSA-gfxp-f68g-8x78) and serde_yml (medium, GHSA-hhw4-xg65-fp2x): unsound and unmaintained. Every published version is affected, so there is no version to bump to — the fix is to stop using them. https://github.com/LNVPS/api/commit/8d2742c1f1327c7a6f4f0953a3e56e990f109854 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostrdevkit/nostr ] database: remove `flatbuf` feature and migrate `flatbuffers` module to `nostr-lmdb` This is part of the plan of reducing the API surface. This allows also more flexibility in the flatbuffers schema, in case the nostr-lmdb implementation needs non-standard fields or structs. Signed-off-by: Yuki Kishimoto <[email protected] > https://github.com/nostrdevkit/nostr/commit/b4d0360747c263c42a555eb314a57b2a1c712b9e npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ jim-ww/charshare ] make importing chat optional when importing character from other site https://github.com/jim-ww/charshare/commit/ccd89bc259bf214e978f0bfbbf4282602334be9b npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ satoshidude/jointfactory.io ] Record what players buy, and read it back The event log covered everything the server does — tickets, speed, boosts, deposits, draws — and missed the largest joints sink in the game. Plot levels, courier and factory capacity and plantation unlocks are bought in the client; the server only ever saw the resulting state, so no later analysis could say what people actually spend on. It sees them now: progressBreakdown() already prices the difference between two saves for the guard, so the same walk itemises it — how many levels, at what https://github.com/satoshidude/jointfactory.io/commit/695c61ccdeb047d3bbe67cfd5e4b4903e41fbfc0 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ nostrdevkit/nostr ] sdk: bound local relay subscription IDs Subscription ID limits counted Unicode scalar values and were not applied to NEG-OPEN, allowing multibyte IDs to retain more memory than configured. Enforce the limit in UTF-8 bytes for both regular and negentropy subscriptions. Signed-off-by: Yuki Kishimoto <[email protected] > https://github.com/nostrdevkit/nostr/commit/75541f4032cb15459f14f91d27cf650c3bffc684 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ Trustroots/nostroots ] Update web hub cards and retire Wikistr Hide Trustroots.org and Nostroots Web cards inside the Nostroots app, promote Trustroots Wiki, Nomadwiki, and Trashwiki out of the experimental tier, and show the page build timestamp in shared footers. Remove the obsolete Wikistr app, tests, configuration, documentation, and baseline capability requirements. https://github.com/Trustroots/nostroots/commit/e9aa54b6d7ab7bbe3b6491a0e57fe813eba546a7 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ spacecowboy/Feeder ] feat: added audio player for media attachments (#1172) * feat: added podcast link detection Detects playable podcast URLs locally before routing article links out to the browser. Adds focused unit coverage for extension-based and enclosure MIME-based matches. Signed-off-by: Anubhav Choudhary <[email protected] > * feat: added app-scoped podcast playback state https://github.com/spacecowboy/Feeder/commit/ae132fbfbc39304aaac25dd48bbc6c77faba40d8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ bryanmatthewsimonson/xray ] Merge pull request #272 from bryanmatthewsimonson/claude/local-transcription-diarization feat(capture): local YouTube transcription with speaker diarization https://github.com/bryanmatthewsimonson/xray/commit/09322284a9217849e0b8358b82c8a72a9f4385cd npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ flox1an/nostube ] fix: prevent unsafe origin links https://github.com/flox1an/nostube/commit/718e763c499264941043e43b96445ecf1f9170e8 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ TsukemonoGit/lumilumi ] Merge pull request #1085 from TsukemonoGit/dev らいぶらりあぷで https://github.com/TsukemonoGit/lumilumi/commit/9b6b9a1e81f68183051edbe53926878e30a600b3 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ TsukemonoGit/nostr-content-parser ] Merge pull request #9 from TsukemonoGit/dev fix url parse https://github.com/TsukemonoGit/nostr-content-parser/commit/45e92ea6dc0f617f9caf5afe3a8c83e07958154c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ flox1an/nostube ] fix: cap comment image height https://github.com/flox1an/nostube/commit/87ab57a9a8972b12ac948f6101ec99c2dd00d5aa npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ permissionlesstech/bitchat ] Keyboard navigation for @-mention suggestions (#1542) * Tab and arrow keys for mention autocomplete Highlight the selected suggestion and let Tab accept it. Up/down move the selection when the mention panel is open; Tab otherwise still cycles focus. Co-authored-by: Cursor <[email protected] > https://github.com/permissionlesstech/bitchat/commit/1f59e814f90c3f489f48d68262cb1bf640bf6181 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ loblawbob873-svg/posterchanai ] fix https://github.com/loblawbob873-svg/posterchanai/commit/5c8dc198d529a0b9b78971fd0727b2d5de768e6c npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ lawalletio/lawallet-nwc ] feat(listener): adopt shared vault secrets from Vercel (#132) * feat(scripts): adopt shared secrets from the Vercel project NWC_VAULT_SECRET and LISTENER_AUTH_SECRET must be byte-identical on web and the listener — a mismatched vault key makes every encrypted RemoteWallet undecryptable. Generating on the Fly side and copying by hand was the only way to pair them, which is exactly the step that drifts. --from-vercel now reads both from the same production environment it already https://github.com/lawalletio/lawallet-nwc/commit/ed136981d1be1926014a508be045af3246466b00 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ OpenSats/website ] Resign canary for August 2026 (#897) chore(canary): resign for August 2026 https://github.com/OpenSats/website/commit/fcba7d781b691ca2f29f9d04fbbf6a76c85dbf9a npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ coracle-social/welshman ] Optimize wot https://github.com/coracle-social/welshman/commit/91f3b80d93a7c05fc588b49b31d90d8961868144 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ imattau/write_nostr ] add adaptive-memory activation for personalized reading - graph.ts: shared ActivationEngine + helpers (reinforceEvent, bumpEventAttention, effectiveScore, topActivatedEvents, absorbSearch, spreadFromEvent); putEvents preserves activation across re-adds and builds bidirectional tagged/authors/ mentions edges; pruneStaleCache spares activated nodes - article view: read signal (25s dwell or 70% visible) durably reinforces; similar articles re-ranked by spreading activation over topic edges - interaction buttons: like/boost/zap reinforce on success - semantic search: absorb() warms the query region and re-ranks results https://github.com/imattau/write_nostr/commit/96df5d68ab9cc0d9e2ad26ff47b65fb7deaa591f npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ zoreu/tribe ] tribe social projetct https://github.com/zoreu/tribe/commit/bedb9eff79b4964a783e94adc2b7c159b3fbd100 npub10l479fv64qn03a3n0dqsryu74tyzl48xef0nc7u0z09q8tfx72ls7sv2ux nostr-summary [ haruki7049/nostr-unko-posting-bot ] Empty commit to run CI https://github.com/haruki7049/nostr-unko-posting-bot/commit/cff3f6d4e88c353b80452dc0d020631ccb77212b