Daniel Dietzler
ec32a9e610
fix: set min values for face detection to reasonable values ( #12877 )
...
fix: set min values for face detection to >0
2024-09-23 22:03:59 -04:00
Zack Pollard
bcd416477b
feat: serve map tile styles from tiles.immich.cloud ( #12858 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2024-09-23 20:30:23 +00:00
jschwalbe
9f8a7e0bea
feat(server): sort assets randomly from the API 'api/search/metadata' endpoint by including 'order': 'rand' in the API call. ( #12741 )
...
feat(server): search metadata random sort order
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-09-23 12:09:26 -04:00
Jason Rasmussen
6740c67ed8
fix: empty and restore over 1,000 items ( #12751 )
2024-09-18 09:57:52 -04:00
martin
c468da589a
fix: update the profile picture in the navigation-bar ( #12723 )
...
* fix: update the profile picture in the navigation-bar
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-09-17 01:48:15 +00:00
Jason Rasmussen
b74b20824a
feat: tag cleanup job ( #12654 )
2024-09-16 16:49:12 -04:00
Jason Rasmussen
01c7adc24d
feat(web): unlink live photos ( #12574 )
...
feat(web): unlink live photo
2024-09-11 16:26:29 -04:00
Jason Rasmussen
27050af57b
feat(web): manually link live photos ( #12514 )
...
feat(web,server): manually link live photos
2024-09-10 08:51:11 -04:00
Jason Rasmussen
d39917a4db
fix(web): show trash indicator ( #12521 )
2024-09-09 16:03:17 -04:00
BugFest
77e6a6d78b
feat(server): Import face regions from metadata ( #6455 )
...
* feat: faces-from-metadata - Import face regions from metadata
Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility
Signed-off-by: BugFest <bugfest.dev@pm.me >
* chore(web): remove unused file confirm-enable-import-faces
* chore(web): format metadata-settings
* fix(server): faces-from-metadata tests and format
* fix(server): code refinements, nullable face asset sourceType
* fix(server): Add RegionInfo to ImmichTags interface
* fix(server): deleteAllFaces sourceType param can be undefined
* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions
* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled
* fix(server): simplify sourceType conditional
* fix(server): small fixes
* fix(server): handling sourceType
* fix(server): sourceType enum
* fix(server): refactor metadata applyTaggedFaces
* fix(server): create/update signature changes
* fix(server): reduce computational cost of Person.getManyByName
* fix(server): use faceList instead of faceSet
* fix(server): Skip regions without Name defined
* fix(mobile): Update open-api (face assets feature changes)
* fix(server): Face-Person reconciliation with map/index
* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region
* fix(server): fix shared-link.service.ts format
* fix(mobile): Update open-api after branch update
* simplify
* fix(server): minor fixes
* fix(server): person create/update methods type enforcement
* fix(server): style fixes
* fix(server): remove unused metadata code
* fix(server): metadata faces unit tests
* fix(server): top level config metadata category
* fix(server): rename upsertFaces to replaceFaces
* fix(server): remove sourceType when unnecessary
* fix(server): sourceType as ENUM
* fix(server): format fixes
* fix(server): fix tests after sourceType ENUM change
* fix(server): remove unnecessary JobItem cast
* fix(server): fix asset enum imports
* fix(open-api): add metadata config
* fix(mobile): update open-api after metadata open-api spec changes
* fix(web): update web/api metadata config
* fix(server): remove duplicated sourceType def
* fix(server): update generated sql queries
* fix(e2e): tests for metadata face import feature
* fix(web): Fix check:typescript
* fix(e2e): update subproject ref
* fix(server): revert format changes to pass format checks after ci
* fix(mobile): update open-api
* fix(server,movile,open-api,mobile): sourceType as DB data type
* fix(e2e): upload face asset after enabling metadata face import
* fix(web): simplify metadata admin settings and i18n keys
* Update person.repository.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me >
* fix(server): asset_faces.sourceType column not nullable
* fix(server): simplified syntax
* fix(e2e): use SDK for everything except the endpoint being tested
* fix(e2e): fix test format
* chore: clean up
* chore: clean up
* chore: update e2e/test-assets
---------
Signed-off-by: BugFest <bugfest.dev@pm.me >
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-09-04 18:23:58 -04:00
Jason Rasmussen
5e6ac87eaf
chore: object shorthand linting rule ( #12152 )
...
chore: object shorthand
2024-08-30 14:38:53 -04:00
Jason Rasmussen
9b1a985d29
fix(server): tag upsert ( #12141 )
2024-08-30 12:44:24 -04:00
Alex
b3b599e071
chore(server): deprecate resized property ( #12143 )
...
* chore: add dummy resized value for release
* openapi
* add deprecation life cycle info
* use correct default value
2024-08-30 11:01:50 -05:00
Alex
ebecb60f39
feat: user's features preferences ( #12099 )
...
* feat: metadata in UserPreference
* feat: web metadata settings
* feat: web metadata settings
* fix: typo
* patch openapi
* fix: missing translation key
* new organization of preference strucutre
* feature settings on web
* localization
* added and used feature settings
* add default value to response dto
* patch openapi
* format en.json file
* implement helper method
* use tags preference logic
* Fix logic bug and add tests
* fix preference can be null in detail panel
2024-08-29 14:29:04 -05:00
Jason Rasmussen
d08a20bd57
feat: tags ( #11980 )
...
* feat: tags
* fix: folder tree icons
* navigate to tag from detail panel
* delete tag
* Tag position and add tag button
* Tag asset in detail panel
* refactor form
* feat: navigate to tag page from clicking on a tag
* feat: delete tags from the tag page
* refactor: moving tag section in detail panel and add + tag button
* feat: tag asset action in detail panel
* refactor add tag form
* fdisable add tag button when there is no selection
* feat: tag bulk endpoint
* feat: tag colors
* chore: clean up
* chore: unit tests
* feat: write tags to sidecar
* Remove tag and auto focus on tag creation form opened
* chore: regenerate migration
* chore: linting
* add color picker to tag edit form
* fix: force render tags timeline on navigating back from asset viewer
* feat: read tags from keywords
* chore: clean up
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2024-08-29 12:14:03 -04:00
Geoffrey Frogeye
562fec6e2b
feat(server): sort images in duplicate groups by date ( #12094 )
...
* feat(server): sort images in duplicate groups by date
* Update server/src/dtos/duplicate.dto.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2024-08-28 19:59:09 +00:00
Jonathan Jogenfors
363c558db7
fix(server): don't crash when refreshing large libraries ( #7934 )
...
* add job to check for offline files
* fix lint
* only check for offline when using checkForOffline
* improve tests
* remove old test
* wip
* remove trie
* refactor batches
* also check offline status
* fix spelling
* don't do offline scan
* rename scan to check
* fix job statuses
* fix lint
* cleanup
* add test
* open-api
* fix test
* fix spinner
* reset text
* don't double batch
* fix comments from mert
* remove tries
* fix tests
* fix e2e
* fix test
* fix test
* add tests
* fix lint
* fix e2e
* interweave scans
* fix errors
* fix messages
* fix test
* add mock
* fix sql
* fix e2e
* use library batch size
* save -> update
* add file extensions
* update specs
* test for import paths
* check import paths when testing offline
* fix lint
* normalize import path
* remove console logs
* decrease batch size to 1000
* add test for import path
* add test for already-online assets
* fix merge
* fix lint
* add library job back
* add offline job to correct queue
* library spec compiles now
* move one test to new e2e
* fix comments
* fix comments
* fix lint
* refactor path validation
* fix loop bug
* remove logging
* expect responses
* fix asset mock
* take the straightforward approach
* use generator correctly
* fix vitest on file edit
* bump vitest to 1.6.0
* test for offline check
* add e2e tests for offlining assets depending on import path
* cleanup e2e test after finish
* cleanup library service
* paginate the walk generator
* fix tests
* fix typo
* refactoring handleOfflineCheck
* better testing of handleOfflineCheck
* fix lint
* handle large library deletions
* dont check if library is deleted
* fix mock
* add a 100k page size to library
* fix loading animation
* better log messages
* Better logging for offline asset removal
* fix sql and tests
* fix number format
* Remove submodule
* fix format
* chore: cleanup
* chore: fix tests
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-08-28 13:05:48 -04:00
Jason Rasmussen
7fbf50a75e
fix: remove asset.resized ( #11983 )
...
fix: remove resized
2024-08-22 23:24:49 -04:00
Jason Rasmussen
ef9a06be5c
fix(server): album statistics endpoint ( #11924 )
2024-08-20 07:50:36 -04:00
Jason Rasmussen
7af6733665
refactor(server): move files to separate table ( #11861 )
2024-08-19 20:03:33 -04:00
Jason Rasmussen
8338657eaa
refactor(server): stacks ( #11453 )
...
* refactor: stacks
* mobile: get it built
* chore: feedback
* fix: sync and duplicates
* mobile: remove old stack reference
* chore: add primary asset id
* revert change to asset entity
* mobile: refactor mobile api
* mobile: sync stack info after creating stack
* mobile: update timeline after deleting stack
* server: update asset updatedAt when stack is deleted
* mobile: simplify action
* mobile: rename to match dto property
* fix: web test
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2024-08-19 12:37:15 -05:00
Jason Rasmussen
f230b3aa42
feat(server): granular permissions for api keys ( #11824 )
...
feat(server): api auth permissions
2024-08-16 09:48:43 -04:00
Jason Rasmussen
32c05ea950
feat(server): do not automatically download android motion videos ( #11774 )
...
feat(server): do not automatically download embedded android motion videos
2024-08-15 20:06:16 +00:00
Jason Rasmussen
a4506758aa
refactor: auth service ( #11811 )
2024-08-15 09:14:23 -04:00
Jason Rasmussen
b288241a5c
refactor(server): enums ( #11809 )
2024-08-15 06:57:01 -04:00
Alex
5ec407b57c
chore(mobile): properly patch openapi with custom response dto ( #11753 )
2024-08-13 14:39:25 -05:00
Christoph Suter
f33dbdfe9a
feat(web): add Exif-Rating ( #11580 )
...
* Add Exif-Rating
* Integrate star rating as own component
* Add e2e tests for rating and validation
* Rename component and async handleChangeRating
* Display rating can be enabled in app settings
* Correct i18n reference
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com >
* Star rating: change from slider to buttons
* Star rating for clarity
* Design updates.
* Renaming and code optimization
* chore: clean up
* chore: e2e formatting
* light mode border and default value
---------
Co-authored-by: Christoph Suter <christoph@suter-burri.ch >
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com >
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2024-08-09 17:45:52 +00:00
Michel Heusschen
4a42a72bd3
fix(server): use luxon for maxdate validator ( #11651 )
2024-08-08 09:02:39 -05:00
Justin Forseth
d3a5490e71
feat(server): search unknown place ( #10866 )
...
* Allow submission of null country
* Update searchAssetBuilder to handle nulls
andWhere({country:null}) produces `"exifInfo"."country" = NULL`. We want
`"exifInfo"."country" IS NULL`, so we have to treat NULL as a special
case
* Allow null country in frontend
* Make the query code a bit more straightforward
* Remove unused brackets import
* Remove log message
* Don't change whitespace for no reason
* Fix prettier style issue
* Update search.dto.ts validators per @jrasm91's recommendation
* Update api types
* Combine null country and state into one guard clause
* chore: clean up
* chore: add e2e for null/empty city, state, country search
* refactor: server returns suggestion for null values
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2024-08-02 03:27:40 +00:00
martyfuhry
2c05ceaf50
fix(server): external domain url validation ( #11493 )
...
* fix(web): Changes externalDomain to IsUrl()
* refactor(web): asset viewer actions (#11449 )
* refactor(web): asset viewer actions
* motion photo slot and more refactoring
fix(web): Changes externalDomain to IsUrl()
---------
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com >
2024-07-31 14:09:30 -04:00
Michel Heusschen
b73f7fe16f
refactor: deduplicate MemoryType and ReactionType enums ( #11479 )
...
* refactor: deduplicate memorytype and reactiontype enums
* fix mobile
2024-07-31 12:08:31 -05:00
Michel Heusschen
434bcec5cc
fix(server): correct person birth date across timezones ( #11369 )
...
* fix(server): correct person birth date across timezones
* fix test
* update e2e tests
* use Optional decorator
2024-07-29 19:52:04 -04:00
Jason Rasmussen
ebc71e428d
feat(server): reverse geocoding endpoint ( #11430 )
...
* feat(server): reverse geocoding endpoint
* chore: rename error message
2024-07-29 18:17:26 -04:00
Alex
ef7a6bb246
chore(web): change license wording and other things ( #11309 )
2024-07-26 10:34:35 -05:00
Michel Heusschen
8e6bc13540
feat: people infinite scroll ( #11326 )
...
* feat: people infinite scroll
* add infinite scroll to show & hide modal
* update unit tests
* show total people count instead of currently loaded
* update personsearchdto
2024-07-25 15:59:28 -04:00
Mert
9d2d556200
feat(server): accepted video containers ( #11274 )
...
* add accepted container config
* update api
* mp4 option makes no sense
* add to transcoding settings
* wording
* updated spec config
* formatting
2024-07-21 21:14:23 +00:00
Jason Rasmussen
25a380d023
feat(server): userinfo signing ( #10756 )
...
* feat(server): userinfo signing
* chore: e2e tests
2024-07-11 07:55:00 -04:00
Michel Heusschen
bd88b079ea
fix(server): avoid server error for invalid email data type ( #10978 )
...
* fix(server): avoid server error for invalid email data type
* add e2e test
* fix e2e
2024-07-10 07:58:06 -04:00
Jason Rasmussen
334a709cc6
refactor(server): partner search dto ( #10902 )
...
* refactor(server): partner search dto
* fix: missed reference
* mobile fix
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2024-07-08 16:41:39 -04:00
Michel Heusschen
d582ec02b1
fix(server): reset-admin-password command ( #10939 )
...
* fix(server): reset-admin-password command
* fix immichCli
2024-07-07 07:20:28 -04:00
Jason Rasmussen
e1f25b44d2
refactor(server): stack owner ( #10900 )
2024-07-05 16:16:53 -04:00
Zack Pollard
3b37b70626
feat(server): user and server license endpoints ( #10682 )
...
* feat: user license endpoints
* feat: server license endpoints
* chore: pr feedback
* chore: add more test cases
* chore: add prod license public keys
* chore: open-api generation
2024-07-01 17:43:16 +00:00
Zack Pollard
a2364a12cf
refactor: move /server-info endpoints to /server ( #10677 )
2024-06-28 17:08:19 +01:00
martin
37b5d92110
fix(web): new feature photo ( #9443 )
...
* fix: new feature photo
* fix: use updatedAt
2024-06-27 20:16:26 -04:00
Jason Rasmussen
8a445cac07
chore: build metadata ( #10612 )
...
feat: build metadata
2024-06-26 08:25:09 -04:00
Daniel Dietzler
5e9a7b17d9
fix(server): allow library id to be null in metadata search ( #10512 )
...
* fix: allow library id to be null in metadata search
* chore: open api
2024-06-20 16:02:05 -07:00
Daniel Dietzler
dddc06c3b2
feat: user preferences for archive download size ( #10296 )
...
* feat: user preferences for archive download size
* chore: open api
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2024-06-14 11:27:12 -04:00
Alex
e2a2c86a31
chore(server): optional originalMimeType in asset response payload ( #10272 )
...
* chore(server): optional originalMimeType in asset response payload
* lint
* Update web/src/lib/utils/asset-utils.ts
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
* fix permission of shared link
* test
* test
* test
* test server
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2024-06-13 09:21:47 -05:00
Michel Heusschen
a54e01ef2f
fix: load original image for gifs ( #10252 )
2024-06-13 05:57:46 -05:00
Jason Rasmussen
3d82005797
fix: no floats (replace with doubles) ( #10218 )
...
* fix: no floats (replace with doubles)
* Update server/src/utils/misc.ts
Co-authored-by: Zack Pollard <zackpollard@ymail.com >
---------
Co-authored-by: Zack Pollard <zackpollard@ymail.com >
2024-06-12 17:36:24 +01:00