Commit Graph

  • e97b7282ff fix(frontend): make Escape dismiss overlays before clearing selection H1K0 2026-06-11 16:04:11 +03:00
  • 9a14c50250 fix(frontend): reload the file grid on filter/sort change H1K0 2026-06-11 15:49:34 +03:00
  • e7d24f0677 feat(frontend): default the apply-to-existing tag-rule toggle on H1K0 2026-06-11 15:49:23 +03:00
  • d357ae3156 feat: open file original in a new tab via authenticated direct link H1K0 2026-06-11 15:40:50 +03:00
  • 03936243e4 fix(frontend): reflect rule-applied tags in batch edit H1K0 2026-06-11 15:06:25 +03:00
  • a78fc5ba9a feat(backend): log file views H1K0 2026-06-11 14:49:14 +03:00
  • 8f213e780c fix(frontend): sort a file's assigned tags by the chosen tag order H1K0 2026-06-11 14:22:23 +03:00
  • 88a8cac048 fix(frontend): load full tag/category lists in pickers, honoring sort H1K0 2026-06-11 13:58:23 +03:00
  • aae0c587e8 fix(scripts): correct autotag rule direction in legacy migration H1K0 2026-06-11 13:45:52 +03:00
  • f73f954b1a fix(backend): show whole image in thumbnails and previews (contain) H1K0 2026-06-11 12:56:21 +03:00
  • 76942721ad chore(scripts): add legacy data migration H1K0 2026-06-11 12:42:06 +03:00
  • 437b66e73a ci(project): add Gitea Actions deploy workflow and docs H1K0 2026-06-11 12:15:33 +03:00
  • fce71bb946 feat(project): add Docker Compose with flexible storage and DB modes H1K0 2026-06-11 11:26:25 +03:00
  • 69650b6464 chore(project): set the default port to 42776 H1K0 2026-06-11 11:03:26 +03:00
  • 0e7890a465 style(project): format Go with gofmt, set up Prettier for the frontend H1K0 2026-06-11 11:01:29 +03:00
  • f5f7db6c2a feat(project): containerize as a single image serving SPA + API H1K0 2026-06-11 10:52:27 +03:00
  • aab62cbe41 style(frontend): mute the light theme background H1K0 2026-06-11 10:40:05 +03:00
  • 7a0c57a79c feat(frontend): finish PWA reset reload and pre-cache the HTML shell H1K0 2026-06-11 10:36:20 +03:00
  • e8479ee4fb docs(project): record SPA-mode decision and SvelteKit feature usage H1K0 2026-06-11 10:28:56 +03:00
  • 1f3bc2acf4 fix(frontend): open pool files in an overlay so back returns to the pool H1K0 2026-06-11 10:22:34 +03:00
  • 5968a7b593 fix(frontend): drive infinite scroll from scroll position, not observer transitions H1K0 2026-06-11 10:17:59 +03:00
  • e801eec47d feat(frontend): bidirectional lazy load for anchored grid returns H1K0 2026-06-11 01:16:32 +03:00
  • dc1af8c585 fix(frontend): make infinite scroll viewport-relative, stop eager-loading H1K0 2026-06-11 00:14:04 +03:00
  • ffb8848a96 chore(frontend): bump mock files to 500 to exercise lazy load H1K0 2026-06-11 00:05:43 +03:00
  • fa491487b7 feat(frontend): open file viewer as overlay over the mounted list H1K0 2026-06-11 00:02:25 +03:00
  • 4f8d6a41f9 feat(frontend): lazy infinite scroll on tags/categories/pools lists H1K0 2026-06-10 23:46:29 +03:00
  • 18f1dbc052 fix(frontend): restore grid position via URL anchor on return from viewer H1K0 2026-06-10 16:30:26 +03:00
  • a1ec25a441 perf(frontend): lazy-load file tags on scroll into view H1K0 2026-06-10 15:18:57 +03:00
  • 89ba6bae82 fix(backend): enforce private-by-default visibility and pool-op ACL H1K0 2026-06-10 15:07:17 +03:00
  • 2af3c481bb fix(frontend): redirect to /login when the session can't be refreshed H1K0 2026-06-10 14:55:12 +03:00
  • 00f63697b0 fix(frontend): render nested EXIF values instead of [object Object] H1K0 2026-06-10 14:55:12 +03:00
  • 2ef055a41a fix(backend): pool reorder no longer drops omitted members H1K0 2026-06-10 14:53:26 +03:00
  • ec96fced40 perf(backend): cache thumbnail, preview and content responses H1K0 2026-06-10 14:50:32 +03:00
  • 5b973cf534 fix(frontend): resolve svelte-check type errors H1K0 2026-06-10 14:49:17 +03:00
  • bcbe0b5e8c fix(frontend): redirect root route to /files H1K0 2026-06-10 14:40:47 +03:00
  • a360cab2fc fix(frontend): use search param for pool "add files" name search H1K0 2026-06-10 14:40:47 +03:00
  • f8f58434d5 feat(frontend): restore files grid position when returning from a file H1K0 2026-06-10 14:39:50 +03:00
  • 12d4dbcbb2 test(backend): regression tests for the security fixes H1K0 2026-06-10 14:19:41 +03:00
  • aff270fa44 fix(backend): rate-limit login and refresh endpoints H1K0 2026-06-10 14:14:51 +03:00
  • 40c91cec55 fix(backend): add baseline security response headers H1K0 2026-06-10 14:13:56 +03:00
  • 591b3d2fe3 fix(backend): set HTTP server timeouts to mitigate Slowloris H1K0 2026-06-10 14:13:22 +03:00
  • f4545ff107 fix(backend): invalidate thumbnail cache on replace and permanent delete H1K0 2026-06-10 14:12:38 +03:00
  • 3b79f12ec0 fix(backend): bound image decode and ffmpeg during thumbnailing H1K0 2026-06-10 14:11:31 +03:00
  • 4645107ea1 fix(backend): make access tokens revocable via session validation H1K0 2026-06-10 14:09:25 +03:00
  • fa2acca858 fix(backend): cap upload size to prevent memory exhaustion H1K0 2026-06-10 14:07:34 +03:00
  • f069fccd96 fix(backend): harden JWT handling and login H1K0 2026-06-10 14:04:33 +03:00
  • 9ea939ccf6 fix(backend): bootstrap admin from env instead of seeding admin/admin H1K0 2026-06-10 14:01:48 +03:00
  • 945df7ef8a fix(backend): enforce file ACL on file-tag and import endpoints H1K0 2026-06-10 13:59:33 +03:00
  • a6680b1c05 fix(backend): require owner/admin to read or modify object ACLs H1K0 2026-06-10 13:59:10 +03:00
  • eb2eb00d96 fix(frontend): use $appSettings.tagRuleApplyToExisting on creating a new tag rule also H1K0 2026-04-07 11:59:09 +03:00
  • 135c71ae4d fix(frontend): theme-aware footer navbar colors H1K0 2026-04-07 01:10:12 +03:00
  • d38e54e307 feat(frontend): use reference icons for PWA manifest and favicons H1K0 2026-04-07 01:04:36 +03:00
  • c6e91c2eaf feat(frontend): add PWA support (service worker, manifest, pwa util) H1K0 2026-04-07 01:02:53 +03:00
  • d6e9223f61 feat(frontend): implement trash view with restore and permanent delete H1K0 2026-04-07 00:56:55 +03:00
  • 004ff0b45e fix(frontend): admin section fixes (pagination, actions, navbar) H1K0 2026-04-07 00:56:43 +03:00
  • 6e052efebf feat(frontend): implement admin section (users + audit log) H1K0 2026-04-07 00:27:44 +03:00
  • 70cbb45b01 fix(frontend): auto-fill viewport on file list load H1K0 2026-04-07 00:06:45 +03:00
  • 012c6f9c48 feat(frontend): add configurable app settings (file load limit, tag rule apply_to_existing) H1K0 2026-04-07 00:00:55 +03:00
  • 8cfcd39ab6 feat(backend): apply tag rules retroactively to existing files on activation H1K0 2026-04-07 00:00:45 +03:00
  • 6da25dc696 feat(frontend): implement settings page H1K0 2026-04-06 23:37:44 +03:00
  • 9b1aa40522 feat(frontend): implement bulk tag editing for multi-file selection H1K0 2026-04-06 08:40:53 +03:00
  • d79e76e9b7 feat(frontend): implement pool views and add-to-pool from file list H1K0 2026-04-06 08:31:06 +03:00
  • 1f591f3a3f feat(frontend): replace JS confirm() with native dialog component H1K0 2026-04-05 23:48:21 +03:00
  • 1931adcd38 feat(frontend): implement category list, create, and edit pages H1K0 2026-04-05 23:38:52 +03:00
  • 21f3acadf0 feat: add PATCH /tags/{id}/rules/{then_id} to activate/deactivate rules H1K0 2026-04-05 23:31:12 +03:00
  • 871250345a feat(frontend): add activate/deactivate toggle for tag rules H1K0 2026-04-05 23:26:07 +03:00
  • 6e24060d99 feat(frontend): add clear button to TagPicker search input H1K0 2026-04-05 23:16:49 +03:00
  • f7d7e8ce37 feat(frontend): implement tag list, create, and edit pages H1K0 2026-04-05 23:14:04 +03:00
  • b9cace2997 feat(frontend): implement file upload with drag-and-drop and per-file progress H1K0 2026-04-05 14:02:26 +03:00
  • a5b610d472 feat(frontend): implement file viewer page with metadata editing and tag picker H1K0 2026-04-05 13:55:04 +03:00
  • 84c47d0282 feat(frontend): expand mock tags to 207 entries for filter bar testing H1K0 2026-04-05 13:35:05 +03:00
  • 6fa340b17c feat(frontend): make header and filter bar sticky on scroll H1K0 2026-04-05 13:32:35 +03:00
  • aebf7127af feat(frontend): implement file selection with long-press, shift+click, and touch drag H1K0 2026-04-05 13:30:26 +03:00
  • 63ea1a4d6a feat(frontend): make filter expression tokens draggable for reordering H1K0 2026-04-05 12:57:45 +03:00
  • 27d8215a0a feat(frontend): add header, filter bar, and sorting store for files page H1K0 2026-04-05 12:47:18 +03:00
  • e72d4822e9 feat(frontend): implement file gallery page with infinite scroll H1K0 2026-04-05 03:34:33 +03:00
  • 9e341a0fc6 feat(frontend): add dev mock API plugin H1K0 2026-04-05 03:26:03 +03:00
  • 7770960cbf feat(frontend): add root layout with auth guard and bottom navbar H1K0 2026-04-05 03:21:00 +03:00
  • e21d0ef67b feat(frontend): implement auth store and login page H1K0 2026-04-05 03:06:32 +03:00
  • fde8672bb1 feat(frontend): implement API client and auth module H1K0 2026-04-05 03:02:35 +03:00
  • 071829a79e fix(backend): fix file upload and integration test suite H1K0 2026-04-05 02:56:04 +03:00
  • 0784605267 feat(backend): add integration tests with testcontainers-go H1K0 2026-04-05 02:34:16 +03:00
  • e767b07b23 feat(backend): implement user, ACL, and audit stacks H1K0 2026-04-05 02:25:16 +03:00
  • 3a49036507 feat(backend): implement pool stack H1K0 2026-04-04 22:04:27 +03:00
  • 21debf626d feat(backend): implement category stack H1K0 2026-04-04 21:50:57 +03:00
  • 04d2dfa16e docs(project): document scoped commit naming convention in CLAUDE.md H1K0 2026-04-04 21:41:22 +03:00
  • 595b8fa671 feat(backend): implement full tag stack (repo, service, handler, routes) H1K0 2026-04-04 21:29:20 +03:00
  • 5050dbea3c feat(backend): implement file handler and wire all /files endpoints H1K0 2026-04-04 18:40:04 +03:00
  • 99508cdbf8 feat(backend): implement file service with upload, CRUD, ACL, and audit H1K0 2026-04-04 18:28:59 +03:00
  • 0ae8b81a0b feat(backend): seed MIME types and support all image/video formats H1K0 2026-04-04 18:21:27 +03:00
  • fae87ad05c feat(backend): implement DiskStorage with on-demand thumbnail/preview cache H1K0 2026-04-04 18:11:54 +03:00
  • 1a873949f4 feat(backend): implement FileRepo and filter DSL parser H1K0 2026-04-04 16:55:23 +03:00
  • 0724892e29 feat(backend): implement audit repo and service H1K0 2026-04-04 01:19:24 +03:00
  • 559f891d8d feat(backend): implement ACL repo and service H1K0 2026-04-04 01:13:21 +03:00
  • 5a617af22c fix(backend): wire handler layer in main.go and fix migration issues H1K0 2026-04-04 00:54:54 +03:00
  • 1766dc2b3c feat(backend): implement auth handler, middleware, and router H1K0 2026-04-04 00:43:41 +03:00
  • 277f42035c feat(backend): implement auth service with JWT and session management H1K0 2026-04-04 00:38:21 +03:00
  • 0e9b4637b0 feat(backend): implement db helpers and postgres pool/transactor H1K0 2026-04-04 00:34:45 +03:00
  • 2c83073903 feat(backend): implement db helpers and postgres pool/transactor H1K0 2026-04-04 00:15:17 +03:00
  • 83fda85bea feat(backend): implement port interfaces (repository and storage) H1K0 2026-04-04 00:11:06 +03:00