mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
Add `amy marmot group set-image <gid> <file> [--server URL]` and `amy marmot group clear-image <gid>`: encrypt the avatar with the MIP-01 v2 scheme (interoperable with mdk/whitenoise), optionally push the ciphertext to Blossom signed by the keypair derived from image_upload_key, and commit the image fields into the group's NostrGroupData extension. Thin assembly over quartz (MarmotGroupImageEncryption) + commons (updateGroupMetadata) per the CLI rules. Add headless interop test_17_group_image_commit: A (amy) sets a group image on a group whitenoise is a member of, then renames. The rename is a later MLS epoch, so wn can only observe the new name if it first applied the image-bearing GCE commit — proving the image extension stays parseable on mdk (which rejects trailing bytes). This is the end-to-end guard for the group-icon interop fix. Note: the marmot interop harness currently can't build current whitenoise-rs — its patches target the pre-restructure `src/bin/wnd.rs` layout, but whitenoise-rs has moved to a `crates/whitenoise-cli/` workspace. Refreshing those patches is separate harness maintenance; the interop correctness is otherwise covered by the pinned-mdk source analysis and the MarmotGroupImageTest wire regression test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JL3GXW1fmHa3xWfQjLLqfp