Files
logseq/src
scheinriese 0d60acab6f feat: zero-state rows + paste/URL UX in asset picker
- Replace "No images yet" placeholder with three tappable rows when the
  asset list is empty: Upload from computer, Paste image URL, and
  (when supported) Paste from clipboard with a ⌘V hint. Floating
  action bar hides while rows are shown.

- Accept Finder / Explorer file pastes. A sync ClipboardEvent reader
  inspects clipboardData.files/items, since navigator.clipboard.read()
  cannot see OS file references. Global paste listener attached to
  the picker root.

- Route URL downloads through Electron IPC (:httpRequest) in desktop
  builds to bypass renderer CORS. Add opt-in :structured flag to the
  IPC handler so it returns {:status :ok :headers :data} without
  breaking existing body-only callers. Sniff magic bytes to detect
  image vs HTML vs unknown when server Content-Type is unreliable.

- Classify download failures by HTTP status and error kind. New
  url-save-error-copy maps :html-page, :not-image, :too-large,
  :unknown, :http-status (with 401/402/403/404/429 specifics),
  :empty, :cors, and :network to actionable user copy. Browser-build
  CORS rejections now get an honest "browser blocked cross-origin"
  message instead of "check your connection".

- Log failures via js/console.error in both IPC and fetch paths for
  future debuggability.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 13:22:48 +02:00
..
2026-03-17 00:07:33 +08:00