bwees
5a2649a59c
feat: edit color filters
2026-02-18 23:40:44 -06:00
bwees
22317b0360
feat: mobile editing
2026-02-18 23:05:13 -06:00
Thomas
5c6433b4ca
feat(mobile): inline asset details ( #25952 )
...
The existing implementation for showing asset details uses a bottom
sheet, and is not in sync with the preview or scroll intent. Other apps
use inline details, which is much cleaner and feels better to use.
2026-02-17 09:24:34 -06:00
Romo
bcea64875f
fix: image and video download complete notification shows "file_name" ( #25975 )
...
* fix: image and video download complete notification shows "file_name"
* fix lint
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-07 02:56:14 +00:00
Romo
1b3c0e4f65
fix: image download complete notification shows an extra {file_name} template tag ( #25936 )
...
* [fix] Image download complete notification shows an extra {file_name} template tag
fixes https://github.com/immich-app/immich/issues/25690
added
```dart
final FileName = 'file_name'.t( args: {'file_name': '{filename}', }, );
```
* chore: fix formatting
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-02-05 19:19:33 +00:00
Mert
27a2808470
fix(mobile): mtls on native clients ( #25802 )
...
* handle mtls on ios
* update android impl
* ui improvements
* dead code
* no need to store data separately
* improve concurrency
* dead code
* add migration
* remove unused dependency
* trust user-installed certs
* removed print statement
* fix ios
* improve android styling
* outdated comments
* update lock file
* handle translation
* fix prompt cancellation
* fix video playback
* Apply suggestion from @shenlong-tanwen
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* Apply suggestion from @shenlong-tanwen
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* formatting
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2026-02-05 17:42:53 +00:00
Mert
ba2dfa7df6
refactor(mobile): consolidate image requests ( #25743 )
...
remote url image provider
remove cached_network_image
formatting
linting
remove thumb provider
formatting
2026-02-05 12:16:42 -05:00
Alex
0beb1f9e7a
fix: width and height migration issue ( #25643 )
...
* fix: width and height migration issue
* chore: sync stream migration tests
* lint and test
---------
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-28 15:14:50 -06:00
Mert
1803692eab
feat(mobile): native clients ( #21459 )
...
* platform clients
* uppercase http method
* fix hot reload
* custom user agent
* init before app launch
* set defaults
* move to bootstrap
* unrelated change
* disable disk cache by default
* optimized decoding
* remove incremental
* android impl
* memory optimization
* lock approach is slower on ios
* conditional cronet
* clarify parameter
* enable disk cache
* set user agent
* flutter-side decode
* optimized http
* fixed locking
* refactor
* potential race conditions
* embedded cronet
* refactor, fix capacity handling
* fast path for known content length
* ios optimizations
* re-enable cache
* formatting
* bump concurrency
* clear cache button
* fix eviction race condition
* add extra cancellation check
* tighten dispose
* better error handling
* fix disposal
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-01-24 19:34:29 +00:00
Brandon Wees
c2775894e1
fix(mobile): backfill asset dimensions to exif table ( #25483 )
2026-01-24 01:23:46 +00:00
Brandon Wees
1b56bb84f9
fix: mobile edit handling ( #25315 )
...
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com >
2026-01-19 12:22:53 -06:00
Daniel Dietzler
07675a2de4
feat: download original asset ( #25302 )
...
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-16 19:05:13 +00:00
Alex
e4443fa43e
chore: dart http foreground upload ( #24883 )
...
* feat: bring back manual backup
* expose iCloud retrieval progress
* wip
* unify http upload method, check for connectivity on iOS
* handle LivePhotos progress
* feat: speed calculation
* wip
* better upload detail page
* handle error
* handle error
* pr feedback
* feat: share intent upload
* feat: manual upload
* feat: manual upload progress
* chore: styling
* refactor
* refactor
* remove unused logs
* fix: background android backup
* feat: add error section
* remove complete section
* remove empty state and prevent slot jumps
* more refactor
* fix: background test
* chore: add metadata to foreground upload
* fix: email and name get reset in auth provider
* pr feedback
* remove version check for metadata field in upload payload
* chore: fix unit test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-01-15 20:10:08 -06:00
Brandon Wees
e8c80d88a5
feat: image editing ( #24155 )
2026-01-09 17:59:52 -05:00
Alex
30b90f9baa
fix: propagate iCloud Shared Album flag ( #25060 )
...
* fix: propagate iCloud Shared Album flag
* chore: add migration
2026-01-06 19:46:25 -06:00
idubnori
b10a8baf53
feat(mobile): move buttons in the bottom sheet to the kebabu menu ( #24175 )
...
* refactor: remove bottom sheet buttons
* feat: add iconOnly and menuItem parameters to action buttons
* feat: enhance action button context and kebab menu integration
* feat: use ActionButtonContext
* fix: add missing options in some cases
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-15 16:44:27 -06:00
idubnori
7af99b8606
feat(mobile): move top bar buttons into kebabu menu in AssetViewer ( #24461 )
...
* chore(mobile): i18n: "open_asset_info" in viewer kebab menu
* feat(mobile): move some top buttons into kebabu menu
* refactor(mobile): viewer kebab menu to use context-based button generation
* feat(mobile): refactor action button and kebab menu to use ConsumerWidget for improved state management
* feat(mobile): pass original theme to ViewerKebabMenu for consistent styling
* chore: styling
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-09 18:26:28 +00:00
shenlong
bbba1bfe8c
fix: use adjustment time in iOS for hash reset ( #24047 )
...
* use adjustment time in iOS for hash reset
* migration
* fix equals check
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-12-03 21:15:58 -06:00
Hai Sullivan
b11aecd184
fix(mobile): use correct timezone displayed in the info sheet ( #24310 )
...
* fixed the timezone issue in the Immich mobile app's metadata sheet to match the web app's behavior
* format dart
* now uses the shared applyTimezoneOffset() utility function from mobile/lib/utils/timezone.dart
* add tests
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-12-02 16:37:19 +00:00
Yaros
a32f450059
feat(mobile): persist album sorting & layout in settings ( #22133 )
...
* fix(mobile): persist album sorting in settings
* fix(mobile): persist album layout
* fix: fixed store model id
* fix: corrupted AppSettingsEnum
* chore: refactor to remove RemoteAlbumSortMode
* refactor: use t instead of tr
2025-12-01 20:51:35 -06:00
shenlong
24e5dabb51
fix: use proper updatedAt value in local assets ( #24137 )
...
* fix: incorrect updatedAt value in local assets
* add test
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-24 09:49:27 -06:00
shenlong
38d4d1a573
chore: reset remote sync on app update ( #23969 )
...
reset remote sync on update
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-19 02:55:01 +00:00
shenlong
da5a72f6de
chore: patch MemoriesResponse ( #23764 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-11-10 11:37:45 -06:00
Brandon Wees
1e4779cf48
fix(mobile): ignore patch releases for app version alerts ( #23565 )
...
* fix(mobile): ignore patch releases for app version alerts
* chore: make difference type nullable to indicate when versions match
* chore: add error handling for semver parsing
* chore: tests
2025-11-03 21:09:32 -06:00
Alex
c69786b039
fix: button condition rendering ( #23400 )
2025-10-31 08:42:01 -05:00
Alex
1a2e7d06cb
chore: make view similar photo button more discoverable ( #23350 )
2025-10-29 15:38:50 +00:00
Viktor Mykhailiv
12bb39a111
feat(mobile): view similar photos ( #22148 )
...
* feat: view similar photos on mobile
# Conflicts:
# mobile/lib/models/search/search_filter.model.dart
# mobile/lib/utils/action_button.utils.dart
* fix: bottom sheet is unusable after navigating to search
* feat(mobile): open DriftSearchPage as root route
* reset search state on tab navigation
* fix tests
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-28 16:17:26 -05:00
Alex
106effca2e
feat: check server feature to render OCR search option ( #23325 )
2025-10-28 13:54:41 -05:00
shenlong
ac0d646401
fix: mobile unawaited_futures lint ( #21661 )
...
* chore: add unawaited_futures lint as warning
# Conflicts:
# mobile/analysis_options.yaml
* remove unused dcm lints
They will be added back later on a case by case basis
* fix warning
# Conflicts:
# mobile/lib/presentation/pages/drift_remote_album.page.dart
* auto gen file
* review changes
* conflict resolution
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-27 09:32:52 -05:00
Alex
f4969694cd
fix: isolate freeze app on older ios device ( #22509 )
...
* fix: isolate freeze app on older ios device
* always use at-least 5 isolates
* fix: bad merge
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-10-22 12:43:03 -05:00
Brandon Wees
efac8c6667
fix: semver parser grab everything before hyphen ( #23140 )
...
used for versions like 2.1.0-DEBUG
2025-10-22 10:06:40 -05:00
Brandon Wees
23a34bee6f
feat: improved update messaging on app bar server info ( #22938 )
...
* feat: improved update messaging on app bar server info
* chore: message improvements
* chore: failed to fetch version error message
* feat: open latest release when tapping "Update" on server out of date message
* fix: text alignment states
* chore: code review updates
* Apply suggestion from @alextran1502
Co-authored-by: Alex <alex.tran1502@gmail.com >
* Apply suggestion from @alextran1502
Co-authored-by: Alex <alex.tran1502@gmail.com >
* chore: lots of rework of the version checking code to be cleaner
Added a semver utility class to simplify comparisons, broke the update notification logic into own widget, reworked view construction and colors.
* fix: show warnign without having to tap on app bar icon
* chore: colors
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-10-20 21:13:31 +00:00
Brandon Wees
24fe62ff9d
chore: rework backup success notification descriptions ( #23024 )
...
* chore: rework backup success notification descriptions
* chore: use static text until for completion description
2025-10-20 09:56:48 -05:00
shenlong
ee3c07d049
fix: process upload only after successful remote sync ( #22360 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-29 10:10:00 -05:00
shenlong
fea5e6783c
fix: merged timeline orderby localtime ( #22371 )
...
* chore: refactor dateFmt to truncateDate
* fix: merged timeline orderby localtime
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-29 09:53:40 -05:00
shenlong
8de7eed940
feat(mobile): add unstack button ( #21869 )
...
* fix: add unstack button
* feat: allow unstacking inside of asset viewer
* chore: update tests
* chore: rework unstacking in asset viewer
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: bwees <brandonwees@gmail.com >
2025-09-28 06:51:38 +05:30
shenlong
d4b110fc47
fix: migrate backup delay from old timeline ( #22327 )
2025-09-23 09:55:35 -05:00
shenlong
0e987352bb
fix: do not migrate existing users ( #22146 )
...
fix: do not migrate if already on 15+
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-17 13:20:43 -05:00
shenlong
53c67f4d71
fix: show delete on device when asset has a local match ( #22143 )
...
* fix: show delete on device when asset has a local match
* change test description
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-17 21:48:54 +05:30
shenlong
2e945281fc
fix: beta migration check ( #22092 )
...
fix: beta migration
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-17 08:45:04 -05:00
shenlong
dcee34095b
fix: reset sqlite on beta migration ( #20735 )
...
reset sync stream on migration
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-14 16:30:25 -05:00
shenlong
b26b452530
fix: do not listen for store updates in isolates ( #21947 )
...
* dispose store on isolate cleanup
* do not listen for store updates in isolates
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Alex <alex.tran1502@gmail.com >
2025-09-14 14:50:17 -05:00
Alex
71e33e35dc
chore: check before sync linked albums from websocket events ( #21941 )
2025-09-14 02:08:41 -05:00
Mert
17bbcdf584
chore(mobile): add debugPrint lint rule ( #21872 )
...
* add lint rule
* update usages
* stragglers
* use dcm
* formatting
* test ci
* Revert "test ci"
This reverts commit 8f864c4e4d .
* revert whitespace change
2025-09-12 18:56:00 -04:00
Alex
42a03f2556
fix: concurrency issue ( #21830 )
2025-09-11 19:02:03 +00:00
Alex
2d2673c114
fix: repeat timeline migration for first time user ( #21794 )
2025-09-10 16:27:00 -05:00
Alex
56e5236a39
chore: clean up background tasks ( #21785 )
2025-09-10 16:17:37 -05:00
Alex
2c7b980eed
chore: make beta timeline the default ( #21751 )
...
* chore: make beta timeline the default
* fix: logic
* awaiting
* refactor
2025-09-10 12:11:46 -05:00
shenlong
67a8cab286
feat: resurrect advanced info ( #21633 )
...
* feat: resurrect advanced info
* display null values as well
* add exif details
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2025-09-10 08:38:53 -05:00
Alex
bcfb5bee1f
feat: album info sync ( #21103 )
...
* wip
* album creation
* fix: album api repository no invalidating after logging out
* add linkedRemoteAlbumId column and migration
* link/unlink remote album
* logic to find and add new assets to album
* pr feedback
* add toggle option to backup option page
* refactor: provider > service
* rename
* Handle page pop manually
* UI feedback for user creation and sync linked album
* uncomment migration
* remove unused method
2025-09-04 18:44:10 +00:00