Skip to content

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 16 Apr 18:49
· 342 commits to main since this release
9171137

Desktop tag UI layer on top of the v0.5.0 tag backend.

Added

  • Tauri tag commands (perima-desktop): list_tags, attach_tag,
    detach_tag, list_files_with_tags. Two-query merge (metadata +
    tags_for_hashes) with a WHY comment documenting the WAL race.
  • TagPayload + FileWithTagsPayload wire types in payloads.rs;
    FileWithTagsPayload composes (not extends) FileWithMetadataPayload.
  • TS Tag / FileWithTags types + api.ts wrappers (listTags,
    attachTag, detachTag, listFilesWithTags) following the existing
    fromInvoke / neverthrow pattern.
  • TagChip component — colored pill with optional remove button.
    Color index computed via byte-sum mod 12 (blake3 not available in TS
    bundle; intentional deviation from spec; WHY comment explains).
  • TagSidebar component — "All" + per-tag rows with attachment counts
    and aria-pressed accessibility. totalCount prop shows unfiltered
    file count next to "All". Active-state count badge uses text-blue-200
    for legibility on the blue background.
  • FileTable / FileGrid tag rendering — up to 3 TagChip instances
    per row/tile with +N overflow badge.
  • App.tsx client-side tag filterselectedTagId: string | null
    state; <TagSidebar> shown when tags list is non-empty; visibleFiles
    filters files by tag id. WHY comments explain single-select deferral
    and 100-row cap effect on displayed counts.