256 Commits

Author SHA1 Message Date
tanyar09
afaacf7403 feat: Enhance photo handling in admin frontend
All checks were successful
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
Some checks failed
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
6adc1f4a5c Merge pull request 'feat: Add photo management API endpoints for fetching, favoriting, reporting, and tagging photos' (#5) from fix/photos-paths into dev
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m49s
CI / lint-and-type-check (pull_request) Successful in 2m29s
CI / python-lint (pull_request) Successful in 2m13s
CI / test-backend (pull_request) Successful in 4m5s
CI / build (pull_request) Successful in 4m56s
CI / secret-scanning (pull_request) Successful in 1m56s
CI / dependency-scan (pull_request) Successful in 1m57s
CI / sast-scan (pull_request) Successful in 3m1s
CI / workflow-summary (pull_request) Successful in 1m47s
Reviewed-on: #5
2026-01-21 14:49:48 -05:00
dd8dd0808e feat: Add photo management API endpoints for fetching, favoriting, reporting, and tagging photos
All checks were successful
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 2m14s
CI / test-backend (pull_request) Successful in 4m7s
CI / build (pull_request) Successful in 4m58s
CI / secret-scanning (pull_request) Successful in 2m0s
CI / dependency-scan (pull_request) Successful in 1m54s
CI / sast-scan (pull_request) Successful in 3m6s
CI / workflow-summary (pull_request) Successful in 1m47s
- Implemented GET endpoint to retrieve photo details by ID, including associated faces and tags.
- Added GET endpoint for fetching adjacent photos based on date taken.
- Created POST endpoint to toggle favorites for photos, including user authentication checks.
- Developed POST and GET endpoints for reporting photos, with caching for report statuses.
- Introduced POST endpoint for bulk toggling of favorites.
- Implemented batch processing for checking report statuses.
- Added endpoint for managing tag linkages, including validation and error handling.
- Created upload endpoint for handling photo uploads with size and type validation.

These changes enhance the photo management capabilities of the application, allowing users to interact with photos more effectively.
2026-01-21 14:33:59 -05:00
f879e660a4 Merge pull request 'fix: prevent server crashes during photo processing' (#4) from fix/database-connection-crash-prevention into dev
All checks were successful
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 2m17s
CI / test-backend (pull_request) Successful in 4m9s
CI / build (pull_request) Successful in 5m9s
CI / secret-scanning (pull_request) Successful in 1m56s
CI / dependency-scan (pull_request) Successful in 1m55s
CI / sast-scan (pull_request) Successful in 3m0s
CI / workflow-summary (pull_request) Successful in 1m47s
Reviewed-on: #4
2026-01-21 12:58:07 -05:00
f9fafcbb1a fix: prevent server crashes during photo processing
All checks were successful
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 2m12s
CI / test-backend (pull_request) Successful in 4m5s
CI / build (pull_request) Successful in 4m53s
CI / secret-scanning (pull_request) Successful in 1m56s
CI / dependency-scan (pull_request) Successful in 1m54s
CI / sast-scan (pull_request) Successful in 3m2s
CI / workflow-summary (pull_request) Successful in 1m48s
- Add database connection health checks every 10 photos
- Add session refresh logic to recover from connection errors
- Improve error handling for database disconnections/timeouts
- Add explicit image cleanup to prevent memory leaks
- Add connection error detection throughout processing pipeline
- Gracefully handle database connection failures instead of crashing

Fixes issue where server would crash during long-running photo processing
tasks when database connections were lost or timed out.
2026-01-21 12:47:37 -05: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
7d2cd78a9a Merge pull request 'update linting rules to ignore non-critical style issues' (#3) from ci/ignore-linting-errors into dev
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m46s
CI / lint-and-type-check (pull_request) Successful in 2m25s
CI / python-lint (pull_request) Successful in 2m11s
CI / test-backend (pull_request) Successful in 4m3s
CI / build (pull_request) Successful in 4m54s
CI / secret-scanning (pull_request) Successful in 1m53s
CI / dependency-scan (pull_request) Successful in 1m50s
CI / sast-scan (pull_request) Successful in 2m58s
CI / workflow-summary (pull_request) Successful in 1m45s
Reviewed-on: #3
2026-01-19 15:30:04 -05:00
51081c1b5d chore: Add deployment checklist and PM2 configuration examples
Some checks failed
CI / test-backend (pull_request) Successful in 5m30s
CI / build (pull_request) Has been skipped
CI / secret-scanning (pull_request) Has been skipped
CI / dependency-scan (pull_request) Has been skipped
CI / sast-scan (pull_request) Has been skipped
CI / lint-and-type-check (pull_request) Has been cancelled
CI / python-lint (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / skip-ci-check (pull_request) Has been cancelled
This commit introduces a new `DEPLOYMENT_CHECKLIST.md` file that outlines the necessary steps for configuring server-specific settings after pulling from Git. It includes instructions for environment files, PM2 configuration, firewall rules, database setup, and building frontends. Additionally, it adds an example `ecosystem.config.js.example` file for PM2 configuration, providing a template for users to customize for their deployment environment. The `.gitignore` file is updated to include the new PM2 ecosystem config file.
2026-01-19 15:20:39 -05:00
5073c22f03 chore: Refine CI workflow output handling for linting and type-checking
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m42s
CI / lint-and-type-check (pull_request) Successful in 2m21s
CI / python-lint (pull_request) Successful in 2m7s
CI / test-backend (pull_request) Successful in 5m12s
CI / build (pull_request) Successful in 4m45s
CI / secret-scanning (pull_request) Successful in 1m48s
CI / dependency-scan (pull_request) Successful in 1m47s
CI / sast-scan (pull_request) Successful in 2m54s
CI / workflow-summary (pull_request) Successful in 1m39s
This commit improves the CI workflow by modifying the output handling for linting and type-checking processes. It ensures that the results are captured correctly and displayed only if there are errors or warnings, enhancing clarity in the CI logs. Additionally, it updates the flake8 output section to provide a summary when no issues are found, further improving the visibility of code quality checks.
2026-01-16 15:39:32 -05:00
edfefb3f00 chore: Enhance CI workflow with detailed linting and type-checking outputs
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m42s
CI / lint-and-type-check (pull_request) Successful in 2m21s
CI / python-lint (pull_request) Successful in 2m5s
CI / test-backend (pull_request) Successful in 3m56s
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 / build (pull_request) Has been cancelled
This commit updates the CI workflow to provide more comprehensive output for linting and type-checking processes. It modifies the commands to capture and display results, including error and warning counts, improving visibility into code quality issues. Additionally, it adds new flake8 error codes to ignore in the Python linting command, ensuring a more robust linting process.
2026-01-16 15:30:54 -05:00
b287d1f0e1 chore: Enhance Python linting rules in CI and package configurations
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m41s
CI / lint-and-type-check (pull_request) Successful in 2m20s
CI / python-lint (pull_request) Failing after 2m5s
CI / test-backend (pull_request) Successful in 3m55s
CI / build (pull_request) Successful in 4m53s
CI / secret-scanning (pull_request) Successful in 1m49s
CI / dependency-scan (pull_request) Successful in 1m46s
CI / sast-scan (pull_request) Successful in 3m0s
CI / workflow-summary (pull_request) Failing after 1m39s
This commit updates the Python linting rules by adding additional flake8 error codes to ignore in both the CI workflow and the Python linting command in package.json. It also modifies the ESLint configuration for the admin frontend to streamline the linting process by removing the max-warnings restriction.
2026-01-16 15:23:54 -05:00
c8b6245625 chore: Update linting rules for Python and frontend configurations
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m41s
CI / lint-and-type-check (pull_request) Failing after 2m26s
CI / python-lint (pull_request) Failing after 2m8s
CI / test-backend (pull_request) Successful in 3m55s
CI / build (pull_request) Successful in 4m48s
CI / secret-scanning (pull_request) Successful in 1m49s
CI / dependency-scan (pull_request) Successful in 1m46s
CI / sast-scan (pull_request) Successful in 2m58s
CI / workflow-summary (pull_request) Failing after 1m40s
This commit enhances the linting configurations by adding additional flake8 error codes to ignore in both the CI workflow and the Python linting command in package.json. It also modifies the ESLint configuration for the admin frontend to remove the report for unused disable directives, streamlining the linting process and reducing false positives.
2026-01-16 15:16:39 -05:00
ebde652fb0 update linting rules to ignore non-critical style issues
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m41s
CI / lint-and-type-check (pull_request) Failing after 2m24s
CI / python-lint (pull_request) Failing after 2m7s
CI / test-backend (pull_request) Successful in 3m58s
CI / build (pull_request) Successful in 4m52s
CI / secret-scanning (pull_request) Successful in 1m49s
CI / dependency-scan (pull_request) Successful in 1m46s
CI / sast-scan (pull_request) Successful in 2m57s
CI / workflow-summary (pull_request) Failing after 1m40s
- Ignore max-len line length errors in ESLint
- Change unused vars/imports to warnings instead of errors
- Ignore flake8 errors: E501, W503, W293, E305, F401, F811, W291
- Prevents CI failures on style-only issues"
2026-01-16 15:02:04 -05:00
9ddd7c04eb chore: Update CI workflow with timeout and enhanced checkout options
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m36s
CI / lint-and-type-check (pull_request) Failing after 2m14s
CI / python-lint (pull_request) Failing after 1m58s
CI / test-backend (pull_request) Successful in 3m40s
CI / build (pull_request) Successful in 4m34s
CI / secret-scanning (pull_request) Successful in 1m43s
CI / dependency-scan (pull_request) Successful in 1m42s
CI / sast-scan (pull_request) Successful in 2m45s
CI / workflow-summary (pull_request) Failing after 1m35s
This commit modifies the CI workflow to include a timeout of 5 minutes for the skip-ci-check job. Additionally, it updates the checkout step to disable submodules, persist credentials, and clean the workspace, improving the efficiency and reliability of the CI process.
2026-01-12 15:22:40 -05:00
3d410a94a8 test
Some checks failed
CI / skip-ci-check (pull_request) Failing after 8m52s
CI / lint-and-type-check (pull_request) Has been skipped
CI / python-lint (pull_request) Has been skipped
CI / test-backend (pull_request) Has been skipped
CI / build (pull_request) Has been skipped
CI / secret-scanning (pull_request) Has been skipped
CI / dependency-scan (pull_request) Has been skipped
CI / sast-scan (pull_request) Has been skipped
CI / workflow-summary (pull_request) Successful in 1m33s
2026-01-12 14:15:20 -05:00
0400a4575d chore: Add Semgrep ignore file and enhance CI workflow with detailed checks
Some checks failed
CI / skip-ci-check (pull_request) Has been cancelled
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
This commit introduces a Semgrep ignore file to suppress false positives and low-risk findings in the codebase. It also updates the CI workflow to include additional checks for linting and type validation, ensuring a more robust and secure development process. The changes improve the overall clarity and usability of the CI workflow while maintaining code quality standards.
2026-01-12 14:00:01 -05:00
60b6d1df91 chore: Add blank lines to improve readability in multiple files
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m35s
CI / lint-and-type-check (pull_request) Failing after 2m14s
CI / python-lint (pull_request) Failing after 1m57s
CI / test-backend (pull_request) Successful in 3m42s
CI / build (pull_request) Successful in 4m42s
CI / secret-scanning (pull_request) Successful in 1m42s
CI / dependency-scan (pull_request) Successful in 1m42s
CI / sast-scan (pull_request) Successful in 2m45s
CI / workflow-summary (pull_request) Failing after 1m33s
This commit adds blank lines to the end of several files, including configuration files and scripts, enhancing the overall readability and maintainability of the codebase. Consistent formatting practices contribute to a cleaner and more organized project structure.
2026-01-12 13:26:43 -05:00
c490235ad1 chore: Enhance CI workflow with comprehensive checks for linting, type checking, and testing
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m34s
CI / lint-and-type-check (pull_request) Failing after 2m13s
CI / python-lint (pull_request) Failing after 2m1s
CI / test-backend (pull_request) Successful in 3m45s
CI / build (pull_request) Successful in 4m43s
CI / secret-scanning (pull_request) Successful in 1m43s
CI / dependency-scan (pull_request) Successful in 1m41s
CI / sast-scan (pull_request) Successful in 2m50s
CI / workflow-summary (pull_request) Successful in 1m34s
This commit updates the CI workflow to include additional checks for ESLint, type checking, and backend tests. It introduces steps to validate the outcomes of these checks, ensuring that any failures will cause the job to fail. This enhancement improves the overall quality control in the CI pipeline, requiring developers to address issues before proceeding with the build process.
2026-01-12 13:08:21 -05:00
29c8a27e01 chore: Remove non-blocking behavior from linting and type checking in CI workflow
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m35s
CI / lint-and-type-check (pull_request) Successful in 2m11s
CI / python-lint (pull_request) Successful in 2m0s
CI / test-backend (pull_request) Successful in 3m42s
CI / build (pull_request) Successful in 4m43s
CI / secret-scanning (pull_request) Successful in 1m44s
CI / dependency-scan (pull_request) Successful in 1m41s
CI / sast-scan (pull_request) Successful in 2m46s
CI / workflow-summary (pull_request) Successful in 1m34s
This commit updates the CI workflow to remove the `|| true` command from the linting and type checking steps, ensuring that these checks will fail the build process if issues are encountered. This change enforces stricter quality control in the CI pipeline, requiring developers to address linting and type checking errors before proceeding with the build.
2026-01-12 13:00:01 -05:00
0e673bc6d9 chore: Update CI workflow to allow non-blocking linting and type checking
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m35s
CI / lint-and-type-check (pull_request) Successful in 2m11s
CI / python-lint (pull_request) Successful in 2m0s
CI / test-backend (pull_request) Successful in 3m43s
CI / build (pull_request) Successful in 4m38s
CI / secret-scanning (pull_request) Successful in 1m43s
CI / dependency-scan (pull_request) Successful in 1m40s
CI / sast-scan (pull_request) Successful in 2m48s
CI / workflow-summary (pull_request) Successful in 1m33s
This commit modifies the CI workflow to ensure that linting and type checking steps do not fail the build process. The `|| true` command is added to the respective npm commands, allowing the CI to continue even if these checks encounter issues. This change enhances the flexibility of the CI process, enabling developers to address linting and type checking errors without blocking the overall workflow.
2026-01-12 12:46:16 -05:00
a1e4544a42 refactor: Simplify JUnit XML parsing in CI workflow
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m34s
CI / lint-and-type-check (pull_request) Failing after 1m44s
CI / python-lint (pull_request) Failing after 1m58s
CI / test-backend (pull_request) Failing after 3m41s
CI / build (pull_request) Successful in 4m38s
CI / secret-scanning (pull_request) Successful in 1m42s
CI / dependency-scan (pull_request) Successful in 1m42s
CI / sast-scan (pull_request) Successful in 2m51s
CI / workflow-summary (pull_request) Successful in 1m33s
This commit refactors the CI workflow to simplify the parsing of JUnit XML test results. The previous multi-line Python script has been replaced with a concise one-liner, reducing complexity and avoiding YAML parsing issues. This change enhances the readability and maintainability of the CI configuration while ensuring accurate test statistics are reported.
2026-01-12 12:32:20 -05:00
4b0a495bb0 chore: Add Semgrep ignore file and CI job status documentation
This commit introduces a Semgrep ignore file to suppress false positives and low-risk findings, particularly for controlled inputs in database scripts and development configurations. Additionally, a new CI Job Status Configuration document is added to clarify which CI jobs should fail on errors and which are informational, enhancing the overall CI/CD process documentation.
2026-01-12 12:25:19 -05:00
bcc902fce2 fix: Update tests to align with API response structure and improve assertions
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m35s
CI / lint-and-type-check (pull_request) Successful in 2m11s
CI / python-lint (pull_request) Successful in 2m0s
CI / test-backend (pull_request) Successful in 3m42s
CI / build (pull_request) Successful in 4m41s
CI / secret-scanning (pull_request) Successful in 1m42s
CI / dependency-scan (pull_request) Successful in 1m41s
CI / sast-scan (pull_request) Successful in 2m51s
CI / workflow-summary (pull_request) Successful in 1m33s
This commit modifies several test cases to reflect changes in the API response structure, including:
- Updating assertions to check for `tag_name` instead of `tag` in tag-related tests.
- Adjusting the response data checks for bulk add/remove favorites to use `added_count` and `removed_count`.
- Ensuring the photo search test verifies the linked face and checks for the presence of the photo in the results.

These changes enhance the accuracy and reliability of the tests in relation to the current API behavior.
2026-01-12 11:59:24 -05:00
67c1227b55 chore: Add blank lines to improve readability in various files
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m35s
CI / lint-and-type-check (pull_request) Successful in 2m11s
CI / python-lint (pull_request) Successful in 1m58s
CI / test-backend (pull_request) Successful in 3m57s
CI / build (pull_request) Successful in 4m41s
CI / secret-scanning (pull_request) Successful in 1m42s
CI / dependency-scan (pull_request) Successful in 1m41s
CI / sast-scan (pull_request) Successful in 2m46s
CI / workflow-summary (pull_request) Successful in 1m33s
This commit adds blank lines to the end of several files, including pytest.ini, README.md, and various scripts in the viewer-frontend. These changes enhance the readability and maintainability of the codebase by ensuring consistent formatting.
2026-01-12 11:36:29 -05:00
ca7266ea34 fix: Update photo deletion test to assert deleted_count instead of deleted
The test for photo deletion now checks for "deleted_count" in the response data, ensuring that the count of deleted photos is non-negative. This change aligns the test with the actual API response structure.
2026-01-09 13:00:35 -05:00
79d20ecce8 fix: Update favorite endpoint path from /favorite to /toggle-favorite
The actual API endpoint is /toggle-favorite, not /favorite. Update all
test cases to use the correct endpoint path.
2026-01-09 12:52:51 -05:00
4f21998915 fix: Update tests to match actual API behavior and model structure
- Fix DELETE endpoint test to accept 204 (No Content) status code
- Fix PhotoTag import to PhotoTagLinkage (correct model name)
- Fix Tag model instantiation to use tag_name instead of tag
- Update photo search test to use partial name matching (John instead of John Doe)
2026-01-09 12:51:48 -05:00
6a194d9f62 chore: Update CI workflow to include email-validator for Pydantic email validation
All checks were successful
CI / sast-scan (pull_request) Successful in 2m58s
CI / skip-ci-check (pull_request) Successful in 1m32s
CI / lint-and-type-check (pull_request) Successful in 2m17s
CI / python-lint (pull_request) Successful in 1m57s
CI / test-backend (pull_request) Successful in 3m57s
CI / build (pull_request) Successful in 5m7s
CI / secret-scanning (pull_request) Successful in 1m40s
CI / dependency-scan (pull_request) Successful in 1m38s
CI / workflow-summary (pull_request) Successful in 1m30s
This commit modifies the CI workflow to install the email-validator package as part of the Pydantic dependencies. This addition enhances email validation capabilities within the application, ensuring that email addresses are properly validated during processing.
2026-01-09 12:49:42 -05:00
5fb66f9a85 fix: Handle charset parameter in SSE Content-Type header test
The SSE endpoint returns 'text/event-stream; charset=utf-8' but the test
was checking for an exact match. Update the test to use startswith() to
handle the charset parameter correctly.
2026-01-09 12:48:22 -05:00
c02d375da7 chore: Update CI workflow to install Python 3.12 using pyenv
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m31s
CI / lint-and-type-check (pull_request) Successful in 2m15s
CI / python-lint (pull_request) Successful in 1m57s
CI / test-backend (pull_request) Successful in 3m59s
CI / build (pull_request) Failing after 4m5s
CI / secret-scanning (pull_request) Successful in 1m41s
CI / dependency-scan (pull_request) Successful in 1m37s
CI / sast-scan (pull_request) Successful in 2m53s
CI / workflow-summary (pull_request) Successful in 1m29s
This commit modifies the CI workflow to install Python 3.12 using pyenv instead of the default package manager. This change is necessary as Debian Bullseye does not provide Python 3.12 in its default repositories. The updated installation process includes necessary dependencies and ensures that the correct version of Python is set globally for the build environment.
2026-01-09 12:37:43 -05:00
6e8a0959f2 fix: Use Python 3.12 in CI build validation step
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m30s
CI / lint-and-type-check (pull_request) Successful in 2m17s
CI / python-lint (pull_request) Successful in 2m0s
CI / test-backend (pull_request) Successful in 5m22s
CI / build (pull_request) Failing after 1m46s
CI / secret-scanning (pull_request) Successful in 1m39s
CI / dependency-scan (pull_request) Successful in 1m37s
CI / sast-scan (pull_request) Successful in 2m55s
CI / workflow-summary (pull_request) Successful in 1m29s
The codebase uses Python 3.10+ syntax (str | None) which is not supported
in Python 3.9. Update the build job to install and use Python 3.12 to
match the test-backend job and support modern type hints.
2026-01-09 12:24:56 -05:00
08e0fc8966 fix: Add numpy and pillow to CI build validation step
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m31s
CI / lint-and-type-check (pull_request) Successful in 2m20s
CI / python-lint (pull_request) Successful in 1m59s
CI / test-backend (pull_request) Successful in 4m7s
CI / build (pull_request) Failing after 1m57s
CI / secret-scanning (pull_request) Successful in 1m40s
CI / dependency-scan (pull_request) Successful in 1m38s
CI / sast-scan (pull_request) Successful in 3m9s
CI / workflow-summary (pull_request) Successful in 1m29s
The backend validation step was failing because numpy is required for
importing backend.services.face_service, which is imported at module level.
Adding numpy and pillow to the pip install command in the build job to
fix the ModuleNotFoundError.
2026-01-09 12:16:54 -05:00
634d5dab02 chore: Update CI workflow to include numpy and pillow dependencies for faster builds
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m55s
CI / test-backend (pull_request) Successful in 3m10s
CI / build (pull_request) Failing after 1m48s
CI / secret-scanning (pull_request) Successful in 1m36s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / sast-scan (pull_request) Successful in 2m51s
CI / workflow-summary (pull_request) Successful in 1m27s
2026-01-08 14:57:01 -05:00
0ca9adcd47 test: Add comprehensive CI tests for photos, people, tags, users, jobs, and health APIs
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m7s
CI / python-lint (pull_request) Successful in 1m58s
CI / test-backend (pull_request) Successful in 3m38s
CI / build (pull_request) Failing after 1m45s
CI / secret-scanning (pull_request) Successful in 1m36s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / sast-scan (pull_request) Successful in 2m48s
CI / workflow-summary (pull_request) Successful in 1m27s
- Add test_api_photos.py with photo search, favorites, retrieval, and deletion tests
- Add test_api_people.py with people listing, CRUD, and faces tests
- Add test_api_tags.py with tag listing, CRUD, and photo-tag operations tests
- Add test_api_users.py with user listing, CRUD, and activation tests
- Add test_api_jobs.py with job status and streaming tests
- Add test_api_health.py with health check and version tests

These tests expand CI coverage based on API_TEST_PLAN.md and will run in the CI pipeline.
2026-01-08 14:51:58 -05:00
c6f27556ac chore: Update CI workflow to use virtual environment directly and enhance summary output
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m7s
CI / python-lint (pull_request) Successful in 1m55s
CI / test-backend (pull_request) Successful in 3m9s
CI / build (pull_request) Failing after 1m44s
CI / secret-scanning (pull_request) Successful in 1m36s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / sast-scan (pull_request) Successful in 2m48s
CI / workflow-summary (pull_request) Successful in 1m27s
This commit modifies the CI workflow to utilize the virtual environment's pip and python directly, avoiding shell activation issues. Additionally, it enhances the CI workflow summary by providing a clearer overview of job results, including detailed descriptions of each job's purpose and how to interpret the backend test results. This improves the overall clarity and usability of the CI process.
2026-01-08 14:43:46 -05:00
7dd95cbcd0 chore: Add Gitleaks configuration and enhance CI workflow for backend validation
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m28s
CI / lint-and-type-check (pull_request) Successful in 2m7s
CI / python-lint (pull_request) Successful in 1m54s
CI / test-backend (pull_request) Successful in 3m10s
CI / build (pull_request) Failing after 1m35s
CI / secret-scanning (pull_request) Successful in 1m37s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / sast-scan (pull_request) Successful in 2m45s
CI / workflow-summary (pull_request) Successful in 1m28s
This commit introduces a Gitleaks configuration file to manage known false positives and improve security by preventing the accidental exposure of sensitive information. Additionally, it enhances the CI workflow by adding a step to validate backend imports and application structure, ensuring that core modules and API routers can be imported successfully without starting the server or connecting to a database.
2026-01-08 14:33:51 -05:00
922c468e9b chore: Enhance CI workflow summary and improve JWT token generation
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m47s
CI / test-backend (pull_request) Successful in 3m8s
CI / build (pull_request) Successful in 2m26s
CI / secret-scanning (pull_request) Successful in 1m43s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / sast-scan (pull_request) Successful in 2m46s
CI / workflow-summary (pull_request) Successful in 1m27s
This commit updates the CI workflow summary to provide a clearer overview of job results and their purposes. It also modifies the JWT token generation in the authentication API to include a unique identifier (`jti`) for both access and refresh tokens, improving token management. Additionally, the test for the token refresh endpoint is adjusted to ensure it verifies the new access token correctly.
2026-01-08 14:15:08 -05:00
70cd7aad95 fix: Handle ValueError in accept_matches function for better error reporting
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m53s
CI / test-backend (pull_request) Successful in 3m12s
CI / build (pull_request) Successful in 2m47s
CI / secret-scanning (pull_request) Successful in 1m53s
CI / dependency-scan (pull_request) Successful in 1m36s
CI / sast-scan (pull_request) Successful in 2m45s
CI / workflow-summary (pull_request) Successful in 1m27s
This commit updates the `accept_matches` function in the `people.py` API to include error handling for `ValueError`. If the error message indicates that a resource is not found, it raises an HTTP 404 exception with a user-friendly message. This change improves the robustness of the API by providing clearer feedback to users when a match cannot be accepted.
2026-01-08 13:49:38 -05:00
13f926b84e chore: Enhance CI workflow with detailed secret scanning and reporting
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m46s
CI / test-backend (pull_request) Successful in 3m10s
CI / build (pull_request) Successful in 2m25s
CI / secret-scanning (pull_request) Successful in 1m31s
CI / dependency-scan (pull_request) Successful in 1m36s
CI / sast-scan (pull_request) Successful in 2m46s
CI / workflow-summary (pull_request) Successful in 1m27s
This commit updates the CI workflow to include a more comprehensive secret scanning process using gitleaks. It adds steps to install jq for parsing the report and displays the results in the GitHub step summary, including total leaks found and detailed leak information. This enhancement improves security by ensuring that any sensitive information is promptly identified and addressed.
2026-01-08 13:30:37 -05:00
bd3fb5ce74 chore: Update CI workflow to trigger only on pull_request events
Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m55s
CI / test-backend (pull_request) Successful in 3m10s
CI / build (pull_request) Successful in 2m26s
CI / secret-scanning (pull_request) Successful in 1m42s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / workflow-summary (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
This commit modifies the CI workflow to exclusively trigger on pull_request events, preventing duplicate runs caused by push events. It clarifies comments regarding event handling and emphasizes the importance of using pull requests for CI, enhancing the overall clarity and efficiency of the workflow.
2026-01-08 13:24:41 -05:00
45ceedc250 chore: Enhance CI workflow concurrency management for push and PR events
Some checks failed
CI / skip-ci-check (push) Successful in 1m28s
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / lint-and-type-check (push) Successful in 2m6s
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / python-lint (push) 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
CI / lint-and-type-check (pull_request) Has been cancelled
This commit updates the CI workflow to improve concurrency management by grouping runs based on branch name and commit SHA. It ensures that push and PR events for the same branch and commit are handled together, preventing duplicate executions. Additionally, it clarifies comments regarding the handling of events, enhancing the overall clarity and efficiency of the CI process.
2026-01-08 13:21:49 -05:00
16e5d4acaf chore: Update sensitive information in documentation and code to use environment variables
Some checks failed
CI / skip-ci-check (push) Successful in 1m29s
CI / skip-ci-check (pull_request) Successful in 1m29s
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / lint-and-type-check (push) Has been cancelled
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m47s
CI / test-backend (pull_request) Successful in 3m13s
CI / build (pull_request) Successful in 2m25s
CI / secret-scanning (pull_request) Successful in 1m42s
CI / dependency-scan (pull_request) Successful in 1m33s
CI / sast-scan (pull_request) Successful in 2m42s
CI / workflow-summary (pull_request) Successful in 1m27s
This commit replaces hardcoded sensitive information, such as database passwords and secret keys, in the README and deployment documentation with placeholders and instructions to use environment variables. This change enhances security by preventing exposure of sensitive data in the codebase. Additionally, it updates the database session management to raise an error if the DATABASE_URL environment variable is not set, ensuring proper configuration for development environments.
2026-01-08 13:08:47 -05:00
3e0140c2f3 feat: Implement custom bearer token security dependency for authentication
Some checks failed
CI / skip-ci-check (push) Successful in 1m28s
CI / skip-ci-check (pull_request) Successful in 1m28s
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / lint-and-type-check (push) Has been cancelled
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m53s
CI / test-backend (pull_request) Successful in 3m12s
CI / build (pull_request) Successful in 2m25s
CI / secret-scanning (pull_request) Successful in 1m41s
CI / dependency-scan (pull_request) Successful in 1m35s
CI / sast-scan (pull_request) Successful in 2m49s
CI / workflow-summary (pull_request) Successful in 1m27s
This commit introduces a custom security dependency, `get_bearer_token`, in the authentication API to ensure compliance with HTTP standards by returning a 401 Unauthorized status for missing or invalid tokens. Additionally, it updates test user fixtures to include full names for better clarity in tests.
2026-01-08 12:40:07 -05:00
47f31e15a6 test push
Some checks failed
CI / skip-ci-check (push) Successful in 1m28s
CI / skip-ci-check (pull_request) Successful in 1m28s
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / lint-and-type-check (push) 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
CI / lint-and-type-check (pull_request) Has been cancelled
2026-01-08 11:04:19 -05:00
c0267f262d chore: Refine CI workflow to skip push events on feature branches
Some checks failed
CI / skip-ci-check (push) Successful in 1m29s
CI / skip-ci-check (pull_request) Successful in 1m28s
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / lint-and-type-check (push) 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
CI / lint-and-type-check (pull_request) Has been cancelled
This commit updates the CI workflow to skip push events on feature branches, encouraging the use of pull request events instead. Additionally, it enhances the concurrency management by using commit SHA for grouping runs, preventing duplicate executions for the same commit. These changes improve the efficiency and clarity of the CI process.
2026-01-08 10:59:51 -05:00
2f6dae5f8c chore: Update CI workflow to prevent duplicate runs for push and PR events
Some checks failed
CI / skip-ci-check (push) Successful in 1m27s
CI / skip-ci-check (pull_request) Successful in 1m27s
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / lint-and-type-check (push) Has been cancelled
CI / lint-and-type-check (pull_request) Successful in 2m5s
CI / python-lint (pull_request) Successful in 1m52s
CI / test-backend (pull_request) Successful in 3m17s
CI / build (pull_request) Successful in 2m24s
CI / secret-scanning (pull_request) Successful in 1m40s
CI / dependency-scan (pull_request) Successful in 1m34s
CI / sast-scan (pull_request) Successful in 2m48s
CI / workflow-summary (pull_request) Successful in 1m26s
This commit modifies the CI workflow configuration to group runs by workflow name and either PR number or branch name. This change prevents duplicate runs when both push and PR events are triggered for the same commit, enhancing the efficiency of the CI process.
2026-01-07 15:31:18 -05:00
1bf7cdf4ab chore: Update backend test command and add test runner script
Some checks failed
CI / skip-ci-check (push) Successful in 1m27s
CI / skip-ci-check (pull_request) Successful in 1m26s
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / lint-and-type-check (push) Has been cancelled
CI / lint-and-type-check (pull_request) Successful in 2m5s
CI / python-lint (pull_request) Successful in 1m52s
CI / test-backend (pull_request) Successful in 3m19s
CI / build (pull_request) Successful in 2m24s
CI / secret-scanning (pull_request) Successful in 1m41s
CI / dependency-scan (pull_request) Successful in 1m32s
CI / sast-scan (pull_request) Successful in 2m43s
CI / workflow-summary (pull_request) Successful in 1m26s
This commit modifies the backend test command in `package.json` to skip DeepFace during tests by setting the `SKIP_DEEPFACE_IN_TESTS` environment variable. Additionally, a new `run_tests.sh` script is introduced to streamline the testing process, ensuring the virtual environment is set up and dependencies are installed before running the tests. These changes enhance the testing workflow and improve reliability.
2026-01-07 15:23:16 -05:00
364974141d chore: Add pytest configuration and update CI to skip DeepFace during tests
Some checks failed
CI / skip-ci-check (push) Successful in 1m27s
CI / lint-and-type-check (push) Has been cancelled
CI / python-lint (push) Has been cancelled
CI / test-backend (push) Has been cancelled
CI / build (push) Has been cancelled
CI / secret-scanning (push) Has been cancelled
CI / dependency-scan (push) Has been cancelled
CI / sast-scan (push) Has been cancelled
CI / workflow-summary (push) Has been cancelled
CI / skip-ci-check (pull_request) Successful in 1m27s
CI / lint-and-type-check (pull_request) Successful in 2m6s
CI / python-lint (pull_request) Successful in 1m54s
CI / test-backend (pull_request) Successful in 3m39s
CI / build (pull_request) Successful in 2m24s
CI / secret-scanning (pull_request) Successful in 1m40s
CI / dependency-scan (pull_request) Successful in 1m33s
CI / sast-scan (pull_request) Successful in 2m47s
CI / workflow-summary (pull_request) Successful in 1m26s
This commit introduces a new `pytest.ini` configuration file for backend tests, specifying test discovery patterns and output options. Additionally, the CI workflow is updated to set an environment variable that prevents DeepFace and TensorFlow from loading during tests, avoiding illegal instruction errors on certain CPUs. The face service and pose detection modules are modified to conditionally import DeepFace and RetinaFace based on this environment variable, enhancing test reliability. These changes improve the testing setup and contribute to a more robust CI process.
2026-01-07 15:02:41 -05:00