Commit Graph
23 Commits
Author SHA1 Message Date
tanyar09 064daf47f7 documentation 2026-03-20 15:46:00 +00:00
tanyar09 8992c07c8e feat: enhance tag addition functionality in PhotoTagDialog
CI / skip-ci-check (pull_request) Successful in 16s
CI / lint-and-type-check (pull_request) Successful in 1m0s
CI / python-lint (pull_request) Successful in 40s
CI / test-backend (pull_request) Successful in 3m42s
CI / build (pull_request) Successful in 3m31s
CI / secret-scanning (pull_request) Successful in 23s
CI / dependency-scan (pull_request) Successful in 21s
CI / sast-scan (pull_request) Successful in 1m35s
CI / workflow-summary (pull_request) Successful in 14s
- Introduced a new input field for entering new tag names alongside selecting existing tags.
- Updated the handleAddTag function to support adding multiple tags at once.
- Improved user experience with alerts for empty tag submissions and success feedback.
- Enhanced UI with clear labeling and instructions for tag management.
2026-02-10 18:54:26 +00:00
tanyar09 d0dd5c82ea feat: add click logging for admin frontend
CI / skip-ci-check (pull_request) Successful in 8s
CI / lint-and-type-check (pull_request) Successful in 54s
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / python-lint (pull_request) Has been cancelled
- Add backend click logging utility with file rotation and retention
- Add POST /api/v1/log/click endpoint for logging click events
- Add frontend click logger service with batching and context extraction
- Add global click handler in App.tsx for authenticated users
- Add log cleanup script for old log files
- Update QUICK_LOG_REFERENCE.md with click log documentation

Logs are written to /opt/punimtag/logs/admin-clicks.log with:
- Auto-rotation at 10MB (keeps 5 backups)
- 30-day retention
- Format: timestamp | username | page | element_type | element_id | element_text | context
2026-02-05 17:50:15 +00:00
tanyar09 b0c9ad8d5d feat: enhance tag management in Tags page
CI / skip-ci-check (pull_request) Successful in 10s
CI / lint-and-type-check (pull_request) Successful in 56s
CI / python-lint (pull_request) Successful in 35s
CI / test-backend (pull_request) Successful in 3m44s
CI / build (pull_request) Successful in 3m26s
CI / secret-scanning (pull_request) Successful in 15s
CI / dependency-scan (pull_request) Successful in 16s
CI / sast-scan (pull_request) Successful in 1m29s
CI / workflow-summary (pull_request) Successful in 6s
- Added functionality to create new tags and update existing tags in bulk.
- Implemented local state management for tags to improve user experience.
- Updated UI to allow users to enter new tag names alongside selecting existing ones.
- Ensured tags are reloaded in the parent component after creation for synchronization.
2026-02-05 17:27:41 +00:00
tanyar09 09ee8712aa feat: extend people search to first/middle/last/maiden names and fix port binding issue
- Backend: Updated list_people_with_faces to search by first_name, middle_name, last_name, and maiden_name
- Frontend: Updated Modify page search UI and API client to support extended search
- Frontend: Updated Help page documentation for new search capabilities
- Infrastructure: Added start-api.sh wrapper script to prevent port 8000 binding conflicts
- Infrastructure: Updated PM2 config with improved kill_timeout and restart_delay settings
2026-02-05 16:57:47 +00:00
tanyar09 7a981b069a feat: Enhance logging and error handling for job streaming and photo uploads
CI / skip-ci-check (pull_request) Successful in 8s
CI / lint-and-type-check (pull_request) Successful in 1m12s
CI / python-lint (pull_request) Successful in 36s
CI / test-backend (pull_request) Successful in 3m47s
CI / build (pull_request) Successful in 3m28s
CI / secret-scanning (pull_request) Successful in 14s
CI / dependency-scan (pull_request) Successful in 13s
CI / sast-scan (pull_request) Successful in 1m33s
CI / workflow-summary (pull_request) Successful in 5s
- Added new logging scripts for quick access to service logs and troubleshooting.
- Updated job streaming API to support authentication via query parameters for EventSource.
- Improved photo upload process to capture and validate EXIF dates and original modification times.
- Enhanced error handling for file uploads and EXIF extraction failures.
- Introduced new configuration options in ecosystem.config.js to prevent infinite crash loops.
2026-02-04 19:30:05 +00:00
tanyar09 46dffc6ade - Add radio buttons to choose between 'Scan from Local' and 'Scan from Network'
CI / skip-ci-check (pull_request) Successful in 10s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Local mode: Use File System Access API (Chrome/Edge/Safari) or webkitdirectory (Firefox) to read folders from browser
- Local mode: Browser reads files and uploads them via HTTP (no server-side filesystem access needed)
- Network mode: Type network paths or use Browse Network button for server-side scanning
- Add 'Start Scanning' button for local mode (separate from folder selection)
- Update API client to handle FormData uploads correctly (remove Content-Type header)
- Update Help page documentation with new scan mode options
- Add progress tracking for local file uploads"
2026-01-30 19:06:57 +00:00
tanyar09 42101ea7e7 feat: Add exifread library for enhanced EXIF date extraction
CI / skip-ci-check (pull_request) Successful in 10s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Introduced the exifread library to improve reliability in extracting EXIF date from images.
- Updated the extract_exif_date function to prioritize exifread for date extraction.
- Enhanced logging for successful and failed date extractions.
- Added validation for extracted dates to ensure they fall within a valid range.
2026-01-30 17:19:52 +00:00
tanyar09 d89238facf refactor: Enhance EXIF date extraction in photo_service
CI / skip-ci-check (pull_request) Successful in 10s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Improved logging for EXIF date extraction process, including success and failure messages.
- Updated methods to access EXIF data using modern and deprecated APIs.
- Added validation for extracted dates to ensure they fall within a valid range.
- Enhanced error handling for various exceptions during EXIF data access and date parsing.
2026-01-30 16:31:48 +00:00
tanyar09 f4bdb5d9b3 feat: Implement directory browsing functionality
CI / skip-ci-check (pull_request) Successful in 10s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Add `browseDirectory` API endpoint to list directory contents.
- Create `FolderBrowser` component for user interface to navigate directories.
- Update `Scan` page to integrate folder browsing feature.
- Define `DirectoryItem` and `BrowseDirectoryResponse` schemas for API responses.
2026-01-30 16:09:24 +00:00
tanyar09 6688a654d3 chore: Clean up documentation and update various files
CI / skip-ci-check (pull_request) Successful in 8s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Remove obsolete documentation files
- Update .env_example
- Update ManageUsers components
- Update pending_photos API
- Add verify-all-users script
2026-01-29 19:52:48 +00:00
tanyar09 6cf5b0dae1 docs: Add PostgreSQL remote connection configuration steps
- Add PostgreSQL remote connection setup section to DEPLOY_FROM_SCRATCH.md
- Update deploy_from_scratch.sh to display PostgreSQL remote connection instructions
- Remove blocking pause from deployment script (informational only)
- Update admin-frontend API client to handle empty VITE_API_URL for proxy setups
2026-01-29 19:51:45 +00:00
tanyar09 31d2415b86 docs: remove issue/symptom/cause sections, keep only configuration steps
Simplify reverse proxy documentation to focus on configuration
instructions only, removing explanatory issue/symptom/cause sections.
2026-01-29 19:33:17 +00:00
tanyar09 e0712ea520 docs: add reverse proxy setup instructions for HTTPS deployment
- Add Step 11 with Caddy and nginx configuration examples
- Update Step 2.2 to explain VITE_API_URL setup for proxy vs direct access
- Add common fix for API requests returning HTML instead of JSON
- Document the critical requirement to route /api/* before static files

This documents the fixes for HTTPS proxy deployment where API requests
were being served as HTML instead of being forwarded to the backend.
2026-01-29 19:30:22 +00:00
tanyar09 f224a160e3 docs: add from-scratch deploy script and env templates
CI / skip-ci-check (pull_request) Successful in 7s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
2026-01-28 19:20:35 +00:00
tanyar09 1d35f4ab5a fix: cast date filters in viewer search
CI / skip-ci-check (pull_request) Successful in 7s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
2026-01-28 18:15:51 +00:00
tanyar09 830c7bcaa6 feat: Update video thumbnail handling in viewer frontend
CI / skip-ci-check (pull_request) Successful in 6s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Refactored video thumbnail generation logic to fetch thumbnails from the backend instead of generating them locally.
- Removed unused placeholder generation code for remote video URLs.
- Improved error handling for backend thumbnail fetch failures, returning appropriate responses.
- Enhanced caching strategy for fetched thumbnails to optimize performance.

These changes streamline the video thumbnail process and improve the overall user experience in the viewer interface.
2026-01-28 17:55:58 +00:00
tanyar09 70923e0ecf feat: Enhance photo and video handling in admin frontend
CI / skip-ci-check (pull_request) Successful in 7s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
- Added media_type to PhotoSearchResult interface to distinguish between images and videos.
- Updated PhotoViewer component to support video playback, including URL handling and preloading logic.
- Modified openPhoto function in Search page to open videos correctly.
- Enhanced backend API to serve video files with range request support for better streaming experience.

These changes improve the user experience by allowing seamless viewing of both images and videos in the application.
2026-01-28 17:45:45 +00:00
tanyar09 70cfd63ca1 fix: support HTTPS proxy by using relative API paths
CI / skip-ci-check (pull_request) Successful in 1m51s
CI / lint-and-type-check (pull_request) Successful in 2m32s
CI / python-lint (pull_request) Successful in 2m16s
CI / test-backend (pull_request) Successful in 4m11s
CI / build (pull_request) Successful in 4m59s
CI / secret-scanning (pull_request) Successful in 1m59s
CI / dependency-scan (pull_request) Successful in 1m58s
CI / sast-scan (pull_request) Successful in 3m7s
CI / workflow-summary (pull_request) Successful in 1m50s
- Update API client to use relative paths when VITE_API_URL is empty
- Fix EventSource URLs to use window.location.origin for proxy compatibility
- Update image/video URL construction to use relative paths
- Add debug logging for API response troubleshooting
- All API calls now work correctly when served through HTTPS proxy

This fixes mixed content errors and allows the admin frontend to work
when accessed via HTTPS domain with reverse proxy (Caddy/nginx).
2026-01-23 18:59:46 +00:00
tanyar09 afaacf7403 feat: Enhance photo handling in admin frontend
CI / skip-ci-check (pull_request) Successful in 1m51s
CI / lint-and-type-check (pull_request) Successful in 2m29s
CI / python-lint (pull_request) Successful in 2m15s
CI / test-backend (pull_request) Successful in 4m10s
CI / build (pull_request) Successful in 4m56s
CI / secret-scanning (pull_request) Successful in 1m58s
CI / dependency-scan (pull_request) Successful in 1m57s
CI / sast-scan (pull_request) Successful in 3m3s
CI / workflow-summary (pull_request) Successful in 1m49s
- Added a new API method to fetch photo images as blobs, enabling direct image retrieval.
- Updated image source paths in multiple components to use the base URL from the API client for consistency.
- Implemented cleanup for blob URLs in the ReportedPhotos component to prevent memory leaks.
- Improved user experience by displaying loading states for images in the ReportedPhotos component.

These changes improve the efficiency and reliability of photo handling in the admin interface.
2026-01-22 18:33:44 +00:00
tanyar09 845273cfd3 Merge branch 'dev' of https://git.levkin.ca/ilia/punimtag into dev
CI / skip-ci-check (pull_request) Successful in 1m49s
CI / lint-and-type-check (pull_request) Successful in 2m28s
CI / python-lint (pull_request) Successful in 2m15s
CI / test-backend (pull_request) Successful in 4m7s
CI / build (pull_request) Failing after 2m48s
CI / secret-scanning (pull_request) Successful in 1m57s
CI / dependency-scan (pull_request) Successful in 1m54s
CI / sast-scan (pull_request) Successful in 3m3s
CI / workflow-summary (pull_request) Failing after 1m47s
2026-01-21 19:59:27 +00:00
tanyar09 ddc50efd7c Merge branch 'dev' of https://git.levkin.ca/ilia/punimtag into dev 2026-01-19 20:43:09 +00:00
tanyar09 42fbf8d496 chore: Add PM2 ecosystem config to .gitignore
This commit updates the .gitignore file to include the PM2 ecosystem configuration file, ensuring that server-specific paths are ignored during version control. This change helps maintain a cleaner repository by excluding environment-specific configurations.
2026-01-19 20:38:31 +00:00