Daimolean
ec603a008c
feat(mobile): unarchive and unfavorite action ( #19678 )
2025-07-02 12:27:30 -05:00
shenlong
14276f41d8
fix: handle null bucket name during android sync ( #19685 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-02 12:26:42 -05:00
Daimolean
a644cabab6
feat(mobile): trash and delete action ( #19681 )
...
* feat(mobile): trash and delete action
* fix lint
2025-07-02 12:26:07 -05:00
Daimolean
b8e67d0ef9
fix(mobile): filter deleted assets ( #19683 )
2025-07-02 12:25:14 -05:00
shenlong
f2f3db3a79
refactor: action provider ( #19677 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-01 23:08:52 -05:00
Alex
25efba8fe6
chore: remove share link success prompt ( #19671 )
2025-07-01 16:55:17 +00:00
Daimolean
83afd49f5c
feat(mobile): edit location action ( #19645 )
...
* change dto from integer to double
* feat(mobile): edit location action
* patch openapi
* refactor in provider
* fix lint
* chore: not showing success prompt if dimissed
* i18n
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-01 16:52:11 +00:00
shenlong
15be3437bf
fix: timeline service uninitialised across routes ( #19544 )
2025-07-01 10:23:20 -05:00
Daimolean
f59b0bab5a
refactor(mobile): action provider ( #19669 )
...
* refactor action provider
* fix lint
2025-07-01 10:18:23 -05:00
Alex
fa418d778b
feat: lock folder action ( #19634 )
...
* feat: lock folder action
* refactor
2025-07-01 14:03:45 +00:00
shenlong
a5c431fbf5
refactor: animate bottom sheet ( #19655 )
...
* refactor: animate bottom sheet
* rebase on main
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-30 22:23:38 -05:00
shenlong
21f500191a
refactor: actions provider ( #19651 )
...
* refactor: actions provider
* chore: rename error and stack
* remove empty checks
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-01 08:10:25 +05:30
shenlong
5011636d95
refactor: header - bulk select icon ( #19652 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-30 21:33:37 -05:00
Alex
3f330c6476
feat: drift album page ( #19564 )
...
* feat: drift album page
* feat: page renderred
* feat: asset count
* refactor: use statefulwidget
* refactor: private widgets
* refactor: service layer
* refactor: import
* feat: get owner name
* pr feedback
* pr feedback
* pr feedback
* pr feedback
2025-07-01 07:54:50 +05:30
Daimolean
bb8755021d
revert: timeout ( #19639 )
2025-06-30 17:02:50 -05:00
Jason Rasmussen
58ca1402ed
feat: sync partner stacks ( #19635 )
2025-06-30 16:41:06 -04:00
Daimolean
32a7087883
feat(mobile): archive action ( #19630 )
...
* feat(mobile): archive action
* fix: lint
* Update i18n/en.json
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix: lint
* fix: lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-30 14:38:15 -05:00
Jason Rasmussen
181a7e115f
feat: sync stacks ( #19629 )
2025-06-30 14:26:41 -05:00
Alex
095ace8687
feat: shared link action ( #19610 )
2025-06-30 17:32:18 +00:00
Alex
4c3fcdc745
feat: favorite action ( #19623 )
2025-06-30 12:21:09 -05:00
Alex
fa5f30d9ca
fix: timeline service mismatch state ( #19612 )
2025-06-30 12:20:13 -05:00
Jason Rasmussen
6feca56da8
feat: sync memories ( #19579 )
2025-06-27 12:20:13 -04:00
Alex
97aabe466e
feat: action buttons place holder ( #19561 )
...
* feat: action buttons place holder
* lint
* Update base_action_button.widget.dart
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
2025-06-27 13:33:46 +00:00
shenlong
72a53f43c8
feat: use sqlite timeline user provider ( #19577 )
...
use sqlite timeline user provider
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-27 08:29:27 -05:00
Brandon Wees
a43159f4ba
fix(mobile): skip widget updates if on android ( #19553 )
...
* fix: skip widget updates if on android
* remove dead line
2025-06-26 10:07:22 -05:00
shenlong
ea3a14ed25
feat(mobile): add album asset sync ( #19522 )
...
* feat(mobile): add album asset sync
* add SyncAlbumToAssetDeleteV1 to openapi-spec
* update delete queries to use where in statements
* clear remote album when clear remote data
* fix: bad merge
* fix: bad merge
* fix: _SyncAckV1 return type
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-26 08:50:39 -05:00
shenlong
24a4cba953
fix: enable photo manager custom filter by default ( #19520 )
...
enable photo manager custom filter by default
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-25 21:28:17 -05:00
shenlong
65dce58aa4
refactor(mobile): do not skip iCloud albums during local sync ( #19231 )
...
do not skip cloud albums during local sync
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-25 16:46:31 +00:00
Brandon Wees
64cc7239fe
feat(mobile): ios widget deeplink to asset in app ( #19510 )
...
* feat: ios widget deeplinks to asset in app
* fix: casing
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-25 11:37:25 -05:00
Jason Rasmussen
881a96cdf9
feat: add album asset sync ( #19503 )
...
wip: fix album asset exif and some other refactorings
feat: add album assets sync
feat: album to assets relation sync
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-06-25 16:10:31 +00:00
Alex
b001ba44f5
feat: generic control bottom app bar ( #19524 )
...
* feat: sliver appbar
* feat: snapping segment
* Date label font size
* lint
* fix: scrollController reinitialize multiple times
* feat: tab navigation
* chore: refactor to private widget
* feat: new control bottom app bar
* bad merge
* feat: sliver control bottom app bar
2025-06-25 16:08:02 +00:00
Zack Pollard
027c4a8b34
ci: much faster mobile builds ( #19490 )
2025-06-25 10:40:53 -05:00
Jason Rasmussen
eca9b56847
feat(server): person delete ( #19511 )
...
feat(api): person delete
2025-06-25 11:12:36 -04:00
shenlong
5b0575b956
refactor: DCM - const border radius, constructor & switch expressions ( #19515 )
...
* enable border radius, switch exp, const constructor
* regenerate provider
* more formatting
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-25 13:06:24 +05:30
Alex
05064f87f0
feat: sliver appbar and snap scrubbing ( #19446 )
2025-06-24 20:02:46 -05:00
Alex
522cdbac99
feat: sliver timeline selection optimization ( #19504 )
2025-06-24 19:34:30 -05:00
Brandon Wees
3751f8bc57
fix: android app link support ( #19501 )
...
* fix: android app link support
* add autoVerify tag
* adjust intent to have scheme separate
2025-06-24 12:52:15 -05:00
Brandon Wees
2e13543d5d
fix: ios widget webp support ( #19469 )
2025-06-24 10:33:38 -05:00
Brandon Wees
7d0e8f50f7
feat(mobile): deep links ( #19232 )
...
* add deep linking on ios app
* add deeplinking to android
* code review fixes
* lint
* cleanly handle malformed URIs when launching app
* refactor deep link builder/service, still have bug with navigation stack not containing TabControllerRoute
* fix: tab controller insertion conditions
* add my.immich.app app linking
* chore: remove one-liner if statement
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-24 09:20:24 -05:00
Alex
9ca31abae9
feat: new timeline multi-selection ( #19443 )
...
* feat: new timeline multiselection
* select all from bucket
* wip
* group multi-select
* group multi-select
* pr feedback
* pr feedback
* lint
2025-06-24 02:05:25 -05:00
Alex
1923f1a887
refactor(mobile): interfaces refactor ( #19415 )
...
* refactor(mobile): interfaces refactor
* generate files
2025-06-23 11:27:44 -05:00
fmis13
20d9204ada
feat(mobile): enable Croatian (hr) translations ( #19428 )
2025-06-23 12:18:04 +01:00
Alex
ce8c80dad0
refactor(mobile): cast_destination.interface.dart ( #19346 )
2025-06-21 21:56:49 -05:00
Alex
81eb98d4e5
refactor(mobile): album.interface.dart ( #19354 )
2025-06-21 23:32:06 +00:00
Alex
2b03802e9c
refactor(mobile): asset_api.interface.dart ( #19353 )
2025-06-21 23:06:38 +00:00
Alex
484311e9bb
refactor(mobile): asset-media.interface.dart ( #19352 )
...
* refactor(mobile): asset-media.interface.dart
* refactor(mobile): asset-media.interface.dart
* refactor: asset media repo
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-21 22:47:16 +00:00
Alex
366539bc4c
refactor(mobile): asset.interface.dart ( #19351 )
...
* refactor(mobile): asset.interface.dart
* refactor(mobile): asset.interface.dart
2025-06-21 22:41:02 +00:00
Alex
69b1331026
refactor(mobile): auth_api.interface.dart ( #19350 )
2025-06-21 22:20:58 +00:00
Alex
af30d97668
refactor(mobile): auth.interface.dart ( #19349 )
2025-06-21 22:09:12 +00:00
Alex
9b047d30e4
refactor(mobile): backup_album.interface.dart ( #19348 )
2025-06-21 21:58:02 +00:00
Alex
6a5597b36b
refactor(mobile): etag.interface.dart ( #19344 )
...
* refactor(mobile): etag.interface.dart
* merge main
2025-06-21 21:46:38 +00:00
Alex
c10b795e99
refactor(mobile): file_media.interface.dart ( #19343 )
...
* refactor(mobile): file_media.interface.dart
* merge main
2025-06-21 19:24:59 +00:00
Alex
b606d4fe73
refactor(mobile): local_file_manager.interface.dart ( #19340 )
2025-06-21 18:35:30 +00:00
Alex
4c2ad44303
refactor(mobile): folder_api.interface.dart ( #19342 )
2025-06-21 13:14:14 -05:00
github-actions
6563fa608a
chore: version v1.135.3
2025-06-20 19:48:18 +00:00
Alex
c707f9cef4
refactor(mobile): partner.interface.dart ( #19338 )
2025-06-20 18:37:59 +00:00
Alex
0426699f13
refactor(mobile): partner_api.interface.dart ( #19337 )
...
* refactor(mobile): partner_api.interface.dart
* merge main
2025-06-20 17:04:15 +00:00
Alex
8154ec29df
refactor(mobile): person_api.interface.dart ( #19336 )
2025-06-20 11:45:31 -05:00
Alex
3024cd343b
refactor(mobile): timeline.interface.dart ( #19331 )
...
refactor(mobile): timeline.repository.dart
2025-06-20 11:44:02 -05:00
github-actions
a04c6ed80d
chore: version v1.135.2
2025-06-20 14:52:47 +00:00
Alex
e61d7f2616
refactor(mobile): album_media.interface.dart ( #19355 )
...
* refactor(mobile): album_media.interface.dart
* refactor: album_media repo
* make dcm happy
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-20 14:23:43 +00:00
Alex
a6b0869714
refactor(mobile): secure_storage.interface.dart ( #19335 )
...
* refactor(mobile): secure_storage.interface.dart
* fix: lint
2025-06-20 09:12:07 -05:00
Alex
9c25b8ba7d
refactor(mobile): download.interface.dart ( #19345 )
2025-06-20 09:11:52 -05:00
Alex
3c72f489d8
refactor(mobile): sessions_api.interface.dart ( #19334 )
...
refactor(mobile): sessions_api.repository.dart
2025-06-20 09:11:33 -05:00
Alex
1f2c779b36
refactor(mobile): shared_handler.interface.dart ( #19333 )
...
refactor(mobile): shared_handler.repository.dart
2025-06-20 09:11:21 -05:00
Alex
5c74f634b7
refactor(mobile): network.interface.dart ( #19341 )
...
* refactor(mobile): network.interface.dart
* refactor(mobile): network.interface.dart
2025-06-20 09:11:03 -05:00
Alex
ecc99bfd16
refactor(mobile): biometric.interface.dart ( #19347 )
2025-06-20 09:10:53 -05:00
Alex
ff4d70e351
refactor(mobile): album_api.interface.dart ( #19356 )
2025-06-20 09:08:23 -05:00
Alex
42c2389eb5
refactor(mobile): activity_api.interface.dart ( #19357 )
2025-06-20 09:08:12 -05:00
Alex
bce4f93c90
refactor(mobile): (1) user.interface.dart ( #19322 )
...
* refactor(mobile): user.interface.dart
* generate files
* refactor(mobile): (2) user_api.interface.dart (#19323 )
* refactor(mobile): (2) user_api.interface.dart
* generate files
* refactor(mobile): (3) sync_stream.interface.dart (#19325 )
2025-06-19 23:25:18 +00:00
Alex
a4c0dc5007
chore: post release tasks ( #19311 )
2025-06-19 15:35:25 -04:00
github-actions
3434544864
chore: version v1.135.1
2025-06-19 17:37:39 +00:00
Brandon Wees
269bf4b344
fix: iOS 17.0 target version for widget ( #19308 )
2025-06-19 17:00:54 +00:00
Alex
10e2ec2841
chore: skip truncating table in this release ( #19300 )
2025-06-19 16:11:18 +00:00
Alex
3e62497fd0
fix: local network permission ( #19285 )
2025-06-19 14:18:51 +00:00
Alex
a1bc862a32
chore: post release tasks ( #19249 )
2025-06-19 09:11:24 -05:00
Jason Rasmussen
e0144b4ece
feat: backfill album users ( #19234 )
2025-06-18 10:48:11 -04:00
github-actions
65e8d75e82
chore: version v1.135.0
2025-06-18 13:45:07 +00:00
Alex
06f1d0dc4d
fix(mobile): correct share option for local asset ( #19233 )
2025-06-17 20:56:42 +00:00
Brandon Wees
a0f44f147b
feat(mobile): ios widgets ( #19148 )
...
* feat: working widgets
* chore/feat: cleaned up API, added album picker to random widget
* album filtering for requests
* check album and throw if not found
* fix app IDs and project configuration
* switch to repository/service model for updating widgets
* fix: remove home widget import
* revert info.plist formatting changes
* ran swift-format on widget code
* more formatting changes (this time run from xcode)
* show memory on widget picker snapshot
* fix: dart changes from code review
* fix: swift code review changes (not including task groups)
* fix: use task groups to run image retrievals concurrently, get rid of do catch in favor of if let
* chore: cleanup widget service in dart app
* chore: format swift
* fix: remove comma
why does xcode not freak out over this >:(
* switch to preview size for thumbnail
* chore: cropped large image
* fix: properly resize widgets so we dont OOM
* fix: set app group on logout
happens on first install
* fix: stupid app ids
* fix: revert back to thumbnail
we are hitting OOM exceptions due to resizing, once we have on-the-fly resizing on server this can be upgraded
* fix: more memory efficient resizing method, remove extraneous resize commands from API call
* fix: random widget use 12 entries instead of 24 to save memory
* fix: modify duration of entries to 20 minutes and only generate 10 at a time to avoid OOM
* feat: toggle to show album name on random widget
* Podfile lock
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-17 14:43:09 +00:00
Zack Pollard
749f63e4a0
fix: partner asset and exif sync backfill ( #19224 )
...
* fix: partner asset sync backfill
* fix: add partner asset exif backfill
* ci: output content of files that have changed
2025-06-17 09:56:54 -04:00
shenlong
db68d1af9b
feat(server): add duration to SyncAssetV1 ( #19196 )
...
add duration to SyncAssetV1
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-17 08:09:50 -04:00
shenlong
3b0a803089
fix: translation util rename ( #19213 )
...
fix: translation util refactor
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-16 11:43:53 -05:00
shenlong
bcda2c6e22
feat(mobile): sqlite timeline ( #19197 )
...
* wip: timeline
* more segment extensions
* added scrubber
* refactor: timeline state
* more refactors
* fix scrubber segments
* added remote thumb & thumbhash provider
* feat: merged view
* scrub / merged asset fixes
* rename stuff & add tile indicators
* fix local album timeline query
* ignore hidden assets during sync
* ignore recovered assets during sync
* old scrubber
* add video indicator
* handle groupBy
* handle partner inTimeline
* show duration
* reduce widget nesting in thumb tile
* merge main
* chore: extend cacheExtent
* ignore touch events on scrub label when not visible
* scrub label ignore events and hide immediately
* auto reload on sync
* refactor image providers
* throttle db updates
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-16 20:37:45 +05:30
Thien Dang
3d0c851636
fix(mobile): add translate extension ( #18942 )
...
* re-write localization service and add translation extension
* Revert "re-write localization service and add translation extension"
This reverts commit fdd7386020f638b92ad4f4691667d67e8c2935fc.
* fix can't use context for easy_localization
* fix lint
* update new translate context
* handle context null
* revert main file
* Revert "revert main file"
This reverts commit 16faca46d0a36abafe41a19bb46b38fffa4940f1.
* remove fix nested MaterialApp
* change use t extenstion and remove translation utils
* update function call similar for consistently
---------
Co-authored-by: dvbthien <dvbthien@gmail.com>
2025-06-16 10:01:16 -05:00
shenlong
7f56443b24
fix(mobile): asset type mismatch from android sync ( #19201 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-15 20:54:30 +00:00
Alex
5f5308631e
chore: Revert "feat(mobile): remote album sync" ( #19159 )
...
Revert "feat(mobile): remote album sync (#18876 )"
This reverts commit 242817c49a .
2025-06-13 16:15:39 +00:00
Daimolean
004c2f2496
fix(web): OAuth quota size ( #18526 )
...
fix(server): oauth quota size
2025-06-13 10:57:29 -04:00
Andreas Tollkötter
f54cfa7a5a
feat: improve mobile screen reader accessibility ( #17876 )
...
* WIP: adding screen reader support to mobile
* implemented getAltText
* implemented alt text solution that stores the alt text in the DB, which isn't really great
* moved alt text computation to immich_thumbnail.dart
* added unit tests
* revert unintended changes
* Added text to remaining buttons in Photo page
* fixed import
* Fixed issue of easy_localization not parsing select blocks
* Transferred the new screen reader help to web frontend
* remove unused property
* npm run format:fix
* code review
* revert unwanted change
* dart fmt
* revert web changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-13 10:39:59 -04:00
Jason Rasmussen
c9bcae813b
feat: duplicate delete groups api ( #19142 )
2025-06-12 17:48:43 -04:00
Alex
176656b5f4
feat: pass filename in body on asset upload ( #19138 )
...
* chore: get upload filename from request body
* use info from request body
2025-06-12 17:31:00 -04:00
nosajthenitram
e5219f1f31
feat(web): Added admin user config to user settings ( #15380 )
...
* feat(web): Added admin user config to user settings
* feat (web) - cleaned up the files and added tests
* feat (web) - added missing files
* feat (web) - updated per review comments
* feat (web) - e2e admin command test failures
2025-06-12 02:11:13 +00:00
JobiJoba
c03e72c1da
feat(mobile): Add Scrollbar for vertical scrolling on the actions button multi-select ( #18940 )
...
* feat(mobile): Add Scrollbar for vertical scrolling on the actions button of a selected asset.
* fixed error scroll position and add more space for the scrollbar
* revert scrollbar change and display always 5.5 icons button
* minWidth set to 5.5 and used
* fix: logic and fine tuning
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-10 10:22:42 -05:00
Alex
b50d9fa448
chore: catch migration error ( #19096 )
2025-06-10 15:21:36 +00:00
Jonathan Gilbert
e88bd74fd2
feat(server): add memories statistics resource ( #19035 )
2025-06-10 09:47:46 -04:00
Andreas Tollkötter
b890440f6b
feat(mobile): enabled DCM ( #17957 )
...
* enable DCM in CI
* chore: up version
* chore: up version
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-09 11:09:02 -05:00
Thien Dang
2572413b2b
fix(mobile): fix nested MaterialApp ( #18998 )
...
* fix nested MaterialApp
* chore
---------
Co-authored-by: dvbthien <dvbthien@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-09 15:15:31 +00:00
xCJPECKOVERx
14d785cec9
feat(server): Add album filter to search ( #18985 )
...
* - updated dtos
- added inAlbums to search builder
- only check isNotInAlbum if albumIds is blank/empty
* - consider inAlbums as OR
* - make open-api-dart
* - lint & format
* - remove inAlbums groupBy clause
* - merge main open-api
* - make open-api
* - inAlbums filter AND instead of OR
2025-06-09 11:11:43 -04:00
Daimolean
242817c49a
feat(mobile): remote album sync ( #18876 )
...
* feat(mobile): remote album sync
* fix: lint
* missing createdAt field
* lint
2025-06-09 10:09:14 -05:00
Savely Krasovsky
047c7821a3
feat(mobile): update maplibre to support PMTiles in the mobile app ( #19016 )
...
* feat(mobile): update maplibre to support PMTiles in the mobile app
* feat(mobile): update Podfile.lock
2025-06-09 09:40:12 -05:00