github-actions[bot]
32fc939c7a
chore(beta): release 3.5.0-beta.0
2026-01-25 14:24:28 +00:00
github-actions[bot]
9c8b5e9fd6
chore(beta): release 3.4.0-beta.0
2026-01-22 13:00:33 +00:00
github-actions[bot]
f4da354ae7
chore(beta): release 3.3.0-beta.0
2026-01-21 16:06:24 +00:00
github-actions[bot]
237eeea5a6
chore(beta): release 3.2.5-beta.0
2026-01-18 14:35:30 +00:00
github-actions[bot]
cf38305f28
chore(beta): release 3.2.4-beta.0
2026-01-17 14:08:09 +00:00
github-actions[bot]
b613f8fbc7
chore(beta): release 3.2.3-beta.0
2026-01-16 14:19:26 +00:00
github-actions[bot]
e808e529cd
chore(beta): release 3.2.2-beta.0
2026-01-16 13:53:31 +00:00
github-actions[bot]
b5f06af126
chore(beta): release 3.2.1-beta.0
2026-01-16 13:35:53 +00:00
github-actions[bot]
7805e89bfe
chore(beta): release 3.2.0-beta.0
2026-01-16 08:43:36 +00:00
github-actions[bot]
d603567e21
chore(beta): release 3.1.0-beta.0
2026-01-15 20:03:57 +00:00
Paul Nothaft
c6fdd38e84
Merge pull request #115 from the-luap/fix/codeql-v4-upgrade
...
feat: pre-generated watermarks and mobile upload button improvements
2026-01-15 15:03:25 -05:00
Paul Nothaft
1be974afbb
feat: pre-generate watermarks for instant lightbox loading
...
Previously watermarks were applied on-the-fly when viewing photos in the
lightbox, causing 1+ minute load times for high-resolution images.
This change pre-generates watermarked versions during upload and when
watermark settings change, enabling instant image loading (~50-100ms).
- Add database migration for watermark_path tracking (061)
- Add watermarkGeneratorService for batch operations
- Extend watermarkService with save-to-disk capability
- Modify gallery endpoint to serve pre-generated files
- Add background regeneration when branding settings change
- Add npm script for migrating existing photos
Closes #112
2026-01-15 21:00:10 +01:00
github-actions[bot]
b12621b994
chore(main): release 2.4.0
2026-01-15 19:18:31 +00:00
github-actions[bot]
0f7551ab5b
chore(main): release 2.3.4
2026-01-15 15:24:23 +00:00
github-actions[bot]
e945bc9413
chore(main): release 2.3.3
2026-01-15 14:23:34 +00:00
github-actions[bot]
f29b77998b
chore(main): release 2.3.2
2026-01-15 13:02:43 +00:00
github-actions[bot]
7b5916d3b9
chore(main): release 2.3.1
2026-01-15 11:45:24 +00:00
github-actions[bot]
a0f38053d3
chore(beta): release 3.0.1-beta.0
2026-01-15 11:35:58 +00:00
github-actions[bot]
2add85eccf
chore: sync package.json versions to 2.3.0
2026-01-15 11:19:05 +00:00
github-actions[bot]
a2ff9eae3f
chore: sync package.json versions to 2.2.4
2026-01-08 22:24:23 +00:00
Paul Nothaft
049837f9d6
fix(nginx): add Docker DNS resolver for Swarm/dynamic service discovery
...
- Add resolver 127.0.0.11 directive for Docker's internal DNS
- Use variable-based proxy_pass to force per-request DNS resolution
- Fix 502 Bad Gateway error on root path in Docker Swarm deployments
The issue was that nginx caches DNS lookups at startup, but in Docker
Swarm where service IPs can change dynamically, this caused stale DNS
entries leading to 502 errors for proxied requests.
Bumps version to 2.2.3
2026-01-08 16:25:05 +01:00
Paul Nothaft
0ab8cbde7f
chore: bump version to 2.2.2
...
Includes fix for nginx backend port alignment (3001 → 3000) that caused
502 errors on root path in production Docker deployments.
2026-01-08 15:46:41 +01:00
Paul Nothaft
1931d73b60
fix: resolve branding display issues and invitation parsing errors
...
Fixes #84 - Logo and favicon not displaying on branding page and galleries
Fixes #85 - Invitations showing undefined expiresAt causing parseISO errors
Changes:
- Fix nginx.conf: Add ^~ modifier to /uploads location to prioritize proxy over static file matching
- Fix vite.config.ts: Add /uploads proxy for development environment
- Fix BrandingPage.tsx: Include logo_url from branding settings instead of expecting it from theme
- Fix adminUsers.js: Add transformInvitation() to convert snake_case DB fields to camelCase API response
- Fix publicSettings.js: Add branding_hide_powered_by to public settings API response
- Update README.md: Mark Multiple Administrators feature as implemented
- Bump version to 2.2.1
2026-01-08 13:56:02 +01:00
Paul Nothaft
892e47d017
feat: add multi-administrator support with RBAC and fix backup/restore for S3
...
## Multi-Administrator System
- Add role-based access control (RBAC) with predefined roles (Super Admin, Admin, Editor, Viewer)
- Add granular permissions system for all admin operations
- Add admin user management page with invite functionality
- Add email invitation system for new administrators
- Add permission middleware protecting all admin routes
- Add PermissionGate component for frontend permission checks
- Track event creator (created_by) for audit purposes
## Backup & Restore Fixes
- Fix S3 backup: endpoint URL handling, manifest loading, field name compatibility
- Fix S3 restore: add list-backups endpoint, transform S3 config from frontend format
- Fix PostgreSQL compatibility: add .returning('id') for insert operations
- Fix disk space check: use df command, handle unknown space gracefully
- Fix dry-run validation to not block on warnings
- Fix req.user → req.admin in restore routes
## Database Migrations
- 054: Add roles table with predefined roles
- 055: Add permissions table
- 056: Add role_permissions junction table
- 057: Add role_id to admin_users
- 058: Add admin_invitations table
- 059: Add admin email templates
- 060: Add created_by to events table
## Other Improvements
- Update .gitignore to exclude planning docs and local backup directory
- Remove SQLite database file from tracking
- Add i18n translations for user management (EN/DE)
2026-01-07 17:10:46 +01:00
Claude
68a9dc5749
Add comprehensive video support to galleries
...
This commit implements full video upload, storage, streaming, and playback functionality
for the PicPeak photo sharing platform, allowing users to upload and view videos alongside
photos in galleries.
Backend Changes:
- Added video processing dependencies (fluent-ffmpeg, @ffmpeg-installer/ffmpeg)
- Created videoProcessor.js service for video metadata extraction and thumbnail generation
- Updated photoProcessor.js to handle both images and videos
- Modified adminPhotos.js to accept video files with 500MB size limit
- Enhanced gallery.js with HTTP range request support for video streaming
- Expanded fileSecurityUtils.js with video MIME types and magic number validation
- Added database migration for video support columns (media_type, duration, codecs, dimensions)
Frontend Changes:
- Updated TypeScript types to include video metadata fields
- Created VideoPlayer.tsx component with custom controls
- Modified PhotoUpload.tsx to accept video files (.mp4, .webm, .mov, .avi)
- Updated UserPhotoUpload.tsx for guest video uploads
- Enhanced PhotoGrid.tsx with video badges and duration display
- Modified PhotoLightbox.tsx to conditionally render VideoPlayer for videos
Database Schema:
- Added media_type column ('image' | 'video')
- Added mime_type, duration, video_codec, audio_codec columns
- Added width and height columns for media dimensions
- Migrated existing photos to media_type 'image'
Features:
- Video thumbnail generation from video frames
- Streaming support with range requests for efficient playback
- Video duration display on thumbnails
- Play button indicators on video items
- Full-featured video player with playback controls
- Support for MP4, WebM, MOV, and AVI formats
2025-11-28 17:53:56 +01:00
paul
bce5f749b1
Merge remote-tracking branch 'upstream/main'
Build and Push Docker Images / build-backend (push) Failing after 13m5s
Build and Push Docker Images / build-frontend (push) Failing after 2m55s
Build and Push Docker Images / summary (push) Successful in 3s
2025-11-25 22:43:48 +02:00
Claude
14c4bc17f3
Fix security vulnerabilities detected by Trivy
...
- CVE-2025-64756: glob CLI command injection - added override to use glob ^11.1.0
- CVE-2025-13466: body-parser DoS - added override to use body-parser ^2.2.1
- CVE-2025-64718: js-yaml prototype pollution - updated to js-yaml ^4.1.1
- BusyBox vulnerabilities (netstat, tar) - added apk upgrade to all Dockerfiles
Changes:
- backend/package.json: Updated js-yaml, added overrides for glob, body-parser
- frontend/package.json: Added overrides for glob, js-yaml
- All Dockerfiles: Added 'apk upgrade --no-cache' to get latest security patches
- backend/Dockerfile.dev: Updated from node:18-alpine to node:20-alpine
2025-11-25 20:35:59 +00:00
Gitea Actions Bot
f29e9db99d
chore: bump version to 1.1.15 (backend + frontend)
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-10-29 11:30:46 +00:00
paul
69538b86ea
Fix mobile overlay and deps per #43
continuous-integration/drone/pr Build is passing
Test and Lint / backend-test (pull_request) Successful in 1m24s
Test and Lint / frontend-test (pull_request) Successful in 1m59s
2025-10-29 12:19:43 +01:00
Gitea Actions Bot
b76e45cb54
chore: bump version to 1.1.14 (backend + frontend)
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-10-20 12:41:34 +00:00
Gitea Actions Bot
07759a0e40
chore: bump version to 1.1.13 (backend + frontend)
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-10-15 05:29:19 +00:00
Paul Nothaft
52f8f1f738
Upgrade nodemailer to 7.0.7 (GHSA-mm7p-fcc7-pg87)
Test and Lint / backend-test (push) Successful in 1m23s
Test and Lint / frontend-test (push) Successful in 1m53s
2025-10-13 21:11:38 +02:00
Paul Nothaft
e731e7b47c
Address tar-fs CVE-2025-59343
Test and Lint / backend-test (push) Successful in 1m21s
Test and Lint / frontend-test (push) Has been cancelled
2025-10-13 21:09:52 +02:00
Gitea Actions Bot
f20472ca26
chore: bump version to 1.1.11 (backend + frontend)
2025-10-12 19:23:19 +00:00
Gitea Actions Bot
87f4526220
chore: bump version to 1.1.10 (backend + frontend)
2025-10-12 19:18:37 +00:00
Gitea Actions Bot
d42a11680f
chore: bump version to 1.1.9 (backend + frontend)
2025-10-06 13:18:43 +00:00
Gitea Actions Bot
38dd74b893
chore: bump version to 1.1.8 (backend + frontend)
2025-10-03 05:19:52 +00:00
Gitea Actions Bot
2fe32e9a69
chore: bump backend version to 1.1.5
2025-09-27 05:59:32 +00:00
Gitea Actions Bot
fb739f221d
chore: bump version to 1.1.4 (backend + frontend)
2025-09-24 15:39:34 +00:00
Gitea Actions Bot
a4595e2ab2
chore: bump backend version to 1.1.3
2025-09-22 20:50:54 +00:00
Gitea Actions Bot
cab5b0d795
chore: bump backend version to 1.1.2
2025-09-22 17:08:29 +00:00
Gitea Actions Bot
e0865b81b6
chore: bump backend version to 1.1.1
2025-09-21 20:47:47 +00:00
paul
39d2244e1e
chore: switch versioning workflows to manual triggers
2025-09-19 22:31:55 +02:00
Gitea Actions Bot
eb626be22c
chore: bump version to 1.0.130 (backend + frontend)
2025-09-19 14:47:37 +00:00
paul
2a4d38813f
feat: overhaul public landing page and backup tooling
2025-09-19 16:39:18 +02:00
Gitea Actions Bot
ad9c6d63d3
chore: bump backend version to 1.0.129
2025-09-18 14:54:28 +00:00
Gitea Actions Bot
e51347d0a1
chore: bump version to 1.0.128 (backend + frontend)
2025-09-18 14:05:43 +00:00
paul
71e7179145
Harden auth cookies and fix native schema for event creation
Mirror to GitHub / mirror (push) Successful in 45s
Test and Lint / backend-test (push) Successful in 1m37s
Test and Lint / frontend-test (push) Successful in 2m8s
Version and Release / version-bump (push) Successful in 1m0s
Version and Release / trigger-drone (push) Successful in 3s
2025-09-18 15:59:26 +02:00
Gitea Actions Bot
bda76ff513
chore: bump backend version to 1.0.125
2025-09-18 10:49:54 +00:00
Gitea Actions Bot
0d77a3a0a8
chore: bump version to 1.0.124 (backend + frontend)
2025-09-14 14:25:37 +00:00