You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
add GitHub Actions workflow for Docker image builds (4029559)
admin: external media import modal + thumbnail fixes for reference events\n\n- Photos tab: replace inline external folder picker with a modal opened via "Import from External Folder" button next to "Upload Photos"; add info that all pictures in the selected folder will be imported.\n- Admin thumbnails: align list endpoint to /api/admin/photos/:eventId/photos and always return thumbnail_url to trigger on-demand generation; normalize external paths to avoid duplicated folder segments (e.g., individual/individual) that broke resolver; improve thumbnail logging.\n- Use authenticated image fetching on admin feedback pages to prevent 401s in automation.\n- i18n: add backup.external.warning strings; complete German backup/restore coverage; add common keys (notSet, of, up, select, selected).\n- Docs: add Local (npm) setup for EXTERNAL_MEDIA_ROOT in deployment guide.\n\nRefs #17 – gallery feature request: #17 (49c7778)
admin: refine header layout and logo placement (d64e7d0)
completely rewrite GitHub mirror to create new history from target commit (febacb7)
consolidate setup scripts and guides into unified solution (29a8ff9)
docker: add PUID/PGID and user mapping to avoid bind mount permission issues; feat(setup): prompt for admin email interactively; docs: PUID/PGID in .env.example (410a33f)
enhance mirror-to-github workflow with commit-based history filtering (b4b09c1)
exclude Claude contributor from GitHub mirror workflow (abbcdb1)
fix analytics dashboard and implement complete Umami integration (45ce988)
gallery/filters: add Rated and Commented filters (UI + backend).\n\n- UI: add star (Rated) and message (Commented) buttons to feedback filter bars (desktop + mobile)\n- Backend: support filter=rated, commented, and combinations via aggregate counts/queries (b03760a)
gallery: add quick Like/Favorite actions on thumbnails across layouts (6368f10)
gallery: always-visible feedback indicators on grid tiles; fallback image rendering in lightbox/hero; auto-auth from shared-link token; fix external photo resolver\n\n- GridGallery: bottom-left icons for like/rated/comment on every tile\n- Hero layout grid: added same indicators (non-intrusive icons)\n- Lightbox/Hero: add fallbackSrc to display thumbnail if original fails\n- GalleryAuth: auto-store token from /gallery/:slug/:token and hydrate event\n- Backend gallery photo route: use resolvePhotoFilePath for external-media\n\nfix(admin): move photo feedback badges to bottom-right on admin grid tiles\n\nfix(dashboard): add missing i18n keys for activity types + fallback to formatter\n\nfix(admin/feedback): correct thumbnail URL base + robust date parsing\n\nRefs: #19 (6948aaa)
gallery: compact vertical icon-only feedback filter in PhotoFilterBar; remove wide buttons to prevent overflow\n\n- Desktop: vertical icon stack (All/Grid, Likes, Favorites) outside scroll area\n- Mobile: vertical icon stack below categories\n- Keeps existing category bar layout and count\n\nRefs: #19 (465f997)
implement 4 new features with bug fixes and refactoring plan (77a4bfd)
implement comprehensive backup and restore system with S3 support (f6a79c8)
implement feedback filter for liked/favorited photos (Issue #17) (41857ec)
implement gallery feedback system with version tracking for backups (dc1419c)
implement gallery logo customization (Issue #17) (909e760)
lightbox: keep feedback usable while navigating (6368f10), closes #19
native: auto-serve SPA when dist exists (unless SERVE_FRONTEND=false); add clear logging; serve index.html for /admin (fb16b7b)
native: build frontend and serve SPA from backend (SERVE_FRONTEND); fix Cannot GET /admin on native installs (9fe10bc)
native: serve built frontend from backend; build frontend during install/update; ensure env flags (SERVE_FRONTEND, FRONTEND_DIR) (61ad2d6)
overhaul public landing page and backup tooling (2a4d388)
select: add per-tile checkbox selection in Admin grid and all gallery layouts; tile click opens viewer; checkbox toggles selection; auto-enable selection mode; add testids (9fda54b)
setup/docker: auto-set PUID/PGID from invoking user and chown bind-mount folders; create missing data/events dirs (0618b78)
setup: remove --admin-password; print admin credentials from ADMIN_CREDENTIALS.txt; fix ADMIN_URL to avoid /admin/admin; update native service commands (84d0f63)
correct password generator function name in reset password route (65d796b)
correct script name in Gitea mirror workflow (828d6bc)
cors: scope CORS to /api only and avoid throwing on disallowed origins; prevents static asset 500s on native (90bb21e)
critical database connection pool exhaustion issues (8588133)
force github-release plugin to use GitHub API instead of Gitea (558a966)
frontend: add missing externalMedia service and mount admin external-media routes; verify Vite build (ab324f1)
gallery/filters: always apply global liked/favorited filters by aggregate counts (ignore guest_id); resolves mismatch between client guest_id and server identifier (526dcd8)
gallery/filters: make feedback filters work globally when no guest_id is provided; remove guest_id from client photos query\n\n- Backend /api/gallery/:slug/photos: if filter present and guest_id missing, filter by like_count/favorite_count\n- Frontend useGalleryPhotos: stop passing random guestId (does not match server guest_identifier)\n\nThis makes Liked/Favorited filters reflect photos with aggregate feedback counts as expected. (5b2561b)
gallery/sidebar: compact icon-only feedback filter in sidebar (vertical, small) to avoid overflow; use GalleryFilter variant=compact (ff89f96)
resolve SIGPIPE error in GitHub mirror workflow file cleanup (b7c8953)
resolve translation interpolation issue for download button (c1e10f1)
setup/native: correct repo URL, paths, and systemd for native install; support sqlite in production knex config (87b8414)
setup/native: Debian 12 compatibility (reliable RAM detection, sudo-less run_as_user, git safe.directory); ensure SQLite data dir; use user for migrate (dc482e6)
setup/native: handle forced updates safely by fetch+checkout/reset instead of pull; stable on rewritten histories (3697344)
setup/update: detect native installs first (/opt/picpeak/app/backend or systemd unit); avoid false docker updates on root (adf576f)
simplify Drone github-release step to avoid shell parsing issues (94f10e1)
stabilize uploads and guest feedback filters (aaaf598)
update all deployment guide links in README.md (6389b9d)
update deployment guide with critical URL configuration and nginx port fixes (1cadce1)
update form-data and multer to address security vulnerabilities (7750170)
update Gitea mirror workflow to selectively remove scripts (296430e)
update GitHub mirror action to support fine-grained personal access tokens (827eb48)
use admin API for Umami config in analytics page (a54a2c0)
use plugins/gitea-release for Drone CI/CD (0c783c6)
use plugins/github-release for Drone CI/CD (f926cd3)
Documentation
add minimum system requirements section to README (4615a5d)
add PUID/PGID note for Docker bind mounts to avoid permission issues (0178e71)
add transparency note about AI-assisted development (35e360d)
add warnings about $ character in Docker Compose passwords (87d1761)
clarify VITE_API_URL usage; remove FRONTEND_API_URL; add storage vars; simplify compose mounts and external DB example (refs #18) (758c085)