* Add integration tests for the login process
* Reorganize tests
* Test wrong instance URL
* Run mobile unit tests in CI
* Fix CI
* Pin Flutter Version to 3.3.10
* Push something stupid to re-trigger CI
* docs(cli): Clarify CLI-in-docker instructions
* docs(cli): Add more example commands
* docs(cli): Add port to example command
* docs(cli): Really fix the server port this time
* Added migration files
* Added logic for shared album level
* Added permission for EXIF
* Update shared link response dto
* Added condition to show download button
* Create and edit link with new parameter:
* Remove deadcode
* PR feedback
* More refactor
* Move logic of allow original file to service
* Simplify
* Wording
* feat: support isEdited flag for SettingSwitch
* feat: add transcodeAll ffmpeg settings for extra transcoding control
* refactor: tidy up and rename current video transcoding code + transcode everything
* feat: better video transcoding with ffprobe
analyses video files to see if they are already in the desired format
allows admin to choose to transcode all videos regardless of the current format
* fix: always serve encoded video if it exists
* feat: change video codec option to a select box, limit options
removed previous video codec config option as it's incompatible with new options
removed mapping for encoder to codec as we now store the codec in the config
* feat: add video conversion job for transcoding previously missed videos
* chore: fix spelling of job messages to pluralise assets
* chore: fix prettier/eslint warnings
* feat: force switch targetAudioCodec default to aac to avoid iOS incompatibility
* chore: lint issues after rebase
* feat(server): Support webm without transcoding.
Transcoding result doesn't appear to be used by anything expect for quicktime.
* feat(server): Fix the asset uploader for .avi
It needs to be transcoded.
* feat(server): Most browsers doesn't support avi so use mp4.
* feat(server): Address PR comments
* Addressed the PR comments
I moved the function that checks the mimetype to a central location in asset-utils and made tests for it.
* Rollbacked to the way transcoder was decising things to transcode.
* fix(server/cookies): Making the cookie better
Cookie should have SameSite=Stict and Secure if served via https, otherwise just SameSite=Strict set.
* feat(server): forgot to add secure to the other cookie.
* Fixed the cookies and tests for them.
* Consolidate docker build into single workflow
* ci: Only push to altran1502 on release
* ci: Tweaks
* feat(ci): Remove metadata key from permissions
* feat(ci): workaround for buildx regression
* Drop buildkit version to workaround regression
* Revert "Drop buildkit version to workaround regression"
This reverts commit 79adadb2d3.
* Use repo owner name for ghcr login
* feat(ci): Skip docker push on PRs from fork
* feat(ci): Remove explicit permissions config
* temp: Skip docker hub login
* Revert "temp: Skip docker hub login"
This reverts commit e92864d1a3.
* Remove fetch-depth from checkout action
* Allow the use of SSL connections to the postgres database.
* Add default SSL false when no env set
* Add commented out example of DB_SSL env
* Refactor add SSL option into PostgresConnectionOptions
* Refactor the database connection to optionally use a URL string instead of the env variables
* Refactor the database connection based on feedback
* Add dynamic validation around the DB envs
* Remove DB_URL from example
* Fix rebase
* Add back the optional database port in the example
* Formatted file correctly
* change types to a const to fix tests
* feat(.well-known): add .well-known/immich to reference API endpoint
* feat(.well-known): make schema optional (defaults to https)
* adjust method comment to be a little less confusing
* fix casting issue with resovled url
* include when checking Well-known, update server hint
* add validation for login form's server url
* consolidate common process into resolveAndSetEndpoint
* fix missed prettier formatting
* revert translation changes
* update environment variable description, hopefully a bit clearer
* rename environment variable to IMMICH_API_URL_EXTERNAL
* comment out optional env variables
* fix(web): browser-side api client to include authorization token
* Revert "fix(web): browser-side api client to include authorization token"
This reverts commit 60e338938f.
* remove multi-domain related changes
* Improve scroll performance by introducing repaint boundaries and moving more calculations to providers.
* Add error handing for malformed dates.
* Remove unused method
* Use compute in different places to improve app performance during heavy tasks
* Fix test
* Refactor `List<RenderAssetGridElement>` to separate `RenderList` class and make `fromAssetGroups` a static method of this class.
* Fix loading indicator bug
* Use provider directly
* `RenderList` refactoring
* `AssetNotifier` refactoring
* Move `combine` to static private method
* Extract compute methods in cache services to static private methods.
* Use `tryParse` instead of `parse` with try/catch for dates.
* Fix bug in caching mechanism.
* Fixed state not being used to trigger conditional rendering
* styling
* Corrected state
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>