Commit Graph
43 Commits
Author SHA1 Message Date
ilia 0a9223c943 test: add Playwright e2e smoke suite for punimtag dev
CI / skip-ci-check (pull_request) Successful in 4s
CI / docker-ci (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 10s
CI / e2e (pull_request) Successful in 46s
Add an e2e/ Playwright harness (via @levkin/playkit) that smoke-tests
the public DEV host: login page loads, sign-out never redirects to a
LAN host, FastAPI /health responds, and forgot-password mail lands in
Mailtrap with a public reset link (Kolby #56/#57 regressions).

Wire it into Gitea Actions as a new `e2e` job (self-hosted runner,
Chromium via Playwright), gated behind the existing skip-ci-check.
Add npm root scripts (install:e2e, test:e2e) and gitignore e2e build
artifacts (node_modules, reports, .env).
2026-07-14 17:11:38 -04:00
ilia 44f3d696e4 Merge pull request 'feat: add dark mode and audit viewer-frontend accessibility' (#59) from a11y/dark-mode-and-focus-management into dev 2026-07-14 15:25:46 -05:00
ilia c011c8078e feat: add dark mode and audit viewer-frontend accessibility
CI / skip-ci-check (pull_request) Successful in 4s
CI / docker-ci (pull_request) Successful in 6s
CI / secret-scan (pull_request) Successful in 11s
Add next-themes light/dark/system theming with an accessible toggle
in every header, and close out an a11y pass across the viewer app:
skip-to-content link, main landmarks and heading hierarchy on every
route, focus-trapped dialog semantics for the photo viewer modals,
aria-label/live-region coverage for dynamic messages and icon
buttons, and dark: variants for previously light-only colors.
2026-07-14 16:24:51 -04:00
ilia e54c60912c Merge pull request 'fix: prevent sign-out crash and surface real email-send failures' (#58) from fix/logout-crash-and-email-delivery into dev 2026-07-14 12:14:53 -05:00
ilia bb09159133 fix: prevent sign-out crash and surface real email-send failures
CI / skip-ci-check (pull_request) Successful in 4s
CI / docker-ci (pull_request) Successful in 6s
CI / secret-scan (pull_request) Successful in 9s
- NextAuth session/jwt callbacks no longer return null (the client
  useSession() hook chokes on a null session, crashing the app on
  sign-out for deactivated/refreshed sessions) — fixes #57
- UserMenu/Header sign-out handlers close the Manage Users overlay and
  popover before calling signOut(), and no longer let a rejected
  signOut() promise go unhandled
- Added an app-level error boundary as a safety net for any remaining
  client render errors
- Registration and forgot-password flows now tell the user honestly
  when the confirmation/reset email failed to send instead of always
  claiming success — related to #56
- lib/email.ts throws a clear, actionable error when neither
  SMTP nor Resend is configured, instead of a cryptic SDK error
- Documented required SMTP/Resend env vars in DEPLOYMENT_CHECKLIST.md
  (were missing entirely, which is why no confirmation/reset emails
  were ever sent in deployed environments) — fixes #56
2026-07-14 12:44:33 -04:00
ilia 3e39f978f6 Merge pull request 'docs: close shipped triage issues; leave #43/#44 open' (#54) from docs/close-shipped-issues into dev
CI / skip-ci-check (push) Successful in 6s
CI / docker-ci (push) Successful in 7s
CI / secret-scan (push) Successful in 12s
2026-07-09 19:41:40 -05:00
ilia 1bfc5adb6f docs: close shipped triage issues; leave #43/#44 open
CI / skip-ci-check (pull_request) Successful in 7s
CI / docker-ci (pull_request) Successful in 8s
CI / secret-scan (pull_request) Successful in 12s
2026-07-09 20:41:18 -04:00
ilia 4f001e7887 Merge pull request 'docs: Postgres .179 + refresh next-steps' (#53) from docs/fix-postgres-179-and-next-steps into master
CI / skip-ci-check (push) Successful in 6s
CI / docker-ci (push) Successful in 7s
CI / secret-scan (push) Successful in 15s
2026-07-09 14:17:07 -05:00
ilia 739ab17425 docs: retarget Postgres to .179 and refresh next-steps
CI / skip-ci-check (pull_request) Successful in 8s
CI / docker-ci (pull_request) Successful in 7s
CI / secret-scan (pull_request) Successful in 14s
Update deploy docs off dead .181, refresh FIXES_2026-07-09, and point
.notes/task_list at Gitea issues as source of truth.
2026-07-09 15:13:31 -04:00
ilia eeb00339da Merge pull request 'Release: merge dev into master (open-issue triage + thumb cache)' (#52) from dev into master
CI / skip-ci-check (push) Successful in 6s
CI / docker-ci (push) Successful in 7s
CI / secret-scan (push) Successful in 12s
Reviewed-on: #52
2026-07-09 14:03:17 -05:00
ilia 3a4bfa9988 Merge pull request 'fix: open-issue triage (#21,#26,#45,#46,#47,#30-33)' (#51) from fix/open-issues-triage into dev
CI / skip-ci-check (pull_request) Successful in 6s
CI / docker-ci (pull_request) Successful in 7s
CI / secret-scan (pull_request) Successful in 12s
Reviewed-on: #51
2026-07-09 13:58:27 -05:00
ilia 3769c897b0 perf: disk-cache grid thumbnails and document 2026-07-09 fixes
CI / skip-ci-check (pull_request) Successful in 6s
CI / docker-ci (pull_request) Successful in 7s
CI / secret-scan (pull_request) Successful in 12s
Cache resized thumbs under .cache/photo-thumbnails (360px) so repeat
grid loads skip Sharp. Document ticket/infra fixes; drop unused SVGs.
2026-07-09 14:54:08 -04:00
ilia ffddeca268 fix: address open triage issues (#21,#26,#45,#46,#47,#30-33)
CI / skip-ci-check (pull_request) Successful in 6s
CI / docker-ci (pull_request) Successful in 7s
CI / secret-scan (pull_request) Successful in 11s
- #45: re-read local folder when recursive checkbox toggles
- #47: clear Identify crop spinner when image is already cached
- #46: search selected people by person_ids; AND for "First Last"
- #21: enqueue network import without blocking API walk
- #26: serve resized grid thumbnails for photos
- #30/#31/#33: re-enable small-face filters in auto-match
2026-07-09 14:42:08 -04:00
ilia 2dab2aa7f9 Merge pull request 'PunimTag Web Application - Major Feature Release' (#1) from dev into master
CI / skip-ci-check (push) Successful in 6s
CI / docker-ci (push) Successful in 9s
CI / secret-scan (push) Successful in 12s
Reviewed-on: #1
2026-07-09 12:20:31 -05:00
ilia d69ad1576d Merge pull request 'chore: merge master into dev (sync homelab CI bootstrap)' (#50) from chore/sync-ci-from-master into dev
CI / skip-ci-check (pull_request) Successful in 10s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Successful in 16s
2026-05-29 21:52:46 -05:00
ilia f0529e8274 chore: merge master into dev (sync homelab CI bootstrap)
CI / skip-ci-check (pull_request) Successful in 9s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Successful in 15s
Resolve add/add conflicts in CI files by adopting the homelab Gitea
Actions workflow from master (#48), replacing the legacy dev ci.yml.
2026-05-29 22:52:19 -04:00
ilia 5144d9a3b0 Merge pull request 'Add homelab Gitea Actions CI (generic)' (#48) from ci/bootstrap-gitea-actions-docker into master
CI / skip-ci-check (push) Successful in 11s
CI / docker-ci (push) Successful in 11s
CI / secret-scan (push) Successful in 16s
CI / skip-ci-check (pull_request) Successful in 10s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Successful in 16s
2026-05-29 21:46:27 -05:00
ilia 2db7ee88c9 ci: sync gitleaks allowlist
CI / skip-ci-check (pull_request) Successful in 9s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Successful in 19s
2026-05-29 21:31:59 -05:00
ilia c0b09b1d6b ci: refresh workflow (re-run pipelines) 2026-05-29 21:31:56 -05:00
ilia 2658bc7b07 ci: sync gitleaks allowlist
CI / skip-ci-check (pull_request) Successful in 10s
CI / docker-ci (pull_request) Successful in 12s
CI / secret-scan (pull_request) Successful in 18s
2026-05-29 21:28:30 -05:00
ilia 7279c57955 ci: refresh workflow (re-run pipelines) 2026-05-29 21:28:28 -05:00
ilia e2f980ad1a ci: sync gitleaks allowlist
CI / skip-ci-check (pull_request) Successful in 12s
CI / docker-ci (pull_request) Successful in 14s
CI / secret-scan (pull_request) Successful in 18s
2026-05-29 21:24:22 -05:00
ilia 60c57bc351 ci: refresh workflow (re-run pipelines) 2026-05-29 21:24:13 -05:00
ilia ef5d4df233 ci: add homelab gitleaks allowlist
CI / skip-ci-check (pull_request) Successful in 10s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Successful in 21s
2026-05-29 21:19:59 -05:00
ilia d876a67244 ci: refresh workflow (re-run pipelines) 2026-05-29 21:19:56 -05:00
ilia 4fd6c4f24c ci: refresh workflow (re-run pipelines)
CI / skip-ci-check (pull_request) Successful in 9s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Failing after 27s
2026-05-29 20:31:01 -05:00
ilia eaa03d115b ci: refresh workflow (re-run pipelines)
CI / skip-ci-check (pull_request) Successful in 10s
CI / docker-ci (pull_request) Successful in 12s
CI / secret-scan (pull_request) Failing after 31s
2026-05-29 20:28:42 -05:00
ilia e6bd689a22 ci: sync workflow template
CI / skip-ci-check (pull_request) Successful in 9s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Failing after 36s
2026-05-29 20:26:18 -05:00
ilia d21741c5b0 ci: refresh workflow (re-run pipelines)
CI / skip-ci-check (pull_request) Successful in 10s
CI / docker-ci (pull_request) Successful in 11s
CI / secret-scan (pull_request) Failing after 25s
2026-05-29 20:20:47 -05:00
ilia 9cfe05bd96 ci: sync workflow template (node container + host fixes)
CI / skip-ci-check (pull_request) Successful in 9s
CI / docker-ci (pull_request) Successful in 14s
CI / secret-scan (pull_request) Failing after 25s
2026-05-29 20:15:07 -05:00
ilia c6fe7cbd3a ci: add homelab Gitea Actions workflow (ci-docker.yml)
CI / skip-ci-check (pull_request) Failing after 8s
CI / docker-ci (pull_request) Has been skipped
CI / secret-scan (pull_request) Has been skipped
2026-05-29 16:15:08 -05:00
ilia 85d5c120d4 Updated 2025-09-15 12:16:01 -04:00
ilia cb61d24bc3 Remove photos database from tracking 2025-09-03 17:20:51 -04:00
ilia b4d9f55691 Clean repository: remove photos from history, update gitignore 2025-09-03 17:20:31 -04:00
ilia 07e45950b6 Update gitignore and add run script 2025-09-03 17:13:36 -04:00
ilia 0e66b2253f Update project documentation and structure; enhance README, finalize project reorganization, and improve testing standards. 2025-09-03 17:07:17 -04:00
ilia f4a83b3c40 remove photos 2025-08-14 17:22:28 -08:00
ilia 455bdac187 Pushing code to migrate git 2025-08-15 00:57:39 -08:00
ilia 53f3e8a44d Add comprehensive README documentation 2025-07-16 17:28:54 -08:00
ilia 79284d0a5c Add punimtag.py script and update requirements.txt 2025-07-16 12:52:02 -08:00
ilia 9cf63b887b Update requirements.txt with all dependencies 2025-07-15 18:48:37 -08:00
ilia 58931bfe59 Add requirements.txt with installed dependencies 2025-07-15 18:47:04 -08:00
ilia 3533d3c165 Initial commit with .gitignore 2025-07-15 18:40:04 -08:00