* fix(server/oauth): Handle errors from OAuth Discovery.
* fix(server/oauth): Better fix for OAuth discovery error.
* This doesn't break tests.
* Update server/tsconfig.json
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* Revert back to the mostly original way.
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* chore(server): commented out debug log line for codecs
* chore(server): removed debug log line for codecs as it's not needed
* Prettier run
* Make the log more useful and move it to verbose level
* fix(server): Return the original path for gifs.
Usually browser is able to play them directly.
* fix(server): Better place for the condition.
* fix(server): gif viewing works properly.
* fix(machine-learning): Add the command to execute at startup
Previously it wasn't set in the Docker container but it should be.
* fix(docker): remove machine-learning command arg
* fix(docker): machine-learning CMD argument
* fix(ci): Mobile build should not run on PRs
It doesn't have the necessary secrets exposed for it succeed in PR context.
* ci(mobile): Run only on internal PRs
* feat(server/web): Initial support for RAF and SRW RAW formats.
* It should return the promise.
* Better comment
* feat(server/web): file-uploader needed changes.
* Remove un-used imports
* The failing test.. is no longer failing.
* Run prettier
* Original implementation with just a catch block added.
* feat(server): Some tests and specific handling for the two raw formats
* feat(web): Helper for raw image type.
* Handling of mimetype on server
* Handling of mimetypes on web with a map
* Bring back the acceptedfile filter
* Fix the asset-upload tests after changes
* acceptedFile is not usable due to type being empty from browser.
* Switch needs to use lowercase variants.
* Address Discord comments
* feat(mobile): Library page rework (album sorting, favorites) (#1501)
* Add album sorting
* Change AppBar to match photos page behaviour
* Add buttons
* First crude implementation of the favorites page
* Clean up
* Add favorite button
* i18n
* Add star indicator to thumbnail
* Add favorite logic to separate provider and fix favorite behavior in album
* Review feedback (Add isFavorite variable)
* dev: style buttons
* dev: styled drop down button
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* feat(mobile): Tap to enter immersive mode on gallery viewer (#1546)
* feat(mobile): Removed stay logged in checkbox and made it enabled by default (#1550)
* removed stay logged in checkbox and made it enabled by default
* adds padding to login button
* removed all isSaveLogin
* fix: logout would re-login with previous credential upon app restart
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* chore(server): remove token when logged out (#1560)
* chore(mobile): invoke logout() on mobile app
* feat: add mechanism to delete token from logging out endpoint
* fix: set state after login sequence success
* fix: not removing token when logging out from OAuth
* fix: prettier
* refactor: using accessTokenId to delete
* chore: pr comments
* fix: test
* fix: test threshold
* feat(deployment): support docker secrets (#1254)
* Support secrets
* Rewrite to support sh
* Remove JWT_SECRET
* fix(mobile): Added flutter native splash and splash screens (#1520)
* rebasing
* added launch background image to repository
---------
Co-authored-by: Marty Fuhry <marty@fuhry.farm>
* refactor(mobile): introduce Album & User classes (#1561)
replace usages of AlbumResponseDto with Album
replace usages of UserResponseDto with User
* feat(mobile): Multiselect add to favorite from the timeline (#1558)
* multiselect add to favorites
* feat(server): add updatedAt to Asset, Album and User (#1566)
* feat: add updatedAt info to DTO and generate api
* chore: remove unsued file
* chore: Add update statement to add/remove asset/user to album
* fix: test
* chore(server): update package-lock.json to match package.json (#1573)
* chore(server) Add user FK to album entity (#1569)
* chore(deps): bump docker/setup-buildx-action from 2.4.0 to 2.4.1 (#1575)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2.4.0...v2.4.1)
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(server): make owner as required response for AlbumResponseDto (#1579)
* feat(GitHub): update bug and feature request template (#1584)
* dev: Reusing template from Home Assistant
* dev: add bug report template
* fix: template
* dev: change type
* dev:
* dev: add default labels
* dev: Add default title
* dev: add feature request template
* remove feature request from markdown
* dev: frontmatter
* fix(GitHub): feature request template
* fix(GitHub): feature request form has wrong type for textarea
* feat(mobile): Responsive layout improvements with a navigation rail and album grid (#1583)
* feat(proxy): Initial IPv6 support (#1577)
* fix(server): Create album response doesn't have owner property as required (#1704)
* feat(web): allow uploading more file types (#1570)
* feat(web): allow uploading more file types
* fix(web): make filename extension lowercase
* refactor(mobile): add Isar DB & Store class (#1574)
* refactor(mobile): add Isar DB & Store class
new Store: globally accessible key-value store like Hive (but based on Isar)
replace first few places of Hive usage with the new Store
* reduce max. DB size to prevent errors on older iOS devices
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat(mobile): Home screen customization options (#1563)
* Try staggered layout for home page
* Introduce setting for dynamic layout
* Fix some provider related bugs
* Make asset grouping configurable
* Add translation keys, refactor group title
* Rename enum values
* Fix enum names
* Reformat long if statement
* Fix timezone related bug
* Minor clean up
* Fix unit test
* Add second assets check back to home screen
* [Localizely] Translations update (#1707)
* fix(server): get shared link album info doesn't contain owner property (#1708)
* Version v1.46.0
* feat(server/web): file-uploader needed changes.
* Add raf and srw to the file names.
* Remember to add the extensions to fileSelector.
* Removed the getMimeType function on server as shouldn't be needed anymore.
* Revert "Removed the getMimeType function on server as shouldn't be needed anymore."
It is required still.
This reverts commit fc766dd0be.
* Should use proper mimetypes.
* fix linter
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Matthias Rupp <matthias.rupp@posteo.de>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: martyfuhry <martyfuhry@gmail.com>
Co-authored-by: James <jdm12989@gmail.com>
Co-authored-by: Marty Fuhry <marty@fuhry.farm>
Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Immich Release Bot <bot@immich.app>
* 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.
* Trying to get exifdata working with different lib.
* Got the new library working.
* Addressing PR comments.
* Removed not used vars and proper place for the eslint disable.
* Fix time-utils to use the exiftool-vendored lib.
Fixed also one test, as that would be valid.
* Using filename for timestamp as well if possible.
* Add new tests for time-utils.
* Remember to gracefully terminate the exiftool instance when not needed.
* eslint ignore...
* Apperantly Dockerfile changes were not pushed.
* feat(dockerfile): Tweak the Server Dockerfile
* feat(server): getTimestampFromFilename should return string or undefined.
* feat(server): If we don't have exifData or timestamp from filename, raise an error.
* Apparently test was already right, but my local system disagrees.
* More utilities for parsing and fix the timestampFromFilename.
It was returning an incorrect date as the regex doesn't seem to be the best for this as files named `IMG_0115.HEIC` will want to get parsed incorrectly due to it.
* feat(server/docker): Install perl as it seems to be required.
* feat(server): remember to include exposureTime and focalLength in new exif data.
* feat(server): Remove the parsing from filename as requested.
* feat(server): Import exiftool differently in time-utils.
* feat(server): Error handling when there is no exifData.
* feat(server): Fixes for the error handling when there is no exifData.
* feat(server): Remember to include modifyDate despite no exif.
* feat(server): Remember to include model of Camera.
* feat(server): Fixing up Exiftool usage.
Including proper logging for it, which had to be done in wrapped fashion due to it expecting all the logging levels which NextJS logger doesn't implement.
* feat(server): Do not use a wrapper for ExifTool logging.
* fix merge conflicts in metadata-extractor