Dag Stuan
e5094d54e9
fix(mobile): Keep asset viewer controls hidden if they were hidden before zooming. ( #31832 )
2026-10-16 14:57:44 +06:00
Lee, Hyo jun
83594a0cee
fix(mobile): sort time zones by name within the same offset ( #32087 )
2026-10-16 14:57:13 +06:00
Santo Shakil
3ae7111741
fix(mobile): save typed coordinates in the location picker ( #32460 )
2026-10-15 23:57:39 +06:00
renovate[bot]
c43573bb2e
fix(deps): update dependency intl-messageformat to v12 ( #31918 )
...
* fix(deps): update dependency intl-messageformat to v12
* fix: pnpmfile checksum
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-15 11:50:53 +00:00
renovate[bot]
93d376ac51
fix(deps): update dependency nestjs-cls to v7 ( #31920 )
...
* fix(deps): update dependency nestjs-cls to v7
* fix: pnpmfile checksum
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-15 13:21:46 +02:00
renovate[bot]
9bb78b30fb
chore(deps): update dependency @types/node to ^24.19.2 ( #32129 )
...
* chore(deps): update dependency @types/node to ^24.19.2
* fix: pnpmfile checksum
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-15 12:45:11 +02:00
renovate[bot]
9755f64684
fix(deps): update dependency react-email to v6 ( #32143 )
...
* fix(deps): update dependency react-email to v6
* fix: move all react email imports to react-email
* fix: linting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-15 11:58:34 +02:00
Luis Nachtigall
2a8f8324e4
fix(mobile): update share quality option text from "Thumbnail" to "Preview" ( #32340 )
...
fix(translations): update share preview text
Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com >
2026-10-15 04:03:41 +06:00
renovate[bot]
03f75b50b1
chore(deps): update rust crate libc to v0.2.190 ( #32390 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com >
2026-10-15 03:52:00 +06:00
Lee, Hyo jun
3d07c061a3
fix(mobile): render random widget images at the widget's display resolution ( #32215 )
...
* fix(mobile): render random widget images at the widget's display resolution
* fix(mobile): cap widget image decode size for panoramas
2026-10-15 03:40:01 +06:00
bo0tzz
b2a13cf542
chore: add auto-closed:translations label ( #32451 )
2026-10-14 20:17:48 +00:00
Luis Nachtigall
0d1e1ffecd
fix(mobile): show play instead of replay button for unplayed videos ( #32307 )
...
* fix(mobile): show play instead of replay button for unplayed videos
* fix(video): clarify comment for playback status handling
2026-10-14 10:34:29 -07:00
renovate[bot]
cace887201
fix(deps): update typescript-projects ( #32128 )
...
* fix(deps): update typescript-projects
* fix: downgrade zod
* chore: update lockfile
* fix: update mise lockfile
* chore: pin supported mise platforms
* fix: linting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-14 19:12:34 +02:00
renovate[bot]
62ce1b9f4b
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.10.9 ( #32131 )
...
* chore(deps): update ghcr.io/jdx/mise docker tag to v2026.10.9
* fix: lockfile
* chore: upgrade mise lockfile
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-14 18:11:15 +02:00
Zack Pollard
6b79a82800
perf(server): improve people query performance ( #32405 )
...
fix(server): slow people query
2026-10-14 17:02:26 +02:00
renovate[bot]
8352299f26
chore(deps): update github-actions ( #32389 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-14 17:01:43 +02:00
bo0tzz
48631ee363
chore: keep mise java on OpenJDK ( #32439 )
2026-10-14 16:25:52 +02:00
Luis Nachtigall
b246fa7c8a
feat(mobile): limit max zoom by image pixel size ( #32423 )
...
* fix(mobile): limit max zoom by visible image pixels
* fix(mobile): limit max zoom by image pixel size
2026-10-14 07:01:32 -07:00
Jason Rasmussen
cc1e236365
feat: server feature level ( #32178 )
...
* feat: server feature level
* fix: correctly compute feature level
2026-10-14 09:56:49 -04:00
Jason Rasmussen
9d8435973e
fix: medium test ( #32418 )
2026-10-14 09:56:47 -04:00
Will
83c7ec5005
feat(mobile): mobile tags ( #30753 )
...
* feat(mobile): mobile tags
* fix(mobile); refactoring, replaced hook
* tag provider through asset service
* make search use a tag set
* use tag action directly
* use notification listener
* untag action
* handle untag response
* fix tests and add untag action test
* fix material error from tag picker dialog
* fix(mobile): clip tag picker tiles and update tag overflow
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com >
2026-10-14 15:10:26 +05:30
bo0tzz
9ba71d908d
chore(ci): drop setup-java and setup-uv in favour of mise ( #32400 )
2026-10-14 00:06:10 -04:00
bo0tzz
ac453b5557
perf(server): stop aggregating every album asset when loading a shared link ( #32412 )
...
SharedLinkRepository.get (shared link page load, /shared-links/me, and the
OpenGraph tags rendered for /share/:key) json_agg'd every asset of the
album, with its full exif row, ordered by fileCreatedAt. The only things
used from it are the asset count and the first/last localDateTime.
Load the album without assets and fill assetCount/startDate/endDate from
getMetadataForIds, which is what GET /albums/:id already uses. The counts
now also respect the default visibility filter, and the dates are
formatted the same as on /albums/:id.
150k-asset album link, PG 14:
| | before | after |
|------------------------|-----------------|--------|
| query | 4.2-6.5 s | ~0.26 s (metadata aggregate) |
| JSON built by postgres | 261 MB | - |
| GET /shared-links/me | - | 0.28 s, 961 B |
2026-10-13 18:39:08 -04:00
bo0tzz
2a4e876ec9
perf(server): stop loading every album asset to build album responses ( #32413 )
...
* perf(server): stop loading every album asset to build album responses
Album create, update (rename, description, cover, sort order, activity
toggle) and add-users json_agg'd every asset of the album with its exif
row, only for mapAlbum to read the count and the first/last
localDateTime. Use getMetadataForIds for those fields, as GET /albums/:id
already does, and drop the now unused withAssets option from getById.
The responses now carry the same date format and lastModifiedAssetTimestamp
as GET /albums/:id.
PATCH /albums/:id on a 150k-asset album, PG 14 (response is ~900 B either
way): 3.4-3.6 s -> 0.13-0.16 s.
* refactor(server): share album metadata mapping
2026-10-13 18:36:20 -04:00
bo0tzz
bb024c8626
perf(server): check shared link asset access without scanning the album ( #32411 )
...
* perf(server): check shared link asset access without scanning the album
checkSharedLinkAccess runs on every thumbnail, preview, playback and asset
info request made through a shared link. It joined every asset of the
link's album and only then filtered on an array overlap across four
outer-joined columns, so each request cost O(album size).
Split it into two branches (link assets, album assets) that find the
requested ids through the asset pkey / livePhotoVideoId index and then
probe the album_asset pkey.
Median per request, PG 14, 1.36M-asset instance:
| album behind the link | before | after |
|-----------------------|--------|---------|
| 290 assets | 2.1 ms | 0.17 ms |
| 150k assets | 296 ms | 0.19 ms |
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-10-13 18:33:29 -04:00
renovate[bot]
aec0dd1e6b
chore(deps): update base-image to v202610131110 ( #32410 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-13 16:57:07 +02:00
DawidKrynski
d519140a6c
fix(web): update album start date when the album changes ( #32242 )
...
Co-authored-by: Dawid Krynski <188586034+DawidKrynski@users.noreply.github.com >
2026-10-13 09:41:19 -04:00
Mees Frensel
60c5aa1f25
fix(web): event manager forgetting subscribed callbacks ( #32217 )
...
* fix(web): event manager forgetting subscribed callbacks
* fix: asset viewer manager
* fix PR feedback
2026-10-13 09:40:09 -04:00
renovate[bot]
8c76ef2ade
chore(deps): update base-image to v202610061109 ( #32392 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-13 14:57:40 +02:00
bo0tzz
5380498deb
chore: add compose textarea description to issue template ( #32402 )
...
Hopefully this stops people from just dropping "n/a" when they're using an unsupported deployment
2026-10-13 10:02:04 +02:00
Santo Shakil
024e8e7696
chore(mobile): hide the database export in release builds ( #32285 )
2026-10-13 13:11:22 +06:00
Adi Čaušević
cc7fd67197
fix(web): don't swallow Escape in sidebar ( #32364 )
2026-10-12 11:22:05 +02:00
Luis Nachtigall
8cfee782bd
fix(i18n): remove unused load preview translations ( #32343 )
2026-10-11 21:33:33 -05:00
sevtdy
c673a608d0
fix(web): round top corners of queue status badge ( #32360 )
2026-10-12 02:33:29 +00:00
Luis Nachtigall
795507cfec
refactor(mobile): cleanup image providers ( #31824 )
...
* refactor(mobile): remove redundant cancellation checks in image providers
* refactor(mobile): extract request helpers in full image providers
2026-10-11 11:49:29 -07:00
bo0tzz
2685234ed3
chore: set ml revision in default compose ( #32289 )
2026-10-09 21:16:30 -04:00
Ștefan Muraru
b4f35cb43d
fix(ml): Round OCR max resolution up to a multiple of 32 ( #32263 )
...
fix(ml): round ocr max resolution up to a multiple of 32
2026-10-09 11:05:02 -04:00
Brandon Richardson
d8454261cd
fix(logging): avoid multiline logging of feature flags in server service ( #32275 )
...
When logging feature flags at startup, avoid stringifying the features
in pretty format. Multiline log messages clutter logs and make it harder
to ingest and parse in log aggregation systems like loki, graylog or
logz.io.
2026-10-09 09:46:16 -04:00
Santo Shakil
116a9436ad
fix(mobile): show the memories date in every app language ( #32259 )
2026-10-09 14:47:44 +06:00
Weblate (bot)
8906941744
chore(web): update translations ( #32029 )
...
Translate-URL: https://hosted.weblate.org/projects/immich/immich/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/eo/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ga/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/vi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hans/
Translation: Immich/immich
Co-authored-by: Adam Havránek <adamhavra@seznam.cz >
Co-authored-by: Aidar Nizamov <aidar.nizamov141@gmail.com >
Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com >
Co-authored-by: Alessandro Mandelli <mandelli.alessandro@ngi.it >
Co-authored-by: Andrei “Talkerbox” Audzei <bigtalkerbox@gmail.com >
Co-authored-by: Arif Budiman <arifpedia@gmail.com >
Co-authored-by: Azharul Haque <haque@azharul.com >
Co-authored-by: BenWen <Benjamin.wensky@de.abb.com >
Co-authored-by: Céleste C. <clst04@proton.me >
Co-authored-by: DevServs <bonov@mail.ru >
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat >
Co-authored-by: Gabriel <jellyfin.sensitize624@passmail.net >
Co-authored-by: Gonçalo Guedes <goncalo.manuelguedes@gmail.com >
Co-authored-by: Hans Cats <hanscats@gmail.com >
Co-authored-by: Happy <59247878+happy2452354@users.noreply.github.com >
Co-authored-by: Haru Ijima <haruijimakun@gmail.com >
Co-authored-by: Hurricane_32 <rodrigorimo@hotmail.com >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Idan <idan062@gmail.com >
Co-authored-by: Indrek Haav <indrekhaav@users.noreply.hosted.weblate.org >
Co-authored-by: Ivan Dimitrov <idimitrov08@gmail.com >
Co-authored-by: Jozef Gaal <preklady@mayday.sk >
Co-authored-by: KecskeTech <teonyitas@gmail.com >
Co-authored-by: Lars Winkelmann <lars@winkelmaenner.com >
Co-authored-by: Levan Makaradze <levanluk77@gmail.com >
Co-authored-by: Luis Fernando Illapa <moxb@outlook.es >
Co-authored-by: MarcSerraPeralta <marcserraperalta@gmail.com >
Co-authored-by: Matjaž T. <matjaz@moj-svet.si >
Co-authored-by: Mees Frensel <meesfrensel@gmail.com >
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com >
Co-authored-by: Nagy Krisztián <nkgy17@gmail.com >
Co-authored-by: Nicola Bortoletto <translate@nicolabortoletto.com >
Co-authored-by: Oğuz Ersen <oguz@ersen.moe >
Co-authored-by: Rika <spurdl@users.noreply.hosted.weblate.org >
Co-authored-by: Spiros Vlachos <vitaspiros@gmail.com >
Co-authored-by: Sylvain Pichon <service@spichon.fr >
Co-authored-by: Tamás <sztom313@proton.me >
Co-authored-by: Tim Morley <weblate.3919org@timsk.org >
Co-authored-by: Télio R <telio_rq@proton.me >
Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org >
Co-authored-by: Yoshi <yyyyyoshihoko@gmail.com >
Co-authored-by: aws <antonws2@gmail.com >
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl >
Co-authored-by: heizelnut <git@heiz.cc >
Co-authored-by: pyccl <changcongliang@163.com >
Co-authored-by: ruflas <juan75555@gmail.com >
Co-authored-by: waclaw66 <waclaw66@seznam.cz >
2026-10-08 21:01:50 +00:00
Alex
108a3cadbf
fix: show date on memories page ( #32206 )
...
* fix: show date on memories page
* Clean up API
* Drop imports
---------
Co-authored-by: Adam Gastineau <adam@agg.im >
2026-10-08 20:26:36 +00:00
infocus13
56319b76fc
fix: run workflow steps in their configured order ( #32240 )
...
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-08 21:39:38 +02:00
Jason Rasmussen
9971dade1b
fix: include unamed people in otherPeople ( #32237 )
2026-10-08 14:47:51 -04:00
Daniel Dietzler
a3c52d1396
feat: shared person indicator ( #32223 )
...
* feat: shared person indicator
* fix: styles
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-10-08 14:47:33 -04:00
Adam Gastineau
9640d9f5d2
fix(mobile): prevent rapid toggling and rerendering of cells ( #32200 )
...
* fix(mobile): prevent rapid toggling and rerendering of cells
* Apply Shakil's fix
2026-10-08 11:01:00 -07:00
Santo Shakil
0e63715394
chore(mobile): rename the native core crates and package ( #31986 )
2026-10-08 23:10:59 +06:00
Santo Shakil
135aba5d82
fix(mobile): stop long images squishing on android ( #32213 )
2026-10-08 23:10:40 +06:00
Shaquille_Oatmeal
96970cfba6
docs: Add MACHINE_LEARNING_MODEL_REVISION variable to docs ( #32221 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-08 19:05:58 +02:00
Jason Rasmussen
ce2cf6612d
fix: clarify people sharing does not share assets ( #32231 )
2026-10-08 18:41:52 +02:00
Daniel Dietzler
481a7bf3ae
chore: mark people users endpoints as beta ( #32232 )
2026-10-08 15:58:16 +00:00