shenlong
bd55f7e73a
chore: pump flutter_lints to 6.0 ( #30664 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-15 16:55:45 +05:30
shenlong
52edcc0c74
refactor: unify person model ( #30659 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-12 21:12:11 +05:30
shenlong
835c35e940
chore: migrate mobile translations accessor (2) ( #30668 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-11 14:41:12 +05:30
Santo Shakil
9862e50aab
fix(mobile): decode remote thumbnails at displayed size ( #29965 )
...
* fix(mobile): decode remote thumbnails at displayed size
* use nullable decode size and reuse the tapped thumbnail in the viewer
* clean up decode size naming and guards
2026-08-10 21:14:23 +06:00
Santo Shakil
35c2a90fca
fix(mobile): video playback controls dead for backed up videos opened from search ( #30587 )
...
* key video player state by asset id instead of hero tag
* expose id on BaseAsset instead of a separate playerKey
2026-08-09 23:54:55 +06:00
shenlong
6167618f5c
fix: asset stack stacked over asset details ( #30598 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-06 19:29:21 +05:30
shenlong
0687c0d3f7
fix: wire secondary action for bottom bar actions ( #30583 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-06 01:15:31 +05:30
shenlong
4be8e1a9fc
fix: asset viewer bottom bar action colors ( #30582 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-06 01:15:31 +05:30
shenlong
1c7c28bb0d
chore: more riverpod lints from dcm ( #30447 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-05 01:26:49 +05:30
shenlong
8450687db7
chore: riverpod lints from dcm ( #30446 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-05 01:26:49 +05:30
shenlong
cafd6c7c0f
refactor: cleanup actions & action tests ( #30265 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:44 +05:30
shenlong
3d42c1424c
refactor: mobile upload action ( #29949 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:43 +05:30
shenlong
0a97b4b099
refactor: mobile share actions ( #29947 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:42 +05:30
shenlong
9fcbb6eefc
refactor: mobile edit asset actions ( #30264 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:42 +05:30
shenlong
3f3bc44258
refactor: mobile delete action ( #29771 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:41 +05:30
shenlong
47d34e3b4b
refactor: mobile lock action ( #29767 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:41 +05:30
shenlong
5b0a324b68
feat: restore action ( #29374 )
...
* refactor: existing actions to new structure
# Conflicts:
# mobile/lib/presentation/actions/action.dart
# mobile/lib/presentation/actions/action.widget.dart
# mobile/lib/presentation/actions/asset_debug.action.dart
# mobile/lib/presentation/actions/favorite.action.dart
# mobile/lib/presentation/actions/partner.action.dart
# mobile/test/unit/presentation/actions/favorite_action_test.dart
* rename to actionitem
* review changes
* refactor: mobile restore action
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:40 +05:30
shenlong
fe5c8ed0fb
refactor: base action ( #29617 )
...
* refactor: existing actions to new structure
# Conflicts:
# mobile/lib/presentation/actions/action.widget.dart
# mobile/lib/presentation/widgets/action_buttons/favorite_action_button.widget.dart
# mobile/lib/presentation/widgets/action_buttons/unfavorite_action_button.widget.dart
# mobile/test/unit/presentation/partner_page_test.dart
* rename to actionitem
* more cleanup
* review changes
* lint changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-30 17:02:14 -04:00
shenlong
405020eeee
chore: enable use_build_context_synchronously lint ( #30367 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-30 20:10:36 +00:00
Adam Gastineau
e7aace436d
chore(mobile): Apply stricter linting rules for correctness ( #30372 )
...
* chore(mobile): Apply stricter linting rules for correctness
* Added discarded_futures rule
2026-07-30 19:39:24 +00:00
Adam Gastineau
858aeadce8
chore(mobile): Apply stricter linting rules for Flutter and known issues ( #30373 )
2026-07-30 15:15:35 -04:00
Adam Gastineau
d864a90811
chore(mobile): Apply stricter linting rules for formatting ( #30370 )
...
* chore(mobile): Apply stricter linting rules for formatting
* Formatting fixes
2026-07-30 08:56:46 +00:00
Santo Shakil
534b8746e4
fix(mobile): refresh person thumbnail when the featured photo changes ( #29350 )
2026-07-29 22:20:26 +05:30
Yaros
e508781125
fix: limit ocr overlay to images ( #30116 )
2026-07-21 20:23:04 +00:00
Peter Ombodi
a30ebab70c
fix(mobile): refresh asset stack after deleting viewer item ( #28164 )
...
* fix(mobile): refresh asset stack after deleting viewer item
* fix(mobile): clamp stack index,
filter visible stack assets
* refactor(mobile): simplify stack asset refresh handling
* fix(mobile): revert changes in DeleteLocalActionButton
* style(mobile): reformat code
* fix(mobile): remove redundant setStack
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
2026-07-22 01:48:47 +05:30
Santo Shakil
e81a79224c
fix(mobile): stop double close animation when dismissing an asset ( #29413 )
2026-07-21 19:08:45 +05:30
Adam Gastineau
45a6ea84af
fix(mobile): prevent crash on video widget dispose ( #30078 )
2026-07-20 19:00:37 +00:00
shenlong
f19f30ec66
fix: reset override for kebab buttons ( #29380 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-17 01:19:55 +05:30
Adam Gastineau
c84ab54889
fix(mobile): clear zoom state when swapping assets ( #29909 )
2026-07-14 12:18:18 -05:00
Alex
f2ddace584
fix: system appbar icon color has incorrect color in asset viewer ( #29885 )
2026-07-13 14:50:38 -05:00
Santo Shakil
c4f084f4a5
fix(mobile): play videos from search results and folder view ( #29693 )
...
* fix(mobile): play videos from search results and folder view
* pr suggestion
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-08 20:22:35 +00:00
Adam Gastineau
a225c962de
fix(mobile): properly handle live photos locally ( #29462 )
...
* fix(mobile): properly handle live photos locally
* Added basic motion photo data tests
* Cover mismatched platforms and motion photos
* Revert unnecessary storage.repository changes
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-07-07 12:25:43 -05:00
Santo Shakil
6e1143e799
fix(mobile): hide video thumbnail when video is ready ( #29012 )
2026-06-26 22:20:40 -05:00
shenlong
cb1af3a8ec
feat: favorite bottom sheet action ( #29320 )
...
* chore: cleanup partner action test
* feat: favorite bottom sheet action
* review suggestions
* implicit favorite handling
* feat: viewer favorite icon to action (#29321 )
* feat: viewer favorite icon to action
* feat: advance info action
* implicit favorite handling
* feat: viewer favorite icon to action
# Conflicts:
# mobile/lib/presentation/widgets/asset_viewer/viewer_top_app_bar.widget.dart
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* chore: timeline action test (#29324 )
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* clear selection only on success
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-25 16:55:06 -04:00
Yaros
4099fa6b4a
fix(mobile): app doesn't exit full-screen mode ( #29301 )
...
* fix(mobile): app doesn't exit full-screen mode
* chore: rename restoreSystemUI to restoreEdgeToEdge
2026-06-24 20:48:01 -05:00
Santo Shakil
d227ba2d51
fix(mobile): stale details after editing asset date ( #28977 )
2026-06-10 21:32:02 -05:00
Alex
d3438cf4a7
chore: improve OCR button and display on mobile ( #28926 )
...
* chore: improve OCR button and display on mobile
* Refactor
* format
* simplify ocr toggle button
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-09 13:20:18 -05:00
Yaros
733373c0ca
feat(mobile): ocr support ( #26523 )
2026-06-05 04:29:03 +05:30
Mees Frensel
99281de6ab
refactor!: disallow star rating < 1 ( #27896 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: timonrieger <mail@timonrieger.de>
2026-06-04 17:06:28 +00:00
Peter Ombodi
9d4a6614b1
feat(mobile): Android. Immich as a gallery / image viewer app ( #26109 )
...
* feat(mobile): handle Android ACTION_VIEW intent
- add ViewIntent Pigeon API and generated bindings
- implement Android ViewIntentPlugin + iOS no-op host
- route ExternalMediaViewer by ViewIntentAttachment
- buffer pending view intents and flush on user ready/resume
* feat(mobile): fallback to computed checksum for timeline match
- hash local asset on-demand when checksum missing
- search main timeline by localId or checksum before standalone viewer
- persist computed hash into local_asset_entity
* fix(mobile): proper handling is user authenticated
* feat(mobile): open ACTION_VIEW fallback in AssetViewer
drop ExternalMediaViewer route
* feat(mobile): add logger
* test(mobile): add unit tests for view intent pending/flush flow
* fix(mobile): fix format
* fix(mobile): remove redundant iOS code
update code related to LocalAsset model and asset viewer
* 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
* refactor(mobile): extract MediaStore utils and resolve view intents via merged assets
* refactor(mobile): move deferred view intents into providers, split view-intent providers, and clean up ACTION_VIEW handling
* refactor(mobile): resolve merge conflicts
use NativeSyncApi for hash files instead method from removed BackgroundServicePlugin.kt
* style(mobile): format files
* style(mobile): format files #2
* refactor(mobile): lazily materialize view-intent files and clean up temp-file handling
* fix(mobile): flush pending view intents after login navigation
* refactor(mobile): split view intent handler by platform and trigger it from app events
* refactor(mobile): move view intent handling behind platform-specific factories
* refactor(mobile): simplify code
* 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.
* refactor(mobile): use remote asset ids for view intent handoff and simplify resolver
* refactor(mobile): resolve merge conflicts
* style(mobile): reformat code
* style(mobile): reformat code #2
* fix(mobile): stabilize Android view intent asset resolution and fallback viewer
* refactor(mobile): share AssetViewer pre-navigation state preparation
* fix(mobile): wait for main timeline before deferred view intent handoff
* refactor(mobile): decouple view intent asset resolver from providers
* fix(mobile): avoid double pop when canceling upload dialog
* fix(mobile): resolve view intent MIME type with fallbacks
* docs(mobile): clarify view intent fallback asset TODO
* fix(mobile): resolve merge conflicts
* cleanup
* lint
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2026-06-03 12:05:52 -05:00
Timon
109e0a7ad0
fix(mobile): invisible ink splashes in asset sheet ( #28756 )
2026-06-02 10:37:20 -05:00
shenlong
14aff51da9
refactor: rename metadata to settings ( #28691 )
...
rename metadata to settings
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-05-30 10:27:55 -05:00
Luis Nachtigall
7384799f19
fix(mobile): asset viewer stuck on spinner after rotation ( #28019 )
2026-05-18 20:32:51 +05:30
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
Inês Costa
84a2b7a3c8
fix(mobile): add restore option to trashed assets ( #27442 )
2026-05-14 07:19:00 +00: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
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
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