Skip to content

Releases: syfpsy/refchi-releases

0.12.0

Choose a tag to compare

@syfpsy syfpsy released this 01 Sep 16:33
v0.12.0

docs: point README at the canonical changelog; fix stale v0.7.5 downl…

0.11.0

Choose a tag to compare

@syfpsy syfpsy released this 01 Sep 15:26
v0.11.0

docs: point README at the canonical changelog; fix stale v0.7.5 downl…

0.10.1

Choose a tag to compare

@syfpsy syfpsy released this 01 Sep 14:40
v0.10.1

v0.9.9 release notes and download links

0.10.0

Choose a tag to compare

@syfpsy syfpsy released this 13 May 19:32
v0.10.0

v0.9.9 release notes and download links

v0.9.9

Choose a tag to compare

@syfpsy syfpsy released this 18 Apr 12:27

v0.9.9 — CLIP accuracy, blur marquee, Ctrl+C copy, clipboard text import

Fixed

  • Double-clicking a bookmark card no longer opens the URL in your system browser — it opens the preview modal (which has explicit 'Open in browser' and 'Embed' buttons).
  • CLIP content tagging accuracy: woman images no longer get tagged 'dog', and dog images now reliably surface for 'dog' queries. Threshold raised from 0.05 to 0.15 + 40% relative floor against top match. Also require top score to clear the absolute floor before emitting anything.
  • Labels now expand to multiple tags: 'a photo of a dog' emits ['dog', 'animal'] so querying either finds the asset. Specific tags can't get beaten out by generic ones anymore.
  • Content-tags schema version bumped to v2. Existing assets tagged under v0.9.5's buggier logic get re-classified automatically on next launch so mis-tags get fixed.

New

  • Screenshot editor's blur / rectangle / arrow tools show a live dashed marquee while dragging — you see the selection area BEFORE releasing.
  • Ctrl/Cmd+C copies selected assets to the OS clipboard: images go as raster (paste into Photoshop / Slack / etc.), text snippets as text, other files as path.
  • Right-click menu on any asset now has a 'Copy' option with Ctrl+C shortcut label.
  • Clipboard history's text entries now have an Import (+) button that saves the text as a library snippet.

v0.9.8

Choose a tag to compare

@syfpsy syfpsy released this 18 Apr 11:57

v0.9.8 — Design audit cleanup

Fixed

  • Logotype font was inconsistent — title bar used Agbalumo, loading screen used Fraunces. Now Agbalumo everywhere for the 'refchi' wordmark.
  • Grid toolbar overflowed at 900px minimum window width when both side panels were open. Added flex-wrap.
  • Type filter's close (×) button was a 14px hit target (WCAG 2.5.5 AA requires 24×24). Increased padding.
  • Color palette swatches in the preview modal were 20×20 px. Increased to 28×28.
  • Favicon load error in preview modal bookmarks was mutating DOM directly in onError — now tracked via state.
  • Preview modal bottom bar's left column could overflow onto the center color palette. Added min-w-0 + truncate.

Improved

  • Removed 8 decorative drop-shadows from file icons that sat on solid backgrounds — no information value, just noise.
  • Removed 4 backdrop-blur uses that violated the 'no glass' principle (inspector preview button, drop-zone indicator, screenshot area selector, note cover button). Preview modal's full-screen scrim stays because it's a legitimate darken pattern.
  • Removed shadow-xl on the clipboard panel — panels should feel 'anchored, not floaty'. Now border-only.
  • Asset and bookmark cards now use ring-1 ring-inset for their 1px outline instead of a hacky box-shadow — same effect, readable intent.
  • New IconButton primitive with three variants (chrome / action / inline) and three sizes. Sidebar quick-capture row migrated to use it.

v0.9.7

Choose a tag to compare

@syfpsy syfpsy released this 18 Apr 11:26

v0.9.7 — Data-integrity hardening + a11y/perf polish

Fixed

  • Data loss on long OCR backfills — used to load the library once at backfill start, run OCR on every untagged image (potentially hours), then save the stale snapshot at the end. Any edits during the window (deletions, tag changes, folder moves, notes) were silently reverted. Now re-reads the library before each asset, saves in batches of 4 through a single mutation lock.
  • Double-launch corruption — if you double-clicked the shortcut or ran dev + packaged side-by-side, both processes would race on library.json and overwrite each other. Added a single-instance lock at app boot; the second launch focuses the existing window instead.
  • Color palette backfill same clobber pattern as OCR — now uses the same mutex so concurrent user edits survive.
  • Content-tags backfill could run twice concurrently (startup + import-triggered). Added a guard so only one runs at a time.
  • bridge.aiOcr IPC rejections were uncaught in the renderer — wrapped in try/catch with a user-facing toast.
  • Sidebar used aria-hidden when collapsed, which the ARIA spec forbids for ancestors of focusable content. Switched to the inert attribute, which both hides from screen readers AND removes descendants from the tab order.
  • Empty grid now distinguishes 'no assets yet' from 'no results for your search' — typing a query that matches nothing shows the query you searched and a Clear button instead of misleading 'Import files' CTAs.
  • Font preview glyphs are no longer read aloud by screen readers (visual-only purpose). The whole sample is now labeled 'Font sample for '.
  • FontFace cleanup removes the exact instance rather than searching by family — rapid arrow-key navigation through font assets can't leak orphan registrations anymore.
  • CLIP content-tagging engine errors now surface as toasts (previously silent).

Improved

  • Text search tag matching was O(assets × tags × tags). Precomputed a tagId→name map; now O(assets × tags).
  • Semantic search corpus building had the same pattern. Same fix.

v0.9.6

Choose a tag to compare

@syfpsy syfpsy released this 18 Apr 10:14

v0.9.6 — Sidebar quick-capture row, title-bar panel toggles, S-Folders rename

Improved

  • The three quick-capture buttons (text snippet, clipboard, screenshot) moved from a cramped row next to Import to a dedicated 3-column row beneath it — each is now full-width within its cell, framed, and visually a peer of Import rather than a satellite
  • Sidebar and inspector toggle buttons are now Notion/Claude-style icon buttons in the title bar (LayoutLeft / LayoutRight) — replaces the long thin edge bars that used to sit between panels, which were undiscoverable and visually noisy
  • Smart Folders renamed to S-Folders throughout the UI — cleaner in the sidebar and matches the app's compact section-header convention

v0.9.5

Choose a tag to compare

@syfpsy syfpsy released this 17 Apr 15:25

v0.9.5 — CLIP content tagging, fixed sidebar, sidebar toggle

New

  • Images are now tagged by their actual content using CLIP zero-shot classification — searches like 'person', 'man', 'landscape', 'dog', 'food' now find matching images even when the filename has no such word. Previously the classifier was pure geometry (aspect ratio, colors, edges) and could only match 'photo', 'portrait', 'landscape' (the orientation).
  • ~55 content labels across people, places, animals, objects, design & digital, art & illustration, text — tags appear as asset.contentTags and feed into the semantic search corpus automatically
  • Sidebar gained a collapse/expand toggle button on its right edge — click the chevron to slide the sidebar in or out. Preference persists across app restarts.

Improved

  • Sidebar is now fixed at 224 px wide — no longer user-resizable
  • Turkish 'Import' button now reads 'Ekle' instead of 'İçe Aktar'

Fixed

  • CLIP model (~90 MB, Xenova/clip-vit-base-patch32) downloads once on first run and is cached under userData/models. Subsequent runs are instant. Content tagging runs in the background after all other startup tasks so the app stays responsive.

v0.9.4

Choose a tag to compare

@syfpsy syfpsy released this 17 Apr 12:37

v0.9.4 — Semantic search confidence gate

Improved

  • Semantic search is now gated by both an absolute score floor (0.22, up from 0.12) and a relative filter that requires each result to score at least 70% of the top match — so when the model finds something obviously strong you get that match plus close neighbors, and when it finds nothing confident you fall through to text search instead of seeing a long tail of weakly-related items
  • Weak queries that would previously surface 30+ loosely-similar results now correctly fall back to text search, because their top score is already below the absolute floor