Clipwell

Clipwell Changelog

Every meaningful change to Clipwell, told with the media it deserves — screenshots and clips adapt to your current theme.

  1. changedadded

    Both pickers redesigned, plus edit, highlighting, and live counts

    Both pickers dropped their stock look for one shared design language: a zinc neutral ramp with a single violet accent (the product gradient), Lucide icons everywhere emoji used to be, accent-tinted selection with an edge indicator instead of a solid fill, and a deliberate type scale. The native Avalonia picker gets a real token layer (theme dictionaries over Fluent); the web UI gets the same palette as Tailwind theme tokens. Same icons, same anatomy, same accent in both.

    The redesigned picker: count pills, Lucide icons, richer metadata
    The old picker: stock Fluent controls and emoji glyphs
    Before After
    Drag to compare: stock Fluent + emoji before, the zinc-and-violet system after.

    The redesign carries a batch of features ported from the original Windows app:

    • Search highlighting — every match is marked in the previews, and the filter pills and kind dropdown show live counts that follow the search (new GET /api/clipboard/counts endpoint, scoped to the query).
    • Edit content (Ctrl+E) — a non-destructive override stored in the metadata overlay: the original capture is kept, the row shows an edited tag, empty text restores it, and edited text re-classifies its kind.
    • Paste as plain text (Alt+Shift+Enter) — and the default paste now restores captured HTML on Windows, so rich-text targets keep formatting.
    • Offline banner — when the daemon is unreachable the pickers keep the last loaded history, show a Retry banner, and resync automatically on reconnect.
    • Richer metadata — character counts, image dimensions (new imageWidth/imageHeight on the API), color swatches on color items, and monospace previews for code, colors, and paths.
    • Sensitive toggling moved to Ctrl+Shift+L to make room for edit — the same chords the original app used.
    The redesigned web UI with count pills, Lucide icons, an edited tag, and keycap hints
    The web UI, same system: count pills, icons, edited tag, and keycap hints in the footer.

    Decisions are written up in ADR-0008 (design tokens and Lucide iconography) and ADR-0009 (edit overlay and counts endpoints) on the engineering site.

  2. Web UI & desktop shell

    Clipwell gained a second face.

    • Web UI — a second front-end (Solid + Vite + Tailwind v4, Bun + TypeScript), full feature-parity with the native picker, served by the daemon at 127.0.0.1:8787/app over loopback CORS.
    • Tauri 2 desktop shell — the web UI as a frameless desktop app: global hotkey, tray icon, hide-on-blur, and enigo paste-back. Starts hidden and hides on blur so it never sits over your work. Verified on Windows (both themes).
    The Clipwell web UI as a Tauri desktop app: search, filter tabs, typed rows with favicons, image thumbnail, and source apps
    The web UI running as a frameless Tauri desktop app.
  3. addedchanged

    Picker richness, MCP-over-HTTP, plugins

    The picker grew up in one milestone.

    Action palette (Ctrl+K) — content-aware actions for the selected item (open in browser, copy domain, and more) via IClipAction.

    The Ctrl+K action palette over a selected link, listing Open in browser, Copy to clipboard, and Copy domain

    Quick Look (Ctrl+Y) — a fast, full-content preview without leaving the list.

    Quick Look overlay showing the selected item's full content over a dimmed picker

    Compact / Detail view modes — Detail adds a live preview pane beside the list.

    Clipwell in Detail view: the history list on the left and a preview pane on the right showing the selected item's full content

    Group by date or source — inline headers above each day’s / app’s items.

    The picker grouped by source app, with a header above each app's items

    Richer settings — appearance, default view & grouping, row metadata toggles, retention, and picker position — and a diagnostics window with daemon health and real picker show-cycle latencies.

    The Clipwell settings window: appearance, default view, grouping, row metadata, retention, and picker position
    The Clipwell diagnostics window showing daemon status and picker show-cycle timings

    Also in this milestone: a rebindable global hotkey chord, pagination / infinite scroll, source-app capture (records the foreground app at copy time, shown per row), a plugin host for external detectors and actions via PluginLoader, and MCP over HTTP/SSE — the same four clipboard tools as the stdio server, now served in-process by the daemon.

    Picker filtering is now live as you type — narrowing the history without leaving the box.

    Live filtering as you type.
  4. Foundations

    The Clipwell architecture landed in one piece.

    • Clipboard daemon — ASP.NET minimal API (REST + WebSocket/SSE + MCP) over a SQLite history store; one public API for every client.
    • Cross-platform capture — Windows (Win32 clipboard listener, text/HTML/image), macOS/Linux (polling pbpaste/wl-paste/xclip), with a null fallback.
    • Native picker (Avalonia) — pre-warmed window shown on a global hotkey (~16 ms warm show-cycle), tray icon, single-instance, paste-into-source app, image thumbnails, typed items + detectors (url / github-pr / email / jira / color / path / code / image).
    • Pin / sensitive / alias metadata and picker type filters.
    • Documentation sites — user-facing feature docs and an engineering / ADR site (Fumadocs static export), both light/dark with the OS preference as default.
    The Clipwell picker showing a search box, filter tabs, and a list of typed clipboard items
    The native Avalonia picker: search, filter tabs, and typed clipboard items.