Support pasting images from clipboard in image upload areas #899

Open
opened 2026-07-30 02:08:19 +00:00 by spikerj · 0 comments
Owner

Most image-upload surfaces in learn.spikersoft.com only support the file picker (a few support drag-and-drop), but none support pasting an image from the clipboard (Ctrl+V). Screenshots and copied images are a common source and currently have to be saved to disk first.

Plan:

  • Add a shared `ImagePasteDirective` in `libraries/ui/image-paste` that listens for paste while the host surface is visible, extracts image files from the clipboard (filtered by the surface's accepted types), and emits them as `File[]`. Topmost surface wins when several are on screen (e.g. dialog over page); pastes into text inputs are ignored.
  • Wire it into the image-capable surfaces: photo gallery, blog create + blog entry media, profile photos tab, art-studio prompt composer, passport scan, child-account passport, geography-facts admin media, QR AI reference, trellis 3D source, img→ico, image→avif, info vault.

Out of scope: AI assistant message attachments (files are currently discarded there), travel-doc uploads (ambiguous target row), voxel texture editor.

Most image-upload surfaces in learn.spikersoft.com only support the file picker (a few support drag-and-drop), but none support pasting an image from the clipboard (Ctrl+V). Screenshots and copied images are a common source and currently have to be saved to disk first. Plan: - Add a shared \`ImagePasteDirective\` in \`libraries/ui/image-paste\` that listens for paste while the host surface is visible, extracts image files from the clipboard (filtered by the surface's accepted types), and emits them as \`File[]\`. Topmost surface wins when several are on screen (e.g. dialog over page); pastes into text inputs are ignored. - Wire it into the image-capable surfaces: photo gallery, blog create + blog entry media, profile photos tab, art-studio prompt composer, passport scan, child-account passport, geography-facts admin media, QR AI reference, trellis 3D source, img→ico, image→avif, info vault. Out of scope: AI assistant message attachments (files are currently discarded there), travel-doc uploads (ambiguous target row), voxel texture editor.
Sign in to join this conversation.