Mert
c5c59ed040
refactor(server): move video interface fetch to storage core ( #28248 )
2026-05-06 09:32:03 -04:00
Brandon Wees
f3b7cd6198
refactor: move encoded video to asset files table ( #26863 )
...
* refactor: move encoded video to asset files table
* chore: update
2026-03-12 16:15:21 -04:00
Mert
9506398153
refactor(server): add isProgressive column ( #25537 )
...
* add isProgressive column
* don't select isProgressive by default
* linting
* exclude sidecars
2026-01-26 17:05:25 -05:00
Daniel Dietzler
1649d87360
refactor: extract isEdited into its own column in asset_file ( #25358 )
2026-01-21 16:08:21 +01:00
Brandon Wees
e8c80d88a5
feat: image editing ( #24155 )
2026-01-09 17:59:52 -05:00
Jonathan Jogenfors
1bcf28c062
chore(server): sidecars in asset_files ( #21199 )
...
* fix: sidecar check job
* feat: move sidecars to asset_files
* feat: combine with handleSidecarCheck
* fix(server): improved method signatures for stack and sidecar copying
* fix(server): improved method signatures for stack and sidecar copying
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2025-12-02 13:31:43 -05:00
Jason Rasmussen
4a6c50cd81
feat: endpoint versioning ( #23858 )
2025-11-13 08:18:43 -05:00
Sergey Katsubo
23fb2e0fae
chore(server): fix logger context in StorageCore ( #21534 )
...
* Fix logging context in StorageCore
* Revert "Fix logging context in StorageCore"
This reverts commit 0aa540afd1 .
* Fix logging context in StorageCore - one line change
2025-09-08 17:28:40 -04:00
Jason Rasmussen
58521c9efb
feat: change default media location to /data ( #20367 )
...
* feat!: change default media location to /data
* feat: dynamically detect media location
2025-07-29 16:58:50 -04:00
Jason Rasmussen
e73abe0762
refactor: enum casing ( #19946 )
2025-07-15 14:50:13 -04:00
Eli Gao
48bcbee6ed
feat(server): JXL previews from DNG 1.7+ ( #17861 )
...
* feat(server): JXL previews from RAW
* refactor(server): use var name assumedExtractedFormat for clarity
* test(server): fix existing media.extract() returning JPEG
* chore(openapi): regen
* style(server): lint
* fix(server): ignore undefined decode orientation
* fix(server): correct orientation assignment in media decode options
* test(server): unit tests of JXL-encoded DNG
* refactor(server): return buffer and format from mediaRepository.extract()
* chore(open-api): regen
* refactor
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-04-28 18:18:46 -04:00
Daniel Dietzler
f50e5d006c
refactor: dedicated queries for asset jobs ( #17652 )
2025-04-16 14:08:49 -04:00
Daniel Dietzler
21becbf1b0
refactor: dedicated query for asset migration job ( #17631 )
2025-04-15 15:49:15 -04:00
Mert
25f2b9602f
refactor(server): remove face, person and face search entities ( #17535 )
...
* remove face, person and face search entities
update tests and mappers
check if face relation exists
update sql
unused imports
* pr feedback
generate sql, remove unused imports
2025-04-11 14:44:45 -04:00
Mert
59e5c82569
fix(server): full-size images not migrated or deleted correctly ( #17308 )
...
* fix file path logic
* update tests
* add empty array fallback just in case for now
2025-04-01 18:11:46 -04:00
Eli Gao
5c80e8734b
feat: original-sized previews for non-web-friendly images ( #14446 )
...
* feat(server): extract full-size previews from RAW images
* feat(web): load fullsize preview for RAW images when zoomed in
* refactor: tweaks for code review
* refactor: rename "converted" preview/assets to "fullsize"
* feat(web/server): fullsize preview for non-web-friendly images
* feat: tweaks for code review
* feat(server): require ASSET_DOWNLOAD premission for fullsize previews
* test: fix types and interfaces
* chore: gen open-api
* feat(server): keep only essential exif in fullsize preview
* chore: regen openapi
* test: revert unnecessary timeout
* feat: move full-size preview config to standalone entry
* feat(i18n): update en texts
* fix: don't return fullsizePath when disabled
* test: full-size previews
* test(web): full-size previews
* chore: make open-api
* feat(server): redirect to preview/original URL when fullsize thumbnail not available
* fix(server): delete fullsize preview image on thumbnail regen after fullsize preview turned off
* refactor(server): AssetRepository.deleteFiles with Kysely
* fix(server): type of MediaRepository.writeExif
* minor simplification
* minor styling changes and condensed wording
* simplify
* chore: reuild open-api
* test(server): fix media.service tests
* test(web): fix photo-viewer test
* fix(server): use fullsize image when requested
* fix file path extension
* formatting
* use fullsize when zooming back out or when "display original photos" is enabled
* simplify condition
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2025-03-31 13:24:28 -04:00
Jason Rasmussen
9d85272c2b
refactor: repositories ( #16036 )
2025-02-11 14:08:13 -05:00
Jason Rasmussen
735f8d661e
refactor: test mocks ( #16008 )
2025-02-11 00:47:42 +01:00
Jason Rasmussen
03948a69e2
refactor: system metadata repository ( #15954 )
2025-02-07 17:26:49 -05:00
Jason Rasmussen
d3446f3092
refactor: logging repository ( #15540 )
2025-01-23 08:31:30 -05:00
Jason Rasmussen
9a27a99cab
refactor: config repository ( #15495 )
...
* refactor: access repository
* refactor: config repository
2025-01-21 13:13:09 -05:00
Alex
a35af2b242
refactor: migrate move repository to kysely ( #15327 )
...
* refactor: migrate move repository to kysely
* fix: tests
* fix: tests
2025-01-13 23:22:03 -05:00
Mert
4bf1b84cc2
feat(ml): support multiple urls ( #14347 )
...
* support multiple url
* update api
* styling
unnecessary `?.`
* update docs, make new url field go first
add load balancing section
* update tests
doc formatting
wording
wording
linting
* small styling
* `url` -> `urls`
* fix tests
* update docs
* make docusaurus happy
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2024-12-04 20:17:47 +00:00
Jason Rasmussen
930df46f74
chore(server): remove unused code ( #13367 )
2024-10-11 00:44:38 -04:00
Jason Rasmussen
63437529e1
refactor(server): config file env ( #13100 )
2024-10-01 16:03:55 -04:00
Jason Rasmussen
a019fb670e
refactor(server): config service ( #13066 )
...
* refactor(server): config service
* fix: function renaming
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2024-09-30 17:31:21 -04:00
Jason Rasmussen
f63d251490
refactor(server): user core ( #13063 )
2024-09-30 16:04:24 -04:00
Jason Rasmussen
a2d457b01d
refactor(server): events ( #13003 )
...
* refactor(server): events
* chore: better type
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2024-09-30 10:35:11 -04:00
Jason Rasmussen
12da250028
refactor: enums ( #12988 )
2024-09-27 10:28:42 -04:00
Daniel Dietzler
a7719a94fc
fix: normalize external domain ( #12831 )
...
chore: normalize external domain
2024-09-23 15:40:25 +00:00
Jason Rasmussen
d634ef2d2b
fix(server): person repo methods ( #12524 )
2024-09-10 08:48:29 -05: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
8285803c95
refactor: access core ( #11930 )
2024-08-20 07:49:56 -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
b288241a5c
refactor(server): enums ( #11809 )
2024-08-15 06:57:01 -04:00
Jason Rasmussen
24c1855899
fix: album remove asset bug ( #10687 )
...
* fix: album remove asset bug
* trigger GH Action
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2024-06-29 00:17:58 -04:00
Jason Rasmussen
e84657192c
refactor: config caching ( #10168 )
2024-06-12 11:07:35 +00:00
Jason Rasmussen
75830a4878
refactor(server): user endpoints ( #9730 )
...
* refactor(server): user endpoints
* fix repos
* fix unit tests
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2024-05-27 05:15:52 +07:00
Jason Rasmussen
95012dc19b
fix: config error logging ( #9738 )
2024-05-24 16:44:50 -04:00
Jason Rasmussen
7168707395
refactor(server): remove unused code ( #9737 )
2024-05-24 16:37:29 -04:00
Jason Rasmussen
06ce8247cc
feat(server): user metadata ( #9650 )
...
* feat(server): user metadata
* add missing method to user mock
* update migration to include cascades
* update sql files
* test: fix e2e
* chore: clean up
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2024-05-22 08:13:36 -04:00
Jason Rasmussen
84d824d6a7
refactor: library type ( #9525 )
2024-05-20 18:09:10 -04:00
Jason Rasmussen
984aa8fb41
refactor(server): system config ( #9517 )
2024-05-15 18:58:23 -04:00
Jason Rasmussen
73bf8f343a
chore(server): remove unused property ( #9521 )
2024-05-15 15:17:48 -04:00
Jason Rasmussen
0f129cae4a
refactor(server): feature flags ( #9492 )
2024-05-14 15:31:36 -04:00
Jason Rasmussen
7b1112f3e3
refactor(server): system config ( #9484 )
2024-05-14 14:43:49 -04:00
Jason Rasmussen
9c5a2b97bf
fix(server): put system config ( #9425 )
2024-05-13 16:29:39 +00:00
Mert
f3fbb9b588
perf: cache getConfig ( #9377 )
...
* cache `getConfig`
* critical fix
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2024-05-10 18:15:25 +00:00