Commit Graph
32 Commits
Author SHA1 Message Date
ilia b68d7d6507 Add confidence fit + quality re-score tooling (Phase 3).
CI / skip-ci-check (pull_request) Successful in 30s
CI / docker-ci (pull_request) Successful in 31s
CI / python-lint (pull_request) Failing after 32s
CI / secret-scan (pull_request) Successful in 38s
CI / admin-unit (pull_request) Successful in 50s
CI / e2e (pull_request) Successful in 3m11s
CI / viewer-unit (pull_request) Successful in 3m33s
Support distance→confidence knots from identified pairs and match_decisions, keep legacy curve until a knots file is applied, and re-score face quality without re-detecting.
2026-08-05 11:33:42 -04:00
ilia 610a70d228 Sprint B: mobile filters, touch actions, skeleton grid, progressive viewer. 2026-08-04 21:58:17 -04:00
ilia 6917cc8407 Docs: Sprint A UX (match-all, slim payloads, deploy-viewer).
CI / skip-ci-check (pull_request) Successful in 29s
CI / docker-ci (pull_request) Successful in 32s
CI / python-lint (pull_request) Successful in 32s
CI / secret-scan (pull_request) Successful in 37s
CI / viewer-unit (pull_request) Successful in 1m38s
CI / admin-unit (pull_request) Successful in 1m51s
CI / e2e (pull_request) Failing after 2m3s
2026-08-04 21:48:43 -04:00
ilia 15633a1d37 Switch viewer PM2 template to next start and add deploy-viewer.sh.
DEV should build once then run production Next.js instead of long-lived next dev.
2026-08-04 21:48:25 -04:00
ilia 688c6f7d8e Merge pull request 'Sync master: scrub public docs, untrack internal notes/caches, roadmap update' (#71) from dev into master
CI / skip-ci-check (push) Successful in 19s
CI / docker-ci (push) Successful in 20s
CI / secret-scan (push) Successful in 24s
CI / admin-unit (push) Successful in 38s
CI / viewer-unit (push) Successful in 1m4s
CI / e2e (push) Successful in 3m30s
2026-07-26 14:52:54 -05:00
ilia d6b546c95e chore: deduplicate env templates into .env.example
CI / skip-ci-check (push) Successful in 18s
CI / docker-ci (push) Successful in 19s
CI / secret-scan (push) Successful in 32s
CI / viewer-unit (push) Successful in 2m42s
CI / admin-unit (push) Successful in 3m22s
CI / e2e (push) Successful in 4m17s
CI / skip-ci-check (pull_request) Successful in 18s
CI / docker-ci (pull_request) Successful in 21s
CI / secret-scan (pull_request) Successful in 31s
CI / viewer-unit (pull_request) Successful in 1m30s
CI / admin-unit (pull_request) Successful in 2m26s
CI / e2e (pull_request) Failing after 7m8s
2026-07-26 15:30:17 -04:00
ilia 8e297d80e5 ci: add local pre-commit gitleaks hook
CI / skip-ci-check (push) Successful in 11s
CI / docker-ci (push) Successful in 13s
CI / secret-scan (push) Successful in 18s
2026-07-13 15:00:20 -05:00
Tanya ff47c87e41 feat: web video transcoding, admin playback, and viewer fixes
CI / skip-ci-check (pull_request) Successful in 1m4s
CI / lint-and-type-check (pull_request) Has been cancelled
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
Add on-demand H.264/AAC web playback (RQ, ffmpeg) with API routes and
Next.js proxies; extend admin UI with WebPlaybackVideo and shared hooks.
Store transcode cache beside pending-photos (WEB_VIDEO_CACHE_DIR / UPLOAD_DIR)
and ignore data/web_videos. Centralize FastAPI URL helpers, optional Vite
and Next base paths for subfolder deploy, and fix modal reopen by using
router.replace when closing the home photo viewer. Include migration,
install scripts, deployment doc updates, and CI admin build env tweak.

Made-with: Cursor
2026-03-25 15:33:05 -04: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 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 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 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
Tanya 75a4dc7a4f chore: Update ESLint configuration and clean up unused code in admin frontend
CI / skip-ci-check (push) Successful in 1m26s
CI / lint-and-type-check (push) Successful in 2m2s
CI / python-lint (push) Failing after 1m26s
CI / test-backend (push) Failing after 1m27s
CI / build (push) Failing after 1m34s
CI / secret-scanning (push) Successful in 1m39s
CI / dependency-scan (push) Successful in 1m32s
CI / sast-scan (push) Successful in 2m49s
CI / skip-ci-check (pull_request) Successful in 1m25s
CI / workflow-summary (push) Successful in 1m24s
CI / lint-and-type-check (pull_request) Successful in 2m2s
CI / python-lint (pull_request) Failing after 1m24s
CI / test-backend (pull_request) Failing after 1m25s
CI / build (pull_request) Failing after 1m34s
CI / secret-scanning (pull_request) Successful in 1m39s
CI / dependency-scan (pull_request) Successful in 1m32s
CI / sast-scan (pull_request) Successful in 2m47s
CI / workflow-summary (pull_request) Successful in 1m25s
This commit modifies the ESLint configuration to include an additional TypeScript project file and adjusts the maximum line length to 120 characters. It also removes unused functions and imports across various components in the admin frontend, enhancing code clarity and maintainability. These changes contribute to a cleaner codebase and improved development experience.
2026-01-06 13:53:41 -05:00
Tanya de2144be2a feat: Add new scripts and update project structure for database management and user authentication
This commit introduces several new scripts for managing database operations, including user creation, permission grants, and data migrations. It also adds new documentation files to guide users through the setup and configuration processes. Additionally, the project structure is updated to enhance organization and maintainability, ensuring a smoother development experience for contributors. These changes support the ongoing transition to a web-based architecture and improve overall project functionality.
2026-01-06 13:53:24 -05:00
Tanya 32be5c7f23 feat: Enhance auth database setup and environment variable loading
This commit improves the setup of the authentication database by adding a new function to create necessary tables for both frontends. It also ensures that environment variables are loaded from a `.env` file before any database operations, enhancing configuration management. Additionally, minor updates are made to related scripts for better clarity and functionality.
2026-01-02 13:28:07 -05:00
Tanya 68d280e8f5 feat: Add new analysis documents and update installation scripts for backend integration
This commit introduces several new analysis documents, including Auto-Match Load Performance Analysis, Folder Picker Analysis, Monorepo Migration Summary, and various performance analysis documents. Additionally, the installation scripts are updated to reflect changes in backend service paths, ensuring proper integration with the new backend structure. These enhancements provide better documentation and streamline the setup process for users.
2025-12-30 15:04:32 -05:00
tanyar09 999e79f859 refactor: Improve person creation and identification logic with optional fields handling
This commit refactors the person creation and identification logic to handle optional fields more effectively. The `date_of_birth` field in the `PersonCreateRequest` schema is now optional, and the frontend has been updated to trim whitespace from name fields before submission. Additionally, the identification logic has been enhanced to ensure that only non-empty names are considered valid. Documentation has been updated to reflect these changes.
2025-11-27 13:02:02 -05:00
tanyar09 100d39c556 feat: Add cleanup functionality for pending photos and database management
This commit introduces new API endpoints for cleaning up files and records related to pending photos. The frontend has been updated to include buttons for admins to trigger cleanup operations, allowing for the deletion of files from shared space and records from the pending_photos table. Additionally, the README has been updated with instructions for granting DELETE permissions on auth database tables, and a script has been added to automate this process. Documentation has been updated to reflect these changes.
2025-11-24 13:57:27 -05:00
tanyar09 661e812193 feat: Enhance API startup script and add file hash management for photos
This commit improves the `run_api_with_worker.sh` script by ensuring the virtual environment is created if it doesn't exist and dependencies are installed. It also adds a check to ensure the database schema is up to date. Additionally, new functionality has been introduced to calculate and store file hashes for uploaded photos, preventing duplicates. The database schema has been updated to include a `file_hash` column in the `photos` table, along with an index for efficient querying. The frontend has been updated to handle warnings for duplicate photos during the review process. Documentation has been updated to reflect these changes.
2025-11-24 13:16:41 -05:00
tanyar09 93cb4eda5b feat: Implement auth user management API and UI for admin users
This commit introduces a new Auth User management feature, allowing admins to create, update, delete, and list users in the auth database. A dedicated API has been implemented with endpoints for managing auth users, including validation for unique email addresses. The frontend has been updated to include a Manage Users page with tabs for backend and frontend users, enhancing the user experience. Additionally, modals for creating and editing auth users have been added, along with appropriate error handling and loading states. Documentation has been updated to reflect these changes.
2025-11-21 13:33:13 -05:00
tanyar09 1d8ca7e592 feat: Add Approve Identified page and API for pending identifications
This commit introduces a new Approve Identified page in the frontend, allowing users to view and manage pending identifications. The page fetches data from a new API endpoint that lists pending identifications from the auth database. Additionally, the necessary API routes and database session management for handling pending identifications have been implemented. The Layout component has been updated to include navigation to the new page, enhancing the user experience. Documentation has been updated to reflect these changes.
2025-11-18 15:14:16 -05:00
tanyar09 8caa9e192b feat: Add PostgreSQL support and configuration setup for PunimTag
This commit introduces PostgreSQL as the default database for the PunimTag application, along with a new `.env.example` file for configuration. A setup script for PostgreSQL has been added to automate the installation and database creation process. The README has been updated to reflect these changes, including instructions for setting up PostgreSQL and using the `.env` file for configuration. Additionally, the database session management has been enhanced to support PostgreSQL connection pooling. Documentation has been updated accordingly.
2025-11-14 12:44:12 -05:00
tanyar09 b1cb9decb5 feat: Add date filters for face identification and enhance API for improved querying
This commit introduces new date filters for the face identification process, allowing users to filter faces based on the date taken and date processed. The API has been updated to support these new parameters, ensuring backward compatibility with legacy date filters. Additionally, the Identify component has been modified to incorporate these new filters in the user interface, enhancing the overall functionality and user experience. Documentation has been updated to reflect these changes.
2025-11-07 14:45:51 -05:00
tanyar09 f4f6223cd0 feat: Introduce CLI and GUI components for PunimTag desktop version
This commit adds a new command-line interface (CLI) and graphical user interface (GUI) components for the PunimTag desktop application. The `photo_tagger.py` script serves as the CLI entry point, enabling users to scan, process, and manage photos with facial recognition capabilities. The GUI includes a unified dashboard with various panels for identifying, modifying, and managing tags for photos. Additionally, comprehensive documentation has been created to guide users through installation and usage, ensuring a smooth experience. This update enhances the overall functionality and accessibility of the PunimTag application.
2025-11-06 13:33:16 -05:00
tanyar09 e74ade9278 feat: Add pose mode analysis and face width detection for improved profile classification
This commit introduces a comprehensive analysis of pose modes and face width detection to enhance profile classification accuracy. New scripts have been added to analyze pose data in the database, check identified faces for pose information, and validate yaw angles. The PoseDetector class has been updated to calculate face width from landmarks, which serves as an additional indicator for profile detection. The frontend and API have been modified to include pose mode in responses, ensuring better integration with existing functionalities. Documentation has been updated to reflect these changes, improving user experience and accuracy in face processing.
2025-11-06 13:26:25 -05:00
tanyar09 5174fe0d54 feat: Add database migration for processed column in photos and new utility scripts
This commit introduces a new Alembic migration to add a 'processed' column to the 'photos' table, enhancing the database schema to track photo processing status. Additionally, it includes new utility scripts for dropping and recreating all tables in the web database, as well as a script to display all tables and their structures. These changes improve database management and facilitate a fresh start for the web application, ensuring alignment with the updated schema.
2025-11-03 11:46:48 -05:00
tanyar09 68673ccdbe feat: Implement face detection improvements and cleanup script
This commit introduces significant enhancements to the face detection system, addressing false positives by updating configuration settings and validation logic. Key changes include stricter confidence thresholds, increased minimum face size, and improved aspect ratio requirements. A new script for cleaning up existing false positives from the database has also been added, successfully removing 199 false positive faces. Documentation has been updated to reflect these changes and provide usage instructions for the cleanup process.
2025-10-16 15:56:17 -04:00
tanyar09 ef7a296a9b feat: Complete migration to DeepFace with full integration and testing
This commit finalizes the migration from face_recognition to DeepFace across all phases. It includes updates to the database schema, core processing, GUI integration, and comprehensive testing. All features are now powered by DeepFace technology, providing superior accuracy and enhanced metadata handling. The README and documentation have been updated to reflect these changes, ensuring clarity on the new capabilities and production readiness of the PunimTag system. All tests are passing, confirming the successful integration.
2025-10-16 13:17:41 -04:00
tanyar09 d300eb1122 chore: Add configuration and documentation files for project structure and guidelines
This commit introduces several new files to enhance project organization and developer onboarding. The `.cursorignore` and `.cursorrules` files provide guidelines for Cursor AI, while `CONTRIBUTING.md` outlines contribution procedures. Additionally, `IMPORT_FIX_SUMMARY.md`, `RESTRUCTURE_SUMMARY.md`, and `STATUS.md` summarize recent changes and project status. The `README.md` has been updated to reflect the new project focus and structure, ensuring clarity for contributors and users. These additions aim to improve maintainability and facilitate collaboration within the PunimTag project.
2025-10-15 14:43:18 -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 455bdac187 Pushing code to migrate git 2025-08-15 00:57:39 -08:00