Ben Beckford
1cc0ca9935
fix(mobile): fallback to remote thumbnail when local fails
2026-05-08 13:19:45 -07:00
Santo Shakil
238895cad9
fix(mobile): restore notification plugin init ( #28284 )
...
#27666 removed LocalNotificationService with the legacy stack, which
was the only place calling FlutterLocalNotificationsPlugin().initialize().
without it, ios never prompts for the notification perm on fresh
installs so background_downloader notifications get dropped silently.
restores the init in the same spot the deleted call used to live.
2026-05-08 10:45:52 +07:00
renovate[bot]
6050526360
fix(deps): update dependency connectivity_plus to v7 ( #22921 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-07 15:22:26 -04:00
shenlong
21af184045
refactor: move cleanup config to metadata table ( #28225 )
...
* refactor: app metadata
* refactor to per row store
* cleanup
* more test
* review changes
* more refactor
* refactor
* migrate primary color
* migrate dynamic theme
* migrate colorfulInterface
* cleanup providers
* migrate cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-07 11:27:06 -05:00
Timon
1fcc2b704b
feat(server)!: add isOwned filter to albums API ( #28213 )
...
* feat(server)!: add owned filter to albums API
BREAKING CHANGE: GET /albums with no parameters now returns all accessible albums (owned + shared-with-me) instead of only owned albums.
* document tri-state matrix
* web impl
* collapse to single method and handover branching to sql
* dedupe
* verify that owned, shared, and notShared counts are mapped independently from their respective queries
* refactor(server): add select:['id'] overload to albumRepository.getAll
Avoid fetching full album rows (with albumUsers/sharedLinks subqueries) in map.service where only album IDs are needed.
* focus relevant test filters
* fmt
* Revert "verify that owned, shared, and notShared counts are mapped independently from their respective queries"
This reverts commit 47aab458192c766de4662aada5a6841b091d2a80.
* sync sql
* Revert "document tri-state matrix"
This reverts commit a5b2355d0c .
* address review comments
* inline shared condition and return as ternary
* sync sql
* use [...albums].sort
Array.toSorted() is not supported in Chrome 109
* use isShared and isOwned nomenclature
* fix e2e tests
* add params to sql query
2026-05-07 12:13:07 -04:00
TheBestX11
fe2bf0c6dd
fix(mobile): correct filter default and UI desync in similar photos search ( #27516 )
...
* fix(mobile): view similar defaults to images only
* fix(mobile): reset filter chips when pre-filter is applied
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2026-05-07 15:22:35 +00:00
shenlong
d4a97f2d25
refactor: move theme config to metadata table ( #28224 )
...
* refactor: app metadata
* refactor to per row store
* cleanup
* more test
* review changes
* more refactor
* refactor
* migrate primary color
* migrate dynamic theme
* migrate colorfulInterface
* cleanup providers
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-07 15:12:14 +00:00
shenlong
bd58db4fcc
fix: periodically execute pragma optimize ( #28241 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-07 09:54:35 -05:00
Luis Nachtigall
7f43c6a3a3
fix(mobile): prevent asset loading issues when changing page or when closing memories ( #27596 )
2026-05-07 09:13:22 -04:00
Thomas
f09769a2f3
chore(mobile): add box shadow to asset details ( #27510 )
...
The details widget can blend with the image when they are similar
colours.
2026-05-06 19:43:55 +00:00
shenlong
dafe9d7966
chore: pump version ( #28231 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-05 16:27:04 -05:00
Ben Beckford
0058df798d
fix(mobile): show lens info without lens name ( #28234 )
...
* fix(mobile): always display lens subtitle
* fix(mobile): hide empty lens subtitles
2026-05-05 10:46:09 +07:00
shenlong
97100a4362
refactor: app metadata ( #28113 )
...
* refactor: app metadata
* refactor to per row store
* cleanup
* more test
* review changes
* more refactor
* refactor
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-05 10:45:51 +07:00
Timon
d4f29ab6ac
fix(server): validate duplicate group ownership before dismissal ( #28221 )
2026-05-04 12:51:54 +02:00
shenlong
88e5e8d6ea
chore: pump dcm to 1.37.0 ( #28188 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-01 15:39:29 -05:00
shenlong
ee107c98d5
chore: pump flutter to 3.41.9 ( #28187 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-01 15:39:19 -05:00
Mert
b554664791
chore!: duration in milliseconds ( #28003 )
...
* server changes
* openapi
* web changes
* mobile changes
* assume 3.0 client
* deprecate
* review feedback
* update medium tests
* linting
2026-04-30 09:44:27 -04:00
Alex
bc4abd18e4
feat: update iOS CI/CD with FUTO build credential ( #28146 )
...
* update email
* Update fastfile
* use different apple id
* debug build
* build only
2026-04-29 09:06:35 -05:00
Peter Ombodi
b74cfd4424
fix(mobile): suppress asset stack UI in trash timeline ( #26536 )
...
* fix(mobile): suppress asset stack UI in trash timeline
* refactor(mobile): apply review suggestions
* fix(mobile): hide unstack action in the trash timeline
* fix(mobile): move stack indicator out of asset type icons
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
2026-04-29 17:49:47 +07:00
Timon
013ea37a0d
refactor!: change number to integer types ( #27912 )
...
* refactor!: change number to integer types
* fix oversight
2026-04-28 11:25:03 -04:00
Peter Ombodi
5a457d72c9
fix(mobile): delete assets on trash empty, Android ( #26070 )
...
* fix(mobile): improve trash sync flow
- trash local assets on remote delete events
- unify remote trash handling and support assetDelete cleanup by remote asset id
- update sync stream tests
* fix(mobile): revert pubspec.lock
* refactor(mobile): remove helper
remove unused columns from results
* refactor(mobile): use remoteIds in getAssetsFromBackupAlbums and remove getAssetsFromBackupAlbumsByRemoteIds
refactor tests
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
2026-04-27 18:46:49 +05:30
Yaros
39cfad7136
feat(mobile): action bottom sheet on map timeline ( #27515 )
2026-04-24 09:30:10 -05:00
Alex
f0835d06f8
chore: migrate to FUTO Apple's account ( #28020 )
...
* chore: migrate to FUTO Apple's account
* chore: migrate to FUTO Apple's account
* chore: match widget and share extension
* chore: update app share group
* reuse group.app.immich.share
2026-04-22 11:53:20 -05:00
Alex
03b70cf029
fix: jump to timeline on new auto_router update ( #28022 )
2026-04-22 10:21:48 -05:00
Daniel Dietzler
4bfb8b36c2
chore!: migrate album owner to album_user ( #27467 )
...
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-22 16:52:23 +02:00
Luis Nachtigall
793a7054fb
fix(mobile): thumbnail transition to asset viewer ( #27850 )
2026-04-21 15:54:40 -05:00
Luis Nachtigall
3a874dd441
fix(mobile): enable autoplay for motion photos in video viewer ( #27961 )
2026-04-21 15:53:21 -05:00
Luis Nachtigall
3dc7dc93d8
fix(mobile): clear local data on forced logout ( #27957 )
2026-04-21 15:52:00 -05:00
Yaros
70397dc5a6
fix(mobile): zero exposure ( #28017 )
2026-04-21 15:47:27 -05:00
Jason Rasmussen
a16d233a0c
chore(web): sort imports ( #27922 )
...
* feat: sort imports
* fix: something?
2026-04-21 14:51:38 -04:00
renovate[bot]
c2786978cd
fix(deps): update typescript-projects ( #28008 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-04-21 15:29:34 +02:00
Luis Nachtigall
539a39ae49
refactor(mobile): Migrate durationInSeconds to durationMs ( #26615 )
2026-04-20 23:28:11 -04:00
shenlong
d9011c0829
refactor: test organisation and service test ( #27991 )
...
* refactor: test organisation
# Conflicts:
# mobile/test/unit/utils/editor_test.dart
* regroup hash_service_test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-20 17:45:20 -04:00
shenlong
f909648bce
chore: pump flutter to 3.41.7 ( #27990 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-20 14:51:27 +00:00
Jason Rasmussen
94a34436a3
chore: remove unused packages & code ( #27925 )
2026-04-20 08:39:46 -04:00
shenlong
0eef15a3ab
chore(mobile): minor dependency updates ( #27949 )
...
* chore: minor dependency updates
* regenerate pod and remove unused imports
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-19 11:56:39 -05:00
shenlong
6982896549
feat: android periodic work manager task ( #23563 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-19 11:55:07 -05:00
LJspice
b8591cb591
feat(server): add OIDC logout URL override option ( #27389 )
...
* feat(server): add OIDC logout URL override option
- Added toggle and field consistent with existing mobile redirect URI override.
- Existing auto-discovery remains default.
- Update tests and docs for new feature.
* fix(server): changes from review for OIDC logout URL override
- Rename 'logoutUri' to 'endSessionEndpoint'
- Remove toggle, just use override if provided
- Moved field in settings UI
2026-04-18 04:18:21 +00:00
sparsh985
55f2b3b6a0
feat(server): add configurable OAuth prompt parameter ( #26755 )
...
* feat(server): add configurable OAuth prompt parameter
Add a `prompt` field to the OAuth system config, allowing admins to
configure the OIDC `prompt` parameter (e.g. `select_account`, `login`,
`consent`). Defaults to empty string (no prompt sent), preserving
backward compatibility.
This is useful for providers like Google where users want to be prompted
to select an account when multiple accounts are signed in.
Discussed in #20762
* chore: regenerate OpenAPI spec and clients for OAuth prompt field
* Adding e2e test cases
* feat: web setting
* feat: docs
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-04-17 21:20:07 +00:00
shenlong
fd5e8d6521
chore: pump auto_route ( #27876 )
...
* chore: pump auto_route
* make build
* chore: use drift from pubdev (#27877 )
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-17 20:28:36 +00:00
santanoce
dbf30b77bf
feat(server): added backchannel logout api endpoint ( #26235 )
...
* feat(server): added backchannel logout api endpoint
* test(server): fixed e2e tests
* fix(server): fixed suggested changes by reviewer
* feat(server): created function invalidateOAuth
* fix(server): fixed session.repository.sql
* test(server): added unit tests for backchannelLogout function
* test(server): added e2e tests for oidc backchnnel logout
* docs(server): added documentation on backchannel logout url
* docs(server): fixed typo
* feat(server): minor improvements of the oidc backchannel logout
* test(server): fixed tests after merge with main
* fix(server): fixed e2e test file
* refactor(server): tiny refactor of validateLogoutToken
* chore: cleanup
* fix: tests
* fix: make jwks extractable
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-04-17 18:45:33 +00:00
shenlong
2070f775d6
refactor: remove riverpod generator ( #27874 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-17 20:01:44 +05:30
Jason Rasmussen
2f8be45fe0
chore!: remove /api/server/theme endpoint ( #27880 )
...
chore: remove server/theme endpoint
2026-04-17 08:30:03 -04:00
Mees Frensel
7d181f0686
fix!: set duration to null when not present ( #26982 )
2026-04-17 11:57:10 +02:00
shenlong
2172dde7dc
chore: remove immich lint ( #27873 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-16 15:55:40 -05:00
Luis Nachtigall
fce220b1d7
chore(mobile): update special format column detection ( #27867 )
2026-04-16 14:01:59 -04:00
shenlong
2a47c35eb7
chore: pump flutter to 3.41.6 ( #27834 )
...
* chore: pump flutter to 3.41.6
* more isar cleanup
* ignore experimental use for TableMigration
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-16 22:26:46 +05:30
bo0tzz
3356e81c85
fix!: do not allow insecure oauth requests by default ( #27844 )
...
* fix!: do not allow insecure oauth requests by default
* fix: format
* fix: make open-api
* fix: tests
* nit: casing
* chore: migration to allow insecure if current oauth uses http
2026-04-16 10:11:58 -04:00
Yaros
37abbeba52
fix(mobile): readonly redirect when not logged in ( #27728 )
2026-04-15 20:20:08 -05:00
Jason Rasmussen
a69eecf3bc
chore!: remove without assets ( #27835 )
...
* chore!: remove without assets
* fix: linting and e2e
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-04-15 18:34:22 -04:00