Commit Graph

  • cb5bc120dc fix(web): restore button cursor: pointer affordance under Tailwind v4 dtoro 2026-05-17 22:00:34 +02:00
  • a72619e3d1 feat(timeline): focus follows archive, snaps to first on view load dtoro 2026-05-17 21:56:54 +02:00
  • 84e433ff63 fix(timeline): scroll-driven visibility scan, factor PhotoTile + SkeletonGrid dtoro 2026-05-17 21:33:03 +02:00
  • d35de8a2a9 feat(web): /tags tabs + keyword surfacing + dup tab restyle dtoro 2026-05-17 21:19:44 +02:00
  • d5e4f23c0f feat(web): sidebar root folder + folder counts, drill-in colors/tags/ratings, click semantics rework dtoro 2026-05-17 21:01:41 +02:00
  • 5153aeebec fix(sidecar): podman keep-id mapping so mutations land as the host user dtoro 2026-05-17 18:23:37 +02:00
  • 4362e475a7 build(sidecar): containerize + delete the Node prototype dtoro 2026-05-17 17:23:36 +02:00
  • 032dce6c85 feat(sidecar): port Node prototype to Go + Gin + GORM + MariaDB dtoro 2026-05-17 17:15:47 +02:00
  • 0766b47bb2 feat(sidebar): library + general settings dialogs, sidebar footer, alignment polish dtoro 2026-05-17 16:51:56 +02:00
  • 17df1ecd09 feat(preview): play videos inline in the lightbox overlay dtoro 2026-05-17 16:51:46 +02:00
  • 8c2526d982 feat: PhotoPrism M0 bring-up — compose stack, web client, sidecar, migrate dtoro 2026-05-17 16:06:58 +02:00
  • 423a73a8a6 fix(SettingsDialog): drop dead imports after AI tab removal claudio 2026-05-14 00:28:14 +02:00
  • a27267f7ad refactor: drop AI/vision pipeline + plain Postgres + full-refresh script claudio 2026-05-14 00:20:38 +02:00
  • 6915c30911 build(backend): cache torch wheel + pip downloads across rebuilds claudio 2026-05-13 23:08:10 +02:00
  • 4e1af0f356 refactor: simplify after self-review claudio 2026-05-13 20:50:17 +02:00
  • 5e2823ae94 feat(library): tighten duplicates scope, drop in-app upload, polish loaders claudio 2026-05-13 20:44:36 +02:00
  • 99edd7d395 ui(thumbs): remove the "date may be wrong" badge root 2026-05-12 10:55:32 +02:00
  • ab3c55dd96 feat(topbar): drop search box to reclaim filter-bar space root 2026-05-12 09:53:32 +02:00
  • c30b387dc3 feat(grid): user-configurable thumbnail size for grid views root 2026-05-12 09:37:01 +02:00
  • 347f58b4f3 perf(thumbs): pool NC client, smaller grid thumbs, eager owner load Claudio 2026-05-12 00:30:43 +02:00
  • 68bbe6f024 fix(compose): mount video_cache_data volume on backend + workers Claudio 2026-05-12 00:09:25 +02:00
  • c4df92720b feat(playback): pre-transcode HEVC videos in background; veryfast preset Claudio 2026-05-12 00:03:15 +02:00
  • 2a5270d399 fix(playback): force mp4 muxer; ffmpeg cant infer format from .tmp extension Claudio 2026-05-11 22:52:36 +02:00
  • 1b6ff45726 feat(playback): transcode HEVC .mov to H.264 MP4 on first hit Claudio 2026-05-11 22:40:05 +02:00
  • 09c12ea35b fix(scan): only resurrect discards when file changed; add Saved toast Claudio 2026-05-11 22:29:25 +02:00
  • abe5c1ec6b fix(metadata-panel): apply mutation responses synchronously, no second GET Claudio 2026-05-11 21:51:14 +02:00
  • ea08d7e3e8 fix(library/stats): exclude hidden photos from discarded count Claudio 2026-05-11 21:13:26 +02:00
  • 356062ead3 feat(date-guess): recognise YY-MM-DD HH-MM-SS Synology export filenames Claudio 2026-05-11 20:56:47 +02:00
  • 7a1c6b618b fix(compose): propagate SECRET_KEY to all workers, not just backend Claudio 2026-05-11 13:56:31 +02:00
  • 5a67ed7e7b feat(phase 4): vision fetches NC previews; stop writing /data/thumbs Claudio 2026-05-11 13:52:52 +02:00
  • f4618ddf97 fix(rename): refresh Folder.name on webhook-driven directory rename Claudio 2026-05-11 13:46:06 +02:00
  • 2a5759cc8d feat(metadata): read from NC Memories first, ExifTool subprocess as fallback Claudio 2026-05-11 13:39:43 +02:00
  • f27f3cb820 fix(handle_directory_rename): iterate in Python — asyncpg rejected SUBSTRING(... FROM LENGTH(...)+1) Claudio 2026-05-11 13:16:56 +02:00
  • f4a03b63f4 feat(nc-webhook): handle folder rename via NodeRenamedEvent Claudio 2026-05-11 13:07:28 +02:00
  • 94088253f8 fix(nc-webhook): propagate folder deletes + resurrect un-discarded files Claudio 2026-05-11 12:50:52 +02:00
  • f657e2c0ba feat: retire the watchfiles watcher in favour of NC webhooks Claudio 2026-05-11 12:28:36 +02:00
  • 362fbc6d83 feat(nc-webhook): receive Nextcloud file events instead of polling Claudio 2026-05-11 12:19:59 +02:00
  • d24c64e0a0 fix(scan): stop auto-queuing backfill_gps on every startup Claudio 2026-05-11 12:08:31 +02:00
  • 18dce33fa3 fix(original): support HTTP Range so <video> can play .mov etc Claudio 2026-05-11 12:02:44 +02:00
  • 28738acb56 fix(backfill): drop offset-based pagination — it skipped filled rows Claudio 2026-05-11 11:43:03 +02:00
  • 576b0c236d feat(thumbs): proxy Nextcloud previews instead of duplicating the cache Claudio 2026-05-11 11:34:58 +02:00
  • 9e9b1ba224 perf(preview): debounce full-res /proxy preload by 400ms Claudio 2026-05-11 11:06:36 +02:00
  • 11202a92e7 fix(preview): cull/pick shortcuts target the visible photo, not stale selection Claudio 2026-05-11 10:47:02 +02:00
  • a0d275490b ui(preview): preload thumbs for ±5 neighbors, not just adjacent Claudio 2026-05-11 10:32:14 +02:00
  • 6311412fc0 ui(preview): load 1280px thumb first, upgrade to full-res in bg Claudio 2026-05-11 10:22:17 +02:00
  • 611d445d92 ui(sidebar): ellipsize nextcloud-users/<user>/files prefix in path claudio 2026-05-11 09:51:45 +02:00
  • f14ea69223 ui(duplicates): show grandparent + parent in path strip Claudio 2026-05-11 00:49:02 +02:00
  • f290784bf3 ui(duplicates): show parent folder + full-path tooltip on each thumbnail Claudio 2026-05-11 00:16:48 +02:00
  • f743733edd ui(sidebar): drop Title field, add bulk notes editor Claudio 2026-05-11 00:07:02 +02:00
  • c69322a89d ui(sidebar): compact two-section panel, drop active-heap card Claudio 2026-05-10 23:43:33 +02:00
  • f63daf16a8 fix(timeline): scroll to top on section / folder switch Claudio 2026-05-10 23:25:48 +02:00
  • d580796dc8 fix(photos): accept bare-date filter bounds, send T00:00:00 from UI Claudio 2026-05-10 23:16:09 +02:00
  • 7b153f0d28 fix(metadata): drop EXIF:ModifyDate fallback, prefer SubSec, fall back to path Claudio 2026-05-10 23:02:32 +02:00
  • 76551d898b fix(nextcloud): NULL parent_id on cross-source-root child folders + spinner Claudio 2026-05-10 22:37:12 +02:00
  • 89f99d220a fix(photos): coerce tz-aware taken_at to naive UTC before DB write Claudio 2026-05-10 22:32:44 +02:00
  • 63dd39d172 fix(nextcloud): NULL parent_id before deleting Folder rows on SourceRoot remove Claudio 2026-05-10 22:30:34 +02:00
  • 09a00f7419 feat(nextcloud): hard-delete SourceRoot + reliable delete sync Claudio 2026-05-10 22:19:58 +02:00
  • 99d504842e feat(auth): auto-redirect to Authentik when OIDC enabled Claudio 2026-05-10 21:59:15 +02:00
  • eeeb16a0f1 ui(sidebar): split editable vs read-only between Edit and Metadata Claudio 2026-05-10 21:49:44 +02:00
  • 1695eae226 ui(sidebar): wrap edit form in collapsible, drop Header X button Claudio 2026-05-10 21:43:33 +02:00
  • 172f869e15 ui(sidebar): pin heap, single scroll area, collapsible metadata group Claudio 2026-05-10 21:36:18 +02:00
  • 1408ec3fa3 perf(db): partial index for the photos list query Claudio 2026-05-10 21:28:28 +02:00
  • b1c3ee68dd perf(ui): smaller initial page, slower idle polling Claudio 2026-05-10 21:28:16 +02:00
  • 4bb2c959a8 fix(cleanup): distinguish renamed source root from unmounted drive Claudio 2026-05-10 21:24:28 +02:00
  • 758fda619e fix(raw): PIL fallback for iPhone Apple ProRAW / Linear DNG Claudio 2026-05-10 21:20:53 +02:00
  • 0eee0cecde perf(backend): drop uvicorn --reload, run 2 workers in compose Claudio 2026-05-10 21:09:51 +02:00
  • 4b137989c6 fix(auth): drop competing 401 interceptor in api.ts Claudio 2026-04-26 11:14:45 +02:00
  • f811aae641 fix(sidebar): show Settings entry to non-admin users Claudio 2026-04-26 09:59:24 +02:00
  • e4127f1e04 fix(library): scope source_dirs to current user in /stats Claudio 2026-04-26 09:46:54 +02:00
  • 4c7e981daf feat(settings): open Library + AI tabs to non-admin users Claudio 2026-04-26 09:45:21 +02:00
  • 65f6c14487 fix(nextcloud): pin cloud.hubris.network to LAN caddy IP in compose Claudio 2026-04-26 08:17:52 +02:00
  • bc0bb44c05 feat(nextcloud): per-user Nextcloud library integration Claudio 2026-04-26 01:06:37 +02:00
  • 80dd9d0a8b feat(auth): OIDC link by preferred_username (opt-in) root 2026-04-22 22:24:13 +02:00
  • e8e1adcf37 feat(auth): Authentik OIDC sign-in + Gravatar avatars dtoro 2026-04-22 21:06:32 +02:00
  • 319be20389 feat(sharing): pending-state invites, notification bell, sidebar polish dtoro 2026-04-21 23:17:53 +02:00
  • 11343c17dc ui(sharing): rework share dialog around the Drive/Notion pattern dtoro 2026-04-21 22:34:29 +02:00
  • 3c022cef68 ui(timeline): auto-focus first photo on every section switch dtoro 2026-04-21 22:21:29 +02:00
  • b6be24c357 ui(sharing): redesign share dialog with clearer structure + affordances dtoro 2026-04-21 22:15:44 +02:00
  • b518a293cd fix(duplicates): reserve 160px row height so thumbnails don't shift on load dtoro 2026-04-21 22:15:38 +02:00
  • b7f2eb7832 ui(timeline): drop redundant tints in discarded + active-heap views dtoro 2026-04-21 21:56:07 +02:00
  • 96624bf853 fix(duplicates): hoist memo hooks above early returns dtoro 2026-04-21 21:49:32 +02:00
  • b9916866b3 ui(footer): move "Built with hubris" byline into LeftSidebar dtoro 2026-04-15 22:11:00 +02:00
  • 68d8a6d064 fix(sidebar): exclude watch_folders heartbeat from active task count dtoro 2026-04-15 21:31:06 +02:00
  • e6ca78881f ui(layout): move Date filter inputs to topbar, Active Heap to right sidebar dtoro 2026-04-15 21:21:57 +02:00
  • c5582ffc65 ui(sidebar): collapsible Library section with Heaps nested inside root 2026-04-15 20:48:20 +02:00
  • eac005109c feat(filters): move date picker to sidebar, track visible photo order root 2026-04-15 17:12:34 +02:00
  • 45f1649979 ui: uniform 160px thumbnail cells across all grid views root 2026-04-15 15:41:40 +02:00
  • 66b3bc5e1f perf+ux: cheaper sidebar toggle, virtualised filmstrip, compact toasts root 2026-04-15 15:24:32 +02:00
  • d72a218b46 feat: full shortcut parity + perf fixes across memories and duplicates root 2026-04-15 11:51:13 +02:00
  • 744a7fa0c3 feat(memories): use Timeline's PhotoThumbnail grid dtoro 2026-04-15 10:57:29 +02:00
  • 967cf23b82 feat(sharing): user picker in share dialog dtoro 2026-04-15 10:34:09 +02:00
  • a073ee7fb9 perf+style: grid subscription hygiene, a11y, shadcn-style consistency dtoro 2026-04-15 10:30:16 +02:00
  • e65e798021 perf+ux: cut grid re-renders, coalesce discard, dedup bulk mutations dtoro 2026-04-15 10:13:39 +02:00
  • 7efac4354e ui: migrate to shadcn/ui primitives across dialogs, filters, and forms dtoro 2026-04-15 09:07:20 +02:00
  • 8529771122 ui: rework selection/heap visuals, contextual shortcut hints, inline scan activity dtoro 2026-04-14 23:45:36 +02:00
  • a6eb406052 ui: tidy sidebar tree indent and consolidate sidebar toggles into filter bar dtoro 2026-04-14 22:31:10 +02:00
  • 574d71371f refactor: strip AI pipeline to binary photo/other classifier dtoro 2026-04-14 22:27:17 +02:00
  • 5c531f11da feat: runtime feature flags, upload/download, RAW decoding root 2026-04-14 21:31:52 +02:00
  • 800ee447ad perf: native canvas markers for map view, drop clustering library root 2026-04-13 16:17:32 +02:00
  • 7c68e1400b fix: map view freezing browser with thousands of markers root 2026-04-13 15:53:58 +02:00