* Fix GitHub commit passing, UI build and cache for different purposes
* a logging for transparency and easy debug
* Fix var expanding with quotes and add intermediate verification commands
* split verification commands
* fix joining commands
* Ecplicitly pull latest deps image
* properly set arg default values and try to fix preparation step
* another try to build the image with the correct deps tag
* Revert the dynamic deps tag discovery, as it doesn't work and the actual `latest` image is pulled implicitly anyway
* Final optimizations
* "NoCommit" placeholder, indent fix, var rename
---------
Co-authored-by: Konstantin Koval
* Fix the local build of the dependencies image, including the debug image instructions
* Make the deps image easily runnable
* improve readme
* Better caching strategy
* make dependency from IM to libs build stages
* fix missing folder error
* Hopefully, final solution
---------
Co-authored-by: Konstantin Koval
* Initial implementation
* Multiple fixes and improvemens
* Better `curl` retries timing
* Remove unused `TARGETOS` and `TARGETVARIANT` vars; add the version fetch fallback code to the build scripts
* Move the fallback code before the var usage
* Use double braces to make the code compatible with the `set -u`
---------
Co-authored-by: Konstantin Koval
* Refactored code; temp disable workflows on push
* remove printf leftovers
* A better sanitizing code
* extend auth routes tests
* more tests, fix 2 bugs in token processing
* more refactoring and fixes
* optimize video mediaURLs DB query and make testCachePath in utils thread-safe
* fix always passing test
* and more refactoring; 1 more test, but cleanup still has to be fixed
* more debug code in the test
* fix the test
* Final commit
* Adding a defer function just in case of panic
* Address some of review comments
* Protect the shared var by mutex; implement correct context-aware scanning
* Better error; better initial func wrap/capture; better log messages in `photos.go`;
* Addressing a few more review comments
* Order the query results; a better error type catch; setting the MP4 content type header explicitly
* try to fix the cancelation detection condition
* Extract a function and call it by name
---------
Co-authored-by: Konstantin Koval
* Initial fix of a race condition
* better logging
* some refactoring and graceful shutdown
* fix more potential race condition places; a better app shutdown
* add test and fix some issues
* some housekeeping
* more descriptive asserts
* Address review suggestions
* Better server shutdown logic + better message about the .env file not found
* Create context inside the shutdown goroutine; removed unnecessary shutdown from the main function
* Move HTTP server to the main process and remove unnecessary code
* log shutdown error if any
* Get back to the local `scanner` variable
* Protecting scanner with mutex
* Adding the mutex to the shutdown function
* Addressing the race condition at the init stage
---------
Co-authored-by: Konstantin Koval
* Add MagickWand perf test.
* Use MagickWand.
* Calculate the right thumbnail dimension.
* Remove magick bin file.
* Add building dependencies.
* Build images.
* Add --no-install-recommends
* Remove unused field.
* Fix typo
* Use uint in the worker.
* Add guard
* Always update apt.
* Fix EncodeJpeg() with the quality
* Rename the local error with a better name.
* Add worker.Terminate()
* Fix typo
* Rebase with master and rollback the build workflow.
#1211
* Add benchmark magickwand.
* Enable shared magick.
* Remove MagickWand test because it can't be compiled with current dependency image.
* Enable formats explicitly.
* Include MagicWand library.
* Remove duplication.
* Limit dynamic libraries in the release build.
* Use cp -a instead of -r.
* Use bash instead of sh.
* Handle media not found issue
* temporary run workflows for master pushes only; tests
* revert temp workflow changes
---------
Co-authored-by: Konstantin Koval
* Add a preparation service to assign the correct permissions to the media cache folder
* Better docker capabilities with less privileges
* Expand the caps list
---------
Co-authored-by: Konstantin Koval
* The fix with test
* Fix test's foreign key issue
* 2 more test cases
* Fix the empty album test expectation
* Return Nil for no thumbnail case instead of an empty album, as expected by frontend. More tests for thumbnail priority choice
* Fix failed tests
---------
Co-authored-by: Konstantin Koval
* Bump golang from 1.23-bookworm to 1.24-bookworm
Bumps golang from 1.23-bookworm to 1.24-bookworm.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update to use `go tool`, see https://go.dev/doc/go1.24#go-command.
* Update go.mod to go 1.24
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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>