#Amethyst v1.13.1: Follow-up Fixes for Buzz, Concord and the...

Amethyst

npub142gywvjkq0dv6nupggyn2euhx4nduwc7yz5f24ah9rpmunr2s39se3xrj0

hex

8983c53ab1489b9eec2f165fdf32f5d96d3f6742b6c14d9e5611ea72a5502f93

nevent

nevent1qqsgnq7982c53xu7ash3vh7lxt6ajmflvaptds2dnetpr6nj54gzlycprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjctffyfx

Kind-1 (TextNote)

2026-07-29T03:59:30Z

#Amethyst v1.13.1: Follow-up Fixes for Buzz, Concord and the Keyboard

Highlights:

  • Fixes the soft keyboard getting stuck open in chats.
  • Fixes duplicate items crashing the Discover and feed lists.
  • Adds per-event-kind toggles to the Home feed.
  • Signs Blossom read requests so media on auth-gated hosts loads.

New Features

  • Adds per-event-kind toggles for the Home feed.
  • Signs Blossom read-auth so media hosted on auth-gated servers displays.
  • Lets admins delete a Buzz channel or relay group.
  • Honors CORD-02 §9: seals dissolved Concord communities read-only.
  • Allows single-character (continent) geohash precision in location channels.

Performance

  • Preemptively signs Blossom reads for known auth-gated hosts, so the first request succeeds instead of round-tripping through a 401.
  • Makes the observeNotes dedup lock-free and race-safe under concurrent consumption.

Improvements and Bug fixes

  • Stops the soft keyboard state from getting stuck open.
  • Stops nav-bar padding from stacking on top of the IME inset in chats.
  • Unions nav-bar and IME insets on the two remaining bare-Scaffold forms.
  • Prevents a duplicate LazyColumn key from observeNotes on addressable updates, and keeps the list sorted while deduping by id.
  • Dedupes Discover apps by coordinate to avoid duplicate LazyGrid keys.
  • Dedups EventListMatchingFilter (observeEvents) and hardens its emission contract.
  • Authenticates to the NIP-29 host relays of joined groups so private group content loads.
  • Keeps the back arrow visible until the exiting screen finishes leaving.
  • Bounds the context shown around a highlight to a window, trims edge blank lines, and collapses scraped whitespace.
  • Attributes a highlight to the author-marked p tag and drops alt captions.
  • Renders custom emoji in highlight comments.
  • Only tags explicit http(s) URLs as r references.
  • Opens a Concord community by tapping its name, not just its avatar.
  • Leaves room for the FAB in the Concord community channel list.
  • Makes the Buzz Messages toggle read the list it claims to change.
  • Renders the Buzz channel recent-poster facepile with the standard avatar.
  • Separates Buzz community rows with a hairline and drops the grey slab behind the Channels section.
  • Aligns leave vs remove-from-messages actions across chat types.
  • Normalizes top nav bar title font sizes and weights.
  • Raises the background mobile-data trigger to 500 MB and doubles the report-prompt thresholds.
  • Removes orphaned buzz_dm_hide translations.

Desktop

  • Caches the OS Keyring handle so startup only prompts once.
  • Makes the "Enable OS notifications" button actually enable them.
  • Reloads the visible page when switching accounts.

Quartz

  • Stops Namecoin lookup exceptions from leaking through resolve().
  • Uses Hex.isHex64 instead of a regex for the blob-id check.

Build & Documentation

  • Resolves the LocalCache override, dropdown deprecation, and shadowed extension warnings.
  • Extracts duplicated string literals.

Contributors

  • nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcpzpmhxue69uhkummnw3ezumt0d5hszythwden5te0dehhxarj9emkjmn99uwfvhl6
  • nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpzpmhxue69uhkummnw3ezumt0d5hszxnhwden5te0wf5kymewv46jumn0wd68y6tp9eshqup0qyd8wumn8ghj7um9dejxjapwdehhxenvv9ex2tnrdakj7nrm3sx
  • mstrofnone

Translations

  • Czech, German, Brazilian Portuguese, and Swedish by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpzpmhxue69uhkummnw3ezumt0d5hszxnhwden5te0wf5kymewv46jumn0wd68y6tp9eshqup0qyd8wumn8ghj7um9dejxjapwdehhxenvv9ex2tnrdakj7nrm3sx

Raw JSON

{
  "kind": 1,
  "id": "8983c53ab1489b9eec2f165fdf32f5d96d3f6742b6c14d9e5611ea72a5502f93",
  "pubkey": "aa9047325603dacd4f8142093567973566de3b1e20a89557b728c3be4c6a844b",
  "created_at": 1785297570,
  "tags": [
    [
      "p",
      "460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
      "wss://vitor.nostr1.com/"
    ],
    [
      "p",
      "ca89cb11f1c75d5b6622268ff43d2288ea8b2cb5b9aa996ff9ff704fc904b78b",
      "wss://nostr.mom/"
    ],
    [
      "t",
      "Amethyst"
    ],
    [
      "t",
      "amethyst"
    ],
    [
      "client",
      "Amethyst"
    ]
  ],
  "content": "#Amethyst v1.13.1: Follow-up Fixes for Buzz, Concord and the Keyboard\n\nHighlights:\n\n- Fixes the soft keyboard getting stuck open in chats.\n- Fixes duplicate items crashing the Discover and feed lists.\n- Adds per-event-kind toggles to the Home feed.\n- Signs Blossom read requests so media on auth-gated hosts loads.\n\n## New Features\n\n- Adds per-event-kind toggles for the Home feed.\n- Signs Blossom read-auth so media hosted on auth-gated servers displays.\n- Lets admins delete a Buzz channel or relay group.\n- Honors CORD-02 §9: seals dissolved Concord communities read-only.\n- Allows single-character (continent) geohash precision in location channels.\n\n## Performance\n\n- Preemptively signs Blossom reads for known auth-gated hosts, so the first\n  request succeeds instead of round-tripping through a 401.\n- Makes the `observeNotes` dedup lock-free and race-safe under concurrent\n  consumption.\n\n## Improvements and Bug fixes\n\n- Stops the soft keyboard state from getting stuck open.\n- Stops nav-bar padding from stacking on top of the IME inset in chats.\n- Unions nav-bar and IME insets on the two remaining bare-Scaffold forms.\n- Prevents a duplicate LazyColumn key from `observeNotes` on addressable\n  updates, and keeps the list sorted while deduping by id.\n- Dedupes Discover apps by coordinate to avoid duplicate LazyGrid keys.\n- Dedups `EventListMatchingFilter` (`observeEvents`) and hardens its emission\n  contract.\n- Authenticates to the NIP-29 host relays of joined groups so private group\n  content loads.\n- Keeps the back arrow visible until the exiting screen finishes leaving.\n- Bounds the context shown around a highlight to a window, trims edge blank\n  lines, and collapses scraped whitespace.\n- Attributes a highlight to the author-marked `p` tag and drops alt captions.\n- Renders custom emoji in highlight comments.\n- Only tags explicit http(s) URLs as `r` references.\n- Opens a Concord community by tapping its name, not just its avatar.\n- Leaves room for the FAB in the Concord community channel list.\n- Makes the Buzz Messages toggle read the list it claims to change.\n- Renders the Buzz channel recent-poster facepile with the standard avatar.\n- Separates Buzz community rows with a hairline and drops the grey slab behind\n  the Channels section.\n- Aligns leave vs remove-from-messages actions across chat types.\n- Normalizes top nav bar title font sizes and weights.\n- Raises the background mobile-data trigger to 500 MB and doubles the\n  report-prompt thresholds.\n- Removes orphaned `buzz_dm_hide` translations.\n\n## Desktop\n\n- Caches the OS Keyring handle so startup only prompts once.\n- Makes the \"Enable OS notifications\" button actually enable them.\n- Reloads the visible page when switching accounts.\n\n## Quartz\n\n- Stops Namecoin lookup exceptions from leaking through `resolve()`.\n- Uses `Hex.isHex64` instead of a regex for the blob-id check.\n\n## Build \u0026 Documentation\n\n- Resolves the `LocalCache` override, dropdown deprecation, and shadowed\n  extension warnings.\n- Extracts duplicated string literals.\n\n## Contributors\n\n- nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcpzpmhxue69uhkummnw3ezumt0d5hszythwden5te0dehhxarj9emkjmn99uwfvhl6\n- nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpzpmhxue69uhkummnw3ezumt0d5hszxnhwden5te0wf5kymewv46jumn0wd68y6tp9eshqup0qyd8wumn8ghj7um9dejxjapwdehhxenvv9ex2tnrdakj7nrm3sx\n- mstrofnone\n\n## Translations\n\n- Czech, German, Brazilian Portuguese, and Swedish by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpzpmhxue69uhkummnw3ezumt0d5hszxnhwden5te0wf5kymewv46jumn0wd68y6tp9eshqup0qyd8wumn8ghj7um9dejxjapwdehhxenvv9ex2tnrdakj7nrm3sx",
  "sig": "3f118a47fac13163a49a8904de066df3a83ed78664c68cd4fad036fc3d02e928911764470b41c3048c9feec8cc367063e1a1d29b9a214a4711c865f5b4c0ae62"
}