From b363da843ffcaea89a9ec11ce0cacc180a824f00 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 14 Sep 2026 19:25:06 -0700 Subject: A picture can be sent to a channel or a DM, encrypted, and read by Vector. The composer grows a paper clip. A picked file is encrypted under a fresh AES-GCM key and 16-byte nonce, the ciphertext uploaded to a public Blossom host that takes anonymous blobs (blossom.ditto.pub, then nostr.download as a fallback copy), and the pointer posted the way Vector posts it: a kind-9 with empty content and a NIP-92 imeta tag carrying url, mime, key, nonce, both hashes, size and dimensions. In a DM it is a NIP-17 kind-15 file message with the same fields as flat tags and the url as content, wrapped to the peer and to ourselves. Kind-15 file messages are now accepted on receive too, rendered like any attachment, and previewed as a photo in the thread list. Co-Authored-By: Claude Fable 5.1 --- src/i18n.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index 7948c97..a44f5c4 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -194,6 +194,10 @@ const STR = { msgNewChannel: 'New channel', msgAdmin: 'admin', msgAttachFailed: 'Attachment unavailable', + msgAttach: 'Attach a picture', + msgAttachTooBig: 'That file is too big (20 MB max)', + msgUploadFailed: 'Upload failed — try again', + msgPhoto: 'Photo', msgEdited: '(edited)', msgReact: 'React', msgZap: 'Zap', -- cgit v1.2.3