shenlong-tanwen
0281de7ff6
cleanup
2026-05-23 05:41:14 +05:30
shenlong-tanwen
43554fc6cf
Merge remote-tracking branch 'origin/main' into feature/gallery_app
...
# Conflicts:
# mobile/android/app/src/main/kotlin/app/alextran/immich/sync/Messages.g.kt
# mobile/ios/Runner/Sync/Messages.g.swift
# mobile/lib/platform/native_sync_api.g.dart
2026-05-22 22:50:45 +05:30
shenlong
77701dd5a3
refactor: migrate backup config ( #28483 )
2026-05-19 00:40:10 +05:30
shenlong
d4808fdc4d
refactor: migrate album config ( #28482 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 23:28:59 +05:30
Luis Nachtigall
7384799f19
fix(mobile): asset viewer stuck on spinner after rotation ( #28019 )
2026-05-18 20:32:51 +05:30
Alex
4a7f06e8fd
feat: upload and add local asset directly to album ( #28123 )
...
* feat: manually upload local assets to album
* feat: manually upload local assets to album
* refactor
* Upload status
* pr feedback
2026-05-18 20:31:22 +05:30
Benjamin Nguyen
24b1dae9f2
feat(mobile): "Add Tags" asset multiselect option ( #26269 )
...
* add bulk_tag_assets_action_button to general_bottom_sheet.widget
include create tag tile in 'Add Tags' action modal
* follow provider -> svc -> repo pattern for tags
* rebase and cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-18 20:29:09 +05:30
Adam Gastineau
7993619ed2
fix(ios): respect status bar scroll to top in timeline views ( #28469 )
...
* fix(ios): respect status bar scroll to top in library views
* Make sure to wrap all loading states in Scaffold
2026-05-18 20:28:01 +05:30
Ben Beckford
0ef04d9baa
feat(mobile): slideshow view ( #28421 )
...
* feat(mobile): slideshow view
* move slideshow settings to metadata store
* remove watch in initState
* wrap progress bar in safearea
* show slideshow button on remote albums
* fix crash on unknown assets
* always show slideshow option
* add zoom effect
* add padding to slideshow settings
* chore: styling tweak
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-05-15 18:12:04 -05:00
Santo Shakil
df016f9228
fix(mobile): mounted check in ThumbnailTile hero flight listener ( #28451 )
...
When the user pops back from the asset viewer mid-flight, the hero
animation can fire its status listener after _ThumbnailTileState has
been disposed. setState then throws a null check on State._element.
Guard the listener with `if (!mounted) return;` — same pattern as
#28300 in the album sync action.
2026-05-15 21:41:04 +00:00
Alex
43687cd8b4
fix: kebab menu icon colors and actions ( #28433 )
2026-05-14 22:23:50 +00:00
Marius
37cc028868
fix(mobile): use correct delete action ( #26575 )
...
fix(mobile): use correct delete for trashed assets
When viewing a trashed asset, the viewer bottom bar now shows the permanent delete button instead of the trash button, which had no effect on already-trashed assets.
2026-05-14 11:57:19 +00:00
Peter Ombodi
7015e511e8
Merge remote-tracking branch 'origin/main' into feature/gallery_app
2026-05-14 13:13:46 +03:00
Peter Ombodi
96420bbf04
fix(mobile): resolve merge conflicts
2026-05-14 13:12:59 +03:00
Inês Costa
84a2b7a3c8
fix(mobile): add restore option to trashed assets ( #27442 )
2026-05-14 07:19:00 +00:00
Peter Ombodi
f4e275a257
Merge remote-tracking branch 'origin/main' into feature/gallery_app
...
# Conflicts:
# mobile/lib/infrastructure/entities/merged_asset.drift.dart
# mobile/lib/presentation/widgets/asset_viewer/asset_page.widget.dart
# mobile/lib/presentation/widgets/asset_viewer/asset_viewer.page.dart
# mobile/lib/presentation/widgets/asset_viewer/video_viewer.widget.dart
# mobile/makefile
2026-05-13 18:07:26 +03:00
shenlong
0a4ed6fd71
refactor: migrate viewer config to metadata table ( #28396 )
...
* 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
* migrate mapconfig
* remove unused keys
* migrate timeline config
* migrate image config
* migrate viewer config
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-13 09:36:19 -05:00
Alex
6ca54ee722
feat: display more info in asset viewer ( #24630 )
...
* feat(mobile): more info for asset viewer
* feat(mobile): more info for asset viewer
2026-05-13 02:07:23 +00:00
shenlong
79801595db
refactor: move image config to metadata table ( #28228 )
...
* migrate image config
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-13 03:20:35 +05:30
shenlong
91ac56cef2
refactor: move timeline config to metadata table ( #28227 )
...
* migrate timeline config
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-13 01:23:25 +05:30
shenlong
1932c60e1c
fix: kekab icon colors in light mode ( #28366 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-12 11:27:55 -05:00
shenlong
4d6a50c2cb
refactor: move map config to metadata table ( #28226 )
...
* 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
* migrate mapconfig
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-11 22:43:52 -05:00
shenlong
12f7b2a005
chore: add always_put_control_body_on_new_line lint ( #28352 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-11 13:47:24 -04:00
Yaros
41f285aa3e
feat(mobile): increased tap area on video player overlay ( #27269 )
...
* fix(mobile): improved tap area on video player
* fix: back button padding
* chore: use sizedbox.square & button padding
* chore: fixed padding
2026-05-09 10:47:41 +07: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
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
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
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
Peter Ombodi
eee3d2ce61
fix(mobile): avoid double pop when canceling upload dialog
2026-04-27 16:02:19 +03:00
Peter Ombodi
d96cb8d386
Merge remote-tracking branch 'origin/main' into feature/gallery_app
2026-04-27 13:03:53 +03:00
Yaros
39cfad7136
feat(mobile): action bottom sheet on map timeline ( #27515 )
2026-04-24 09:30:10 -05:00
Peter Ombodi
880155916f
refactor(mobile): share AssetViewer pre-navigation state preparation
2026-04-23 17:15:19 +03:00
Peter Ombodi
84854a8575
fix(mobile): stabilize Android view intent asset resolution and fallback viewer
2026-04-23 16:10:17 +03:00
Alex
03b70cf029
fix: jump to timeline on new auto_router update ( #28022 )
2026-04-22 10:21:48 -05:00
Peter Ombodi
0276e86895
Merge remote-tracking branch 'origin/main' into feature/gallery_app
...
# Conflicts:
# mobile/android/app/src/main/kotlin/app/alextran/immich/sync/Messages.g.kt
# mobile/ios/Runner/Sync/Messages.g.swift
# mobile/lib/infrastructure/entities/merged_asset.drift.dart
# mobile/lib/platform/native_sync_api.g.dart
2026-04-22 13:46:14 +03:00
Peter Ombodi
90d9d0075a
refactor(mobile): use remote asset ids for view intent handoff and simplify resolver
2026-04-22 13:37:42 +03: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
Peter Ombodi
6b7b029562
fix(mobile): hand off deep-link viewer to main timeline after upload
...
Add MainTimelineHandoffCoordinator to switch the asset viewer to the main timeline once a view-intent asset is uploaded and becomes available, and guard viewer reload/navigation transitions to avoid race conditions and crashes.
2026-04-21 19:00:24 +03: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
Peter Ombodi
80c9796abe
Merge remote-tracking branch 'origin/main' into feature/gallery_app
2026-04-17 18:42:28 +03: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
Peter Ombodi
275c324e8d
Merge remote-tracking branch 'origin/main' into feature/gallery_app
...
# Conflicts:
# mobile/android/app/src/main/kotlin/app/alextran/immich/BackgroundServicePlugin.kt
# mobile/android/app/src/main/kotlin/app/alextran/immich/MainActivity.kt
# mobile/lib/main.dart
2026-04-17 16:29:59 +03:00
Peter Ombodi
4354431327
refactor(mobile): move deferred view intents into providers, split view-intent providers, and clean up ACTION_VIEW handling
2026-04-17 16:21:22 +03:00
Peter Ombodi
b3b0b0f576
refactor(mobile): simplify view intent flow and support file-backed ACTION_VIEW assets
...
remove redundant view intent model/repository layer
handle transient ACTION_VIEW files in viewer/upload flow
clean up managed temp files for fallback assets
2026-04-16 14:34:08 +03:00
shenlong
79fccdbee0
refactor: yeet old timeline ( #27666 )
...
* refactor: yank old timeline
# Conflicts:
# mobile/lib/presentation/pages/editing/drift_edit.page.dart
# mobile/lib/providers/websocket.provider.dart
# mobile/lib/routing/router.dart
* more cleanup
* remove native code
* chore: bump sqlite-data version
* remove old background tasks from BGTaskSchedulerPermittedIdentifiers
* rebase
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-15 23:00:27 +05:30
Brandon Wees
6dd6053222
feat: mobile editing ( #25397 )
...
* feat: mobile editing
fix: openapi patch
this sucks :pepehands:
chore: migrate some changes from the filtering PR
chore: color tweak
fix: hide edit button on server versions
chore: translation
* chore: code review changes
chore: code review
* sealed class
* const constant
* enum
* concurrent queries
* chore: major cleanup to use riverpod provider
* fix: aspect ratio selection
* chore: typesafe websocket event parsing
* fix: wrong disable state for save button
* chore: remove isCancelled shim
* chore: cleanup postframe callback usage
* chore: clean import
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2026-04-15 09:26:40 -05:00
Luis Nachtigall
d39e7da10d
fix(mobile): fix flutter cache eviction on thumbnails ( #27663 )
...
* fix: add markFinished parameter to loadRequest and loadCodecRequest methods
* update loadRequest and loadCodecRequest methods to use isFinal
* Apply suggestions from code review
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
* remove redundant check
* fix: ensure isFinished is set correctly during cache eviction
* formatting
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
2026-04-10 10:28:55 -05:00
Luis Nachtigall
2b0f6c9202
fix(mobile): improve image load cancellation handling ( #27624 )
...
fix(image): improve image load cancellation handling
2026-04-08 17:23:42 -04:00
Thomas
fbe631fe91
fix(mobile): convert video controls from hook to stateful widget ( #27514 )
...
We are generally looking to move away from hooks as they are hard to
reason about and have weird bugs. In particular, the timer did not
properly capture the ref of the callback, and so it would execute on old
state. A standard stateful widget does not have this problem, and is
easier to organise.
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-04-06 10:13:45 -05:00