* Use libmagic to identify file types.
* Fix mime array for database querying.
* go mod tidy
* Fix typo
* Another fix for the scheduled image build workflow for tag case (#1137)
* Try to fix the incorrect tag processing
* more debug code
* try with context=git
* hopefully, final debug
* the final commit with no debug code
---------
Co-authored-by: Konstantin Koval
* Add benchmark.
* rollback workflows.
* Fix AI comments.
* Build image.
* Fix AI comments.
* Fix AI comments.
* Rollback build workflow.
---------
Co-authored-by: Kostiantyn <32730812+kkovaletp@users.noreply.github.com>
Updated dependencies for improved performance and security:
- golang.org/x/crypto to version v0.31.0
- gopkg.in/vansante/go-ffprobe.v2 to version v2.2.1
- gorm.io/driver/sqlite to version v1.5.7
Co-authored-by: Konstantin Koval
* Bump several API dependencies to the latest versions
Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in /api
Bump github.com/vektah/gqlparser/v2 from 2.5.19 to 2.5.20 in /api
Bump gorm.io/driver/postgres from 1.5.10 to 1.5.11 in /api
Bump golang.org/x/image from 0.22.0 to 0.23.0 in /api
Bump golang.org/x/crypto from 0.29.0 to 0.30.0 in /api
Bump github.com/99designs/gqlgen from 0.17.56 to 0.17.57 in /api
* Regenerate GraphQL code
---------
Co-authored-by: Konstantin Koval
* Try to fix the incorrect tag processing
* more debug code
* try with context=git
* hopefully, final debug
* the final commit with no debug code
---------
Co-authored-by: Konstantin Koval
* Define sub-projects and set coverage threshold for failure in the `codecov.yml`; make both test execution engines to generate also JUnit reports; upload these JUnit reports to Codecov for analysis
* Fix UI Vite config and add more details to the API is-generated-code script
* Add API JUnit report file to `.gitignore`
* Fix the copy issue by mounting the volume
* put the exact report name to the `docker cp` command
* Added `set -euxo pipeline` to the `test_api_coverage.sh` script; try to fix the missing report issue by setting immutable flag and report directoty
* Revert `chattr` and `set` commands, as they cause errors
* debug
* put the filename of the JUnit report to upload
* `set -euxo pipefail` in `scripts/test_api_coverage.sh`
---------
Co-authored-by: Konstantin Koval
* test putting '"' to make the resulting JSON correct
* revert the testing code and move the fixed line to its final location
---------
Co-authored-by: Konstantin Koval
* Add log package. Update worker with new log package.
* Add init error to worker.
* Init workers when binary launching.
* Add tests to cover different errors.
* Refactor `auth.go` and `media.go` to remove deprecated dependencies
* Move the `text` dependency to direct ones in the `go.mod`
---------
Co-authored-by: Konstantin Koval
* try to fix by removing ''
* add source data for the debug
* Remove debug code
* Move the event logging before the `case`
---------
Co-authored-by: Konstantin Koval
This is the 1st of 2 PRs to migrate to the new Docker registry, where we have more control over the images and are able to manage them.
The new registry is https://hub.docker.com/u/photoview
---------
Co-authored-by: Konstantin Koval
Co-authored-by: viktorstrate <viktorstrate@gmail.com>
* Split long functions and optimize code
* Replace `errors.Wrap()` with the `fmt.Errorf()`; rename `process*()` functions to `parse*()`
---------
Co-authored-by: Konstantin Koval
* Run ESLint inside the testing container
* Switch to `docker exec` as the container is still alive after the testing
* Get back to `docker run`, as `exec` doesn't work for stopped containers
* Add missing ESLint plugin for React
* And 1 more missing plugin
* Add missing command to copy the report
* Set `$PHOTOVIEW_LISTEN_IP` to "0.0.0.0" as it has to accept connections from outside and from the healthcheck in localhost
---------
Co-authored-by: Konstantin Koval <kkb@ukr.net>
* Set $NODE_ENV according to the image purpose during Docker build
* Move `husky` from dev-deps to prod-deps, as it is used during prod `npm ci`
---------
Co-authored-by: Konstantin Koval <kkb@ukr.net>
* Add missing script line back to the `package.json`
* Set CodeCov token for coverage upload steps
---------
Co-authored-by: Konstantin Koval <kkb@ukr.net>