From the review of #341.
The paste offer's onAttachUrl pushes into draft.media unconditionally (compose.js ~813 and the panel's twin). Paste the same image URL a second time and accept again → two identical thumbnails, and the published note appends the URL twice (plus two imeta tags for one image).
Fix shape: accepting a URL that draft.media already holds should convert — remove the URL from the prose and keep the existing entry (and its description) — not add a second. Optionally the offer itself could read "Already attached" and simply take the prose line out, which is the same act with honest copy.
From the review of #341.
The paste offer's
onAttachUrlpushes intodraft.mediaunconditionally (compose.js ~813 and the panel's twin). Paste the same image URL a second time and accept again → two identical thumbnails, and the published note appends the URL twice (plus two imeta tags for one image).Fix shape: accepting a URL that
draft.mediaalready holds should convert — remove the URL from the prose and keep the existing entry (and its description) — not add a second. Optionally the offer itself could read "Already attached" and simply take the prose line out, which is the same act with honest copy.