mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
75 lines
3.2 KiB
Markdown
75 lines
3.2 KiB
Markdown
# v1.12.6: Napplets, Static Sites & Cashu Multi-Mint
|
|
|
|
Highlights:
|
|
|
|
- New protocol support for **Nostr Web Applets (NIP-5D)** and **static websites
|
|
(NIP-5A)**, resolved straight from signed manifests over Blossom.
|
|
- Cashu tokens that span **multiple mints** now redeem in full, and both Base64
|
|
alphabets are accepted.
|
|
- A batch of stability fixes across notifications, playback, feeds, and the
|
|
emoji pack screens.
|
|
|
|
## New Features
|
|
|
|
- Add support for **Nostr Web Applets (NIP-5D)** and **static websites
|
|
(NIP-5A)**. Napplet manifests (snapshot/root/named kinds) and the NIP-5A
|
|
aggregate-hash layer land in Quartz, with a resolver that downloads each
|
|
listed Blossom server in order and accepts only the blob whose recomputed
|
|
SHA-256 matches the signed manifest — a substituted or corrupted blob fails
|
|
verification and is skipped.
|
|
|
|
## Performance
|
|
|
|
- Cashu token-prefix dispatch now compares against precomputed `DualCase`
|
|
prefixes instead of case-folding the cashuA/cashuB markers on every call.
|
|
|
|
## Improvements and Bug fixes
|
|
|
|
- Cashu: redeeming a pasted token now redeems **every mint/keyset group** in it
|
|
(previously only the first), validating all mints are in the wallet up front
|
|
and summing the redeemed amounts. The parser also tolerates both standard and
|
|
url-safe Base64 and mixed-case `cashuA`/`cashuB` prefixes.
|
|
- Stop the `DisappearingScaffold` top/bottom bars from overshooting their
|
|
resting edge during the show/hide animation.
|
|
- Dedupe emoji shortcodes in the Emoji Pack screen to prevent a `LazyGrid`
|
|
crash, and dedupe emoji pack addresses in the My Emoji List grid.
|
|
- Cap media-session artwork to the platform bitmap limit so large covers no
|
|
longer crash playback.
|
|
- Handle a missing camera app gracefully when taking photos or videos.
|
|
- Snapshot live-stream status order before sorting, and snapshot feed filters
|
|
too, to avoid `TimSort` "contract violation" crashes.
|
|
- Notifications: call `startForeground` on every start command and always
|
|
`stopSelf` when foreground promotion fails.
|
|
- Guard the Health Connect permission check against service-bind failures.
|
|
- Add a descriptive message to the media-download HTTP check.
|
|
|
|
## Cli
|
|
|
|
- `amy napplet fetch` resolves and fetches a NIP-5D napplet.
|
|
- `amy nsite fetch` resolves and verifies a NIP-5A static site / napplet.
|
|
|
|
## Quartz
|
|
|
|
- Implement NIP-5D napplets and the NIP-5A static-site resolver (manifest model,
|
|
path lookup, hash verification, Blossom candidate assembly) in `commonMain`,
|
|
with HTTP injected so Quartz keeps no networking dependency.
|
|
- Move the out-of-band Cashu token parser, the `cashuB` (v4) encoder, and the
|
|
token container model into Quartz, so Desktop's rich-text viewer can now parse
|
|
received Cashu tokens. Adds `kotlinx-serialization-cbor` (Apache-2.0).
|
|
- Centralize Blossom protocol strings in Quartz.
|
|
- Never let signer timeouts crash from auto-signing launches.
|
|
|
|
## Build & Documentation
|
|
|
|
- Generate the changelog translator credits offline from a committed
|
|
`translators.json`, track a rolling "since last tag" contributor list, and
|
|
seed it from Crowdin on every sync without rewriting the timestamp each run.
|
|
|
|
## Contributors
|
|
|
|
- @npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z
|
|
|
|
## Translations
|
|
|
|
- _None this release._
|