shenlong
0d6cce4a5b
fix: api repositories using stale endpoint ( #28667 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-28 16:44:11 -05:00
shenlong
55947cb227
refactor: drop metadata scope ( #28668 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-28 16:42:59 -05:00
shenlong
3b23f71a3f
refactor: cleanup metadata ( #28485 )
...
jason-ify metadata
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-28 01:19:25 +05:30
Yaros
936c28a40b
feat(mobile): improve downloading algorithm for sharing ( #27312 )
...
* feat(mobile): better downloading while sharing
* chore: separate download group
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-27 17:00:49 +00:00
Peter Ombodi
78ac0ade01
feat(mobile): add manage media APIs to NativeSyncApi ( #28441 )
...
* feat(mobile): add manage media APIs to NativeSyncApi
* fix(mobile): remove legacy local file manager from trash sync
* refactor(mobile): move media permission methods to PermissionApi
* cleanup
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-22 17:40:11 +05:30
Mert
7b9dab872b
fix(mobile): separate group ids for separate app installs ( #28448 )
...
* separate group ids
* remove pigeon method
* Revert "remove pigeon method"
This reverts commit d699ff2094 .
2026-05-21 12:25:20 -05:00
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
shenlong
9cffcc9f4e
refactor: migrate network config ( #28471 )
2026-05-18 16:22:42 +00:00
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
shenlong
aeaf846482
chore: cleanup unused store keys ( #28415 )
...
cleanup unused store keys
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-05-13 18:03:57 -05: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
b6e2ce1f35
fix(mobile): revert drop deprecated deviceAssetId / deviceId from upload fields ( #28384 ) ( #28400 )
...
* Revert "chore(mobile): drop deprecated deviceAssetId / deviceId from upload fields (#28384 )"
This reverts commit 571e6a8560 .
* chore(mobile): add note on kept deprecated upload fields
---------
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com >
2026-05-13 09:36:16 -05: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
Yaros
3e1c8aacb1
feat(mobile): trash/restore all ( #28116 )
...
* feat(mobile): trash/restore all
* chore: remove themeData variable
* chore: filter query by user
* refactor
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-05-12 14:56:19 -05:00
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
Brandon Wees
dc6f8e746e
fix: deep link for assets when asset viewer already open ( #27971 )
2026-05-12 16:19:54 +00:00
Santo Shakil
571e6a8560
chore(mobile): drop deprecated deviceAssetId / deviceId from upload fields ( #28384 )
...
server removed both fields from AssetMediaCreateDto in #27818 . zod silently strips unknown fields so uploads still work, but we send dead weight on every request.
drop from foreground + background upload paths + share intent path. deviceAssetId stays as the internal background_downloader taskId, just not in the multipart form fields anymore.
2026-05-12 09:12:26 -04: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
Ben Beckford
e142e3aca7
feat: recently added assets page ( #28272 )
...
* feat(server): add ordering date option to time buckets
* feat(web): add recently added page
* feat(server): recently created assets in explore data
* feat(web): recently added in explore tab
* fix: recently added assets ordering
* fix(server): failing bucket test
* feat(web): improve recently added preview
* chore: update e2e explore/timeline tests
* chore: rename and refactor timeline ordering dates
* fix(web): invalid timeline option
* feat(mobile): recently added page
* fix(server): sync tests
* fix(mobile): resync assets to get uploadedAt column
* chore: rename assetorderby enum
* chore(mobile): formatting
* minor fixes
* stylings
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-05-11 21:35:10 +00: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
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
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
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
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
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
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
shenlong
9c9feddf7d
refactor: folder page to use new models ( #27657 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-04-13 12:19:44 -05:00
Luis Nachtigall
a277c6311f
fix(mobile): streamline error handling for live photo saving ( #27337 )
2026-03-27 19:07:38 -05:00
Mert
1506776891
fix(mobile): add cookie for auxiliary url ( #27209 )
...
add cookie before validating
2026-03-23 16:22:46 -05:00
Mert
019beaed0b
fix(mobile): server url migration ( #27050 )
...
decode json
2026-03-19 12:52:51 -05:00
Mert
ff936f901d
fix(mobile): duplicate server urls returned ( #26864 )
...
remove server url
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-03-13 22:09:42 -05:00
Mert
c403e03a42
fix(mobile): logout on upgrade ( #26827 )
...
* use cookiejar
* cookie duping hook
* remove old pref
* handle network switching on logout
* remove bootstrapCookies
* dead code
* fix cast
* use constants
* use new event name
* update api
2026-03-11 12:07:27 -05:00
Marvin M
ba3f114625
chore: always use Package Imports ( #26630 )
...
* chore: always_use_package_imports
* fix: lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-03-05 11:18:01 -06:00
Mert
a05c8c6087
feat(mobile): use shared native client ( #25942 )
...
* use shared client in dart
fix android
* websocket integration
platform-side headers
update comment
consistent platform check
tweak websocket handling
support streaming
* redundant logging
* fix proguard
* formatting
* handle onProgress
* support videos on ios
* inline return
* improved ios impl
* cleanup
* sync stopForegroundBackup
* voidify
* future already completed
* stream request on android
* outdated ios ws code
* use `choosePrivateKeyAlias`
* return result
* formatting
* update tests
* redundant check
* handle custom headers
* move completer outside of state
* persist auth
* dispose old socket
* use group id for cookies
* redundant headers
* cache global ref
* handle network switching
* handle basic auth
* apply custom headers immediately
* video player update
* fix
* persist url
* potential logout fix
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-03-05 11:04:45 -06:00
Lauritz Tieste
d0cb97f994
feat(mobile): Add slug support for shared links ( #26441 )
...
* feat(mobile): add slug support for shared links
* fix(mobile): ensure slug retains existing value when unchanged
2026-02-23 14:31:42 +05:30
Timon
3ce0654cab
feat(mobile): Allow users to set album cover from mobile app ( #25515 )
...
* set album cover from asset
* add to correct kebab group
* add to album selection
* add to legacy control bottom bar
* add tests
* format
* analyze
* Revert "add to legacy control bottom bar"
This reverts commit 9d68e12a08 .
* remove unnecessary event emission
* lint
* fix tests
* fix: button order and remove unncessary check
---------
Co-authored-by: Alex <alex.tran1502@gmail.com >
2026-02-22 05:53:39 +00:00
Alex Balgavy
8ba20cbd44
feat: tap to see next/previous image ( #20286 )
...
* feat(mobile): tap behavior for next/previous image
This change enables switching to the next/previous photo in the photo
viewer by tapping the left/right quarter of the screen.
* Avoid animation on first/last image
* Add changes to asset_viewer.page
* Add setting for tap navigation, disable by default
Not everyone wants to have tapping for next/previous image enabled, so
this commit adds a settings toggle. Since it might be confusing behavior
for new users, it is disabled by default.
* chore: refactor
* fix: lint
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com >
2026-02-22 05:28:17 +00:00
Benjamin Nguyen
ae8dad68fc
feat(mobile): filter by tags ( #26196 )
...
filter by tags
2026-02-18 21:16:26 +00:00
Arne Schwarck
66733eb4c0
feat: add people deeplink ( #25686 )
...
* Change path prefix from '/memories/' to '/people/'
Updated the AndroidManifest.xml to change the path prefix from '/memories/' to '/people/'.
Memories is anyway wrong and was replaced by /memory
and now the people path completes the known deeplinks.
* Add regex for people deep link handling
Add regex for people deep link handling
* Add deep link handling for 'people' route
* fix: missing person route builder method
---------
Co-authored-by: bwees <brandonwees@gmail.com >
2026-02-13 09:13:04 +05:30
Alex
57485023ae
fix: free up space using small batch size to reliably work on Android ( #26047 )
...
* fix: free up space delete in small batch
* fix: free up space delete in small batch
2026-02-09 11:48:55 -06:00
cmdPromptCritical
ad9f3cfa05
fix(mobile): cancel share download when dialog is dismissed ( #25466 )
...
* fix(mobile): cancel share download when dialog is dismissed
* refactor: centralize temporary file cleanup logic
* refactor: replace `CancellationToken` with `Completer<void>` for asset sharing cancellation
---------
Co-authored-by: cmdpromptcritical <cmdpromptcritical@github.com >
2026-02-05 19:08:35 +00:00
Alex
23445fdcc1
fix: upload progress bar flickering ( #25829 )
...
* fix: upload progress bar flickering
* pr feedback and more logs
2026-02-03 09:28:29 -06:00
Alex
44b4f35019
chore: expose upload errors to UI ( #25566 )
2026-01-27 16:33:44 +00:00
Brandon Wees
97220102e4
fix: deep link service when user is null ( #25530 )
...
* fix: deep link service when user is null
* fix: nit
2026-01-26 17:33:46 +00:00
Arne Schwarck
2ee903a81c
fix: process query param for my.immich.app/memory?id= ( #25474 )
...
* Implement memory deep link regex and logic
Add regex for memory deep link handling of
https://my.immich.app/memory?id= <uuid>
Completing the work for the Android app to handle memory links.
https://github.com/immich-app/immich/pull/25373
This still needs to be tested as it is AI suggested code.
* fix: use existing regex structure
* fix: handle memory route properly
---------
Co-authored-by: bwees <brandonwees@gmail.com >
2026-01-25 09:09:01 -06:00
Alex
deb3a620e1
feat: keep settings for free up space ( #25460 )
...
* feat: album exclusion filter in free up space
* feat: make keep options into persistent settings
* chore: refactor
* chore: refactor
* add free up space to app bar dialog
* fix: date selection rerender
* more copywriting
* Update i18n/en.json
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
* add file size information
* styling
* clear up stale album id
* keep messaging album on first use
* feedback
* feedback
---------
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com >
2026-01-24 10:40:34 -06:00
Yaros
574d9c34ff
feat(mobile): star rating ( #24457 )
...
* feat(mobile): star rating
* refactor: use custom rating bar & provider
* refactor: remove user prop from provider
* feat: clear, padding, star size, impl suggestions
* chore: switch to rounded star icons
* fix: alignment & gesturedetector
* feat: rating search filter
2026-01-23 21:17:46 +05:30
Alex
0f6606848e
fix: upload file without extension ( #25419 )
...
* fix: upload file without extension
* chore: fix foreground upload
2026-01-21 16:31:06 +00:00