Repository navigation
Releases: coderoadpl/ai-video-cataloger
Releases · coderoadpl/ai-video-cataloger
Release list
v0.6.43
Fixed
- Video tiles whose sources have a short edge below 512 px get a grid thumbnail at native resolution instead of the low-resolution cover
(c0cf6a4). - Library video tiles refresh after thumbnail backfill finishes, replacing cached low-resolution covers with the generated grid thumbnails
(e9235a4).
Full changelog: v0.6.42...v0.6.43
v0.6.42
Changed
- The Osoby header keeps the minimum-observations threshold behind a compact button that opens a popover with the slider and a hint, instead of an inline slider with its tick scale
(21f931c). - Every control in the Osoby header action row shares one height and baseline
(21f931c). - The look-alike review badge shows the reviewable queue size, with a trailing
+when more pairs are pending than the review serves, and the review card says the queue refills as answers come in
(21f931c). - The contact sheets of a look-alike pair are capped against the viewport height, so the Tak/Nie/Pomiń row stays visible without scrolling
(21f931c).
Added
- Answering a look-alike pair shows a spinner and a Scalanie…/Zapisywanie… label on the answered button and dims the pair card until the answer settles
(21f931c). - Settings says that turning local face grouping off pauses indexing and hides Osoby while keeping every recognised person and every answer
(21f931c).
Full changelog: v0.6.41...v0.6.42
v0.6.41
Fixed
- Materializing renamed legacy videos migrates name-based artifacts and retains originals when replacement verification fails
(5eae73f). - Backups stage artifacts with hard links and a copy fallback, and observe cancellation between staged entries
(5eae73f). - Variant changes write summaries, transcripts and frames under the fingerprint-verified filename used by previews
(5eae73f). - Library trash waits for all-roots photo processing before removing photo records and artifacts
(5eae73f). - Aborted HTTP catalog mutations leave the resource queue without waiting for an active backup or trash job
(5eae73f). - Concurrent searches recover from legacy mirror rename races by re-discovering the migrated destination
(5eae73f). - The release walkthrough excludes hidden photo files and sidecars from its expected scan row count
(5eae73f). - Pair review accounts for cache row overhead, preserves scores across output-limit changes and yields during preprocessing and row scoring while reusing warm rankings
(5eae73f).
Full changelog: v0.6.40...v0.6.41
v0.6.40
Changed
- The extracted-frames gallery caps its enlarged frame, so the thumbnail strip stays visible beside it on a wide details pane
(49db564). - Photo details label the owning folder "Lokalizacja" / "Location", the same wording the video pane uses for that path
(49db564).
Fixed
- The "Index faces" button explains itself with a tooltip pointing at Settings while face grouping is switched off
(49db564).
Full changelog: v0.6.39...v0.6.40
v0.6.39
Fixed
- Trash and photo processing complete without deadlocking when processing reaches its chained face pass
(57018cd). - Pair review bounds retained score buffers to 8 MiB on large catalogs and yields between people during generation
(57018cd). - Backups stage database snapshots and artifact copies under the same exclusion resource used by synchronous catalog mutations, so a concurrent forget cannot remove a crop from the captured backup
(a5737d2). - Search and Library previews prefer the recorded filename and verify fingerprints before recovering a renamed path, preventing a colliding suggestion from showing another video's media
(a5737d2). - Selecting analysis variants keeps the selected projection under the video's physical filename, including when variants suggest different names
(a5737d2). - Thumbnail backfill maps staged frames by recorded filenames and hashes unmatched files, preventing colliding suggestions from supplying another video's frames
(a5737d2). - Retrying partially completed photo trash resumes from the remaining sightings while retaining analyses until all copies are moved
(a5737d2). - Materializing a rename carries cover and grid thumbnails with grid provenance and removes owned obsolete name-based artifacts after durable catalog relocation
(a5737d2). - Duplicate scan links use the verified reachable canonical video path when a suggested rename was skipped
(a5737d2). - The first write to a legacy read-only artifact mirror merges it into the canonical mirror, preserving canonical files on collisions and retaining legacy-only artifacts
(a5737d2). - Pair review always confirms a merge and warns that it cannot be undone, including for automatically named people
(3f97a45). - Pair review confirmation submits the displayed pair's IDs and closes when that pair is no longer available
(3f97a45). - Pair review prevents additional answers and undo actions until the queue refresh completes
(3f97a45). - Pair review disables undo after an irreversible merge
(3f97a45). - Undo immediately restores the answered pair first, even when its refreshed queue rank is lower
(3f97a45). - Pair review shows loading and query errors instead of an empty review queue while candidates are unavailable
(3f97a45). - Explicit merges remove contradictory decisions using current observation ownership, including after an unassigned anchor gains a person
(3f97a45). - Face indexing can found a compatible identity when a higher-similarity supporter is blocked by a different decision
(3f97a45). - Pair review reuses unchanged embedding scores across decisions and undo instead of recalculating cross-exemplar similarities
(3f97a45). - Smoke and GUI gates reject declared dependency versions or Electron runtime versions that differ from the lockfile, provide a reinstall instruction, and record the Electron version exercised by GUI runs
(51442cc). - Prerelease reports must contain executed tests for every expected project; empty or missing-project reports fail the gate
(51442cc). - Prerelease invocations use unique report directories outside Playwright output and a checkout lock to prevent concurrent report and build interference
(51442cc). - E2E failures receive one diagnostic retry with tracing; recovered failures remain red and are counted separately as flaky
(51442cc). - Walkthrough steps fail on screenshot rejection or missing evidence, capture CSS-pixel PNGs, and measure work-area capping from outer window bounds with a bounded settle wait
(51442cc). - Strict walkthrough skips require explicit fixture reasons; viewer, player, and Analysis navigation failures after selecting a video fail the run
(51442cc). - Pair-review gates accept an empty queue only after a successful completed query, including after relaunch, and fail on query errors or timeouts
(51442cc). - GUI fixtures retain their files when shutdown fails and wait for process termination before marking the driver closed
(51442cc). - E2E preflight requires a canonical isolated HOME and an explicit scratch directory; every desktop launch overrides inherited profile paths and keeps pair-review windows inactive
(51442cc).
Changed
- The "Ta sama osoba?" review is now one task on screen: while it is open the People header drops the minimum-occurrences slider, the sort toggle, "Scal wybrane" and the selection bar and names the scope instead, the three answers carry distinct weights (Tak contained, Nie outlined, Pomiń text) in one equal-width row with their key hints and captions on a single line below, "Pomiń" says the pair comes back in 30 days, each answer is announced with its shortcut and consequence, the position counter is a live region, a person without example crops gets a square tile in the same grid as the crops, and an emptied queue acknowledges how many questions were answered and offers the way back
(f2a56a8). - The entry point to the pair review reads "Sprawdź podobne osoby (N)" / "Review look-alikes (N)" and is the single call to action in the People header row; the Ustawienia scope control says the questions appear on the People tab, carries a real label for assistive technology and is inactive while local face grouping is off
(f2a56a8). - Polish copy no longer stutters on an auto-generated person: "Twarz: Osoba 3", "Pliki: Osoba 3", "Wybierz: Osoba 3"; a merge asks "Którą nazwę zachować?", matching the "Nazwa wyświetlana" field it refers to
(f2a56a8). - The Collection grid no longer jumps sideways when loading finishes, a tile shows its file name on hover, and a catalog tree row no longer repeats that name through its thumbnail for a screen reader
(f2a56a8). - "Analizuj wszystko (N)" now says in words that files which ended in an error are not re-attempted by the batch and points at the per-file "Analizuj ponownie", so the count over a longer list of rows no longer reads as arithmetic gone wrong
(f2a56a8). processandprocess-drivereject--timeoutoutside the config schema's 30..600-second range as a CLI usage error
(0e53549).- API debug logs redact request, response and transport-error bodies for credential, backup-secret and OAuth routes
(0e53549). - Map pin popovers use geographic screen positions, keeping their anchors available when zooming or panning changes the rendered pins
([0e53549](0e535497ff8de5b8efe...
v0.6.38
Fixed
- The People view no longer shows controls that cannot act: while local face grouping is off the header renders only the heading, the subtitle and the settings call to action; the minimum-occurrences slider's value bubble now clears the label above it instead of covering the heading text; and the Polish folder counter in the catalog tree agrees with its count ("1 oczekuje", "3 oczekują", "5 oczekuje", "0 gotowych")
(322aca9).
Full changelog: v0.6.37...v0.6.38
v0.6.37
Fixed
- Face grouping no longer depends on the order the files were indexed in: a scan stores every detected face unassigned and then groups the whole run's unassigned faces in one pass, in a stable order, so the same photos and videos produce the same people whatever order they were copied in or split across runs, and a pair the owner answered "different" is no longer joined by the indexing path
(929e35c). - A file whose catalogued analysis carries a suggested final name that was never applied to the file on disk now shows its cover and its stored analysis artifacts again: the analysis view, the Library and search resolve frames, transcript, summary and thumbnails from the name the file actually carries, so the artifacts already on disk are found instead of being addressed under a name nothing ever wrote
(d8c8003).
Full changelog: v0.6.36...v0.6.37
v0.6.36
[0.6.36] - 2026-09-08
Fixed
- Video rows in expanded sub-folders now show their thumbnail: a freshly generated thumbnail is written into the tree-folder list the row was fetched into instead of only the opened root's scan, and a generation skipped because the artifact already exists surfaces that artifact instead of counting as a failure
(eaedc0b).
Changed
- The release walkthrough now proves that a freshly expanded sub-folder shows real decoded thumbnails before it captures the frame, adds an optional
people-pairsstep that enables face grouping through the real Settings controls and captures the pair-review card whenAVC_WALKTHROUGH_FACES_SAMPLESnames a photo fixture (an indexed fixture that yields no candidate pair is a tolerated skip), and records the window size it actually captured — which macOS may cap below the requested one — inplan.jsonandmanifest.json
(3ec0972).
Full changelog: v0.6.35...v0.6.36
v0.6.35
[0.6.35] - 2026-09-08
Security
- Desktop dependency floor moved to Electron 41.10.7, which replaces the
extract-ziptransitive dependency carrying GHSA-jmr9-qjv8-65gv with a maintained fork and drops it from the installed tree
(eeb0759).
Changed
pnpm run test:e2e:prereleasenow runs its legs through a TypeScript runner that collects a per-leg Playwright JSON report, prints a leg/passed/failed/skipped summary and fails when a test self-skips outside the runner's allowlist, so a missing face-fixture environment variable can no longer pass as a green pre-release run
(36b69c0).
Full changelog: v0.6.34...v0.6.35
v0.6.34
Fixed
- Osoby now follows a face indexing run started anywhere else in the app: the view watches the running job, refreshes while it works and once more when it ends, instead of staying on the state it read the moment it was opened
(6bc95ac). - Face indexing no longer aborts the app: ONNX Runtime telemetry is disabled before the runtime is loaded, so its upload thread can no longer terminate the process
(025e2bf).
Added
faces pairs list,faces pairs decideandfaces pairs importexpose the pairwise people review from the CLI, including a one-off import of a labelled same/different pairs corpus
(7b47de9).faces reclusterhonours stored pairwise decisions as clustering constraints and carries a name across the rebuild when the old person maps one-to-one onto a new one
(7b47de9).- Osoby can be reviewed pair by pair: the app proposes two people it believes may be the same, and the answer is stored —
samemerges them,differentis a permanent constraint honoured by later rebuilds,skiphides the pair for 30 days
(7b47de9). config set faces_pair_scope careful|standard|widetunes how eagerly Osoby proposes people to compare
(7b47de9).- Osoby has a "Ta sama osoba?" review view: two people side by side with contact sheets, answered with Tak / Nie / Pomiń or the keys 1 / 2 / 3, undone with Backspace, and a header badge showing how many questions are pending
(6bc95ac). - Ustawienia can set how eagerly Osoby proposes people to compare (Ostrożnie / Standardowo / Szeroko)
(6bc95ac). pnpm run test:e2e:people-pairsdrives the review surface with real clicks and keystrokes over a real faces pass and asserts the decisions survive a relaunch
(6bc95ac).
Changed
- Automated launches driven by the e2e suites and the release walkthrough set
AVC_WINDOW_INACTIVE=1, which opens the app window inactive and off the macOS Dock so a long gate run never takes keyboard focus; a normal launch is unaffected
(4c62ac2).
Full changelog: v0.6.33...v0.6.34