Commit graph

224 commits

Author SHA1 Message Date
Alex
1b8354ed36
chore: post release tasks (#20497) 2025-08-01 05:38:52 -05:00
shenlong
9f20522df5
chore: add isFavorite to PlatformAsset in duplicate check (#20427)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-30 08:44:19 -05:00
shenlong
268b411a6f
fix: sync is_favorite from native (#20412)
* feat: sync is_favorite from native

* handle favorite during upload

* Update mobile/ios/Runner/Sync/MessagesImpl.swift

Co-authored-by: Alex <alex.tran1502@gmail.com>

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-07-29 21:57:04 -05:00
shenlong
dfe6d27bbd
feat: sqlite video player (#19792)
* feat: video player

* use remote asset id in local query

* fix: error from pre-caching beyond total assets

* fix: flipped local videos

* incorrect aspect ratio on iOS

* ignore other storage id during equals check

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-07-09 09:34:25 -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
a4c0dc5007
chore: post release tasks (#19311) 2025-06-19 15:35:25 -04: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
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
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
Brandon Wees
5574b2dd39
feat(mobile): add cast support (#18341)
* initial cast framework complete and mocked cast dialog working

* wip casting

* casting works!

just need to add session key check and remote video controls

* cleanup of classes

* add session expiration checks

* cast dialog now shows connected device at top of list with a list header. Discovered devices are also cached for app session.

* cast video player finalized

* show fullsize assets on casting

* translation already happens on the text element

* remove prints

* fix lintings

* code review changes from @shenlong-tanwen

* fix connect method override

* fix alphabetization

* remove important

* filter chromecast audio devices

* fix some disconnect command ordering issues and unawaited futures

* remove prints

* only disconnect if we are connected

* don't try to reconnect if its the current device

* add cast button to top bar

* format sessions api

* more formatting issues fixed

* add snack bar to tell user that we cannot cast an asset that is not uploaded to server

* make casting icon change to primary color when casting is active

* only show casting snackbar if we are casting

* dont show cast button if asset is remote and we are not casting

* stop playing media if we seek to an asset that is not remote

* remove https check since it works with local http IP addresses

* remove unneeded imports

* fix recasting when socket closes

* fix info plist formatting

* only show cast button if there is an active websocket connection (ie the server is accessible)

* add device capability bitmask checks

* small comment about bitmask
2025-06-08 21:55:23 -05:00
shenlong
75c24f0023
feat(mobile): sync local asset width & height from platform (#18994)
* add width and height to sqlite entities

* sync width & height from platform

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-06-08 21:50:54 -05:00
shenlong
ce6631f7e0
feat(mobile): hash assets in isolate (#18924) 2025-06-06 11:23:05 +05:30
shenlong
dbdb64f6c5
feat: delta sync (#18428)
* feat: delta sync

* fix: ignore iCloud assets

* feat: dev logs

* add full sync button

* remove photo_manager dep for sync

* misc logs and fix

* add time taken to DLog

* fix: build release iOS

* ios sync go brrr

* rename local sync service

* update isar fork

* rename to platform assets / albums

* fix ci check

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-29 10:42:00 -05:00
Alex
219f5b25a4
chore: post release tasks (#18692) 2025-05-27 17:56:12 +00:00
Alex
806000e671
chore: post release tasks (#18549) 2025-05-24 00:44:25 +05:30
Alex
fe71894308
feat: locked view mobile (#18316)
* feat: locked/private view

* feat: locked/private view

* feat: mobile lock/private view

* feat: mobile lock/private view

* merge main

* pr feedback

* pr feedback

* bottom sheet sizing

* always lock when navigating away
2025-05-20 13:35:22 +00:00
Alex
205260d31c
chore: post release tasks (#17895) 2025-04-27 23:02:03 -05:00
Alex
644defa4a1
chore: post release tasks (#17867) 2025-04-25 04:14:40 +00:00
Alex
57d622bc43
chore: post release tasks (#17816) 2025-04-23 16:41:08 -05:00
Alex
548298b0c7
chore: post release tasks (#17341) 2025-04-03 08:47:52 -04:00
Alex
bd822657d3
chore: post release tasks (#17262) 2025-04-01 00:36:18 +01:00
Alex
411521b21d
chore: post release tasks (#17179) 2025-03-27 19:41:22 -04:00
Alex
b8ff93a3c9
chore: post release tasks (#17097) 2025-03-25 21:22:30 +01:00
shenlong
6caa11d079
chore(mobile): use path provider foundation (#16804)
* chore(mobile): use path provider foundation

* chore: update podfile

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-11 09:26:43 -05:00
Alex
75fa305e98
chore: flutter 3.29.1 (#16730)
* update dependencies

* update flutter version reference

* update flutter version reference

* update AndroidManifest with flutter_web_auth_2

* chore: lock file flutter version

* fix: ios build
2025-03-10 21:46:36 -05:00
Alex
c110c9b00e
chore(mobile): post release task (#16623) 2025-03-05 14:54:56 -06:00
shenlong
3b0af1c8a9
fix(mobile): do not pause audio on app start (#16596)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-03-04 16:00:01 -06:00
luzpaz
c8eef5ad4d
fix(mobile): fix typos (#16456)
Found via codespell
2025-03-01 20:06:47 +00:00
Alex
f11080cc2d
chore(mobile): post release task (#16437) 2025-02-28 21:09:09 -06:00
Alex
082471dfd9
chore(mobile): post release task (#16349) 2025-02-27 09:46:34 -06:00
Alex
1a190c33a0
chore(mobile): post release task (#16004) 2025-02-11 11:23:02 -06:00
Alex
90c607c1a6
chore(mobile): post release task (#15998) 2025-02-10 11:12:36 -06:00
Alex
8dab5d3798
chore(mobile): post release task (#15662) 2025-01-26 15:09:15 -06:00
Alex
61bc24d7ea
chore(mobile): post release task (#15581) 2025-01-24 17:28:00 +00:00
Alex
fd99bd05cf
feat(mobile): share to mechanism (#15229)
* setup ios

* chore: succesfully sent media to the app

* share from Android

* wip: navigate to share screen

* wip: UI for displaying upload candidate

* wip: logic

* wip: upload logic

* wip: up up up we got it up

* wip

* wip

* wip

* upload state

* feat: i18n

* fix: release build ios'

* feat: clear file cache

* pr feedback

* using const for checking download status

---------

Co-authored-by: Alex <alex@pop-os.localdomain>
2025-01-16 21:20:44 -06:00
Alex
c5baf79f61
chore(mobile): post release task (#15148) 2025-01-08 11:51:08 +01:00
Alex
f58b2572e6
chore: post release tasks (#14749) 2024-12-17 14:02:07 -06:00
Alex
9503bf479b
feat(album): album view sort order (#14648)
* feat(mobile): album view sort order

* feat: add error message

* refactor(mobile): album page (#14659)

* refactor album page

* update lint rule

* const record

* fix: updating sort order when pull to refresh

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>

* Move sort toggle button to bottom sheet menu

* chore: revert multiselectgrid loading status

* chore: revert multiselectgrid loading status

---------

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
2024-12-16 16:11:48 +00:00
Alex
6b0f9ec46c
chore(mobile): post release tasks (#14656) 2024-12-16 08:42:40 -06:00
Alex
70b4647a21
chore(mobile): post release tasks (#14603) 2024-12-10 21:55:59 +00:00
Alex
c02e3e2a2e
chore(mobile): post release tasks (#14520) 2024-12-06 21:04:02 -05:00
Alex
055f1fc72f
feat(mobile): Auto switching server URLs (#14437) 2024-12-05 09:11:48 -06:00
shenlong
3c38851d50
feat(mobile): native_video_player (#12104)
* add native player library

* splitup the player

* stateful widget

* refactor: native_video_player

* fix: handle buffering

* turn on volume when video plays

* fix: aspect ratio

* fix: handle remote asset orientation

* refinements and fixes

fix orientation for remote assets

wip separate widget

separate video loader widget

fixed memory leak

optimized seeking, cleanup

debug context pop

use global key

back to one widget

fixed rebuild

wait for swipe animation to finish

smooth hero animation for remote videos

faster scroll animation

* clean up logging

* refactor aspect ratio calculation

* removed unnecessary import

* transitive dependencies

* fixed referencing uninitialized orientation

* use correct ref to build android

* higher res placeholder for local videos

* slightly lower delay

* await things

* fix controls when swiping between image and video

* linting

* extra smooth seeking, add comments

* chore: generate router page

* use current asset provider and loadAsset

* fix stack handling

* improved motion photo handling

* use visibility for motion videos

* error handling for async calls

* fix duplicate key error

* maybe fix duplicate key error

* increase delay for hero animation

* faster initialization for remote videos

* ensure dimensions for memory cards

* make aspect ratio logic reusable, optimizations

* refactor: move exif search from aspect ratio to orientation

* local orientation on ios is unreliable; prefer remote

* fix no audio in silent mode on ios

* increase bottom bar opacity to account for hdr

* remove unused import

* fix live photo play button not updating

* fix map marker -> galleryviewer

* remove video_player

* fix hdr playback on android

* fix looping

* remove unused dependencies

* update to latest player commit

* fix player controls hiding when video is not playing

* fix restart video

* stop showing motion video after ending when looping is disabled

* delay video initialization to avoid placeholder flicker

* faster animation

* shorter delay

* small delay for image -> video on android

* fix: lint

* hide stacked children when controls are hidden, avoid bottom bar dropping

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-12-04 16:03:46 -05:00
Alex
95297cd024
chore(mobile): post release tasks (#14259) 2024-11-20 14:04:33 -05:00
Alex
a9525de356
chore(mobile): post release tasks (#14105) 2024-11-12 14:34:33 -05:00
Alex
2fe6607aea
chore(mobile): post release tasks (#13989) 2024-11-07 10:27:28 -06:00
Alex
cff0b95f4c
chore(mobile): post release task (#13954) 2024-11-06 17:57:45 -05:00
Alex
044c3e93f8
chore(mobile): post release task (#13779) 2024-10-28 16:12:35 +00:00
Alex
432bcbbd1a
chore(mobile): post release task (#13136) 2024-10-03 10:19:14 +07:00
Alex
4ed1517e60
chore(mobile): post release task (#12991) 2024-09-27 14:13:24 -04:00
Alex
a6e703ed6b
chore(mobile): post release task (#12955) 2024-09-27 08:11:22 +07:00
Alex
cdbc673a59
chore(mobile): post release task (#12615) 2024-09-13 13:25:43 +01:00
Alex
00a5da0ebc
chore(mobile): post release task (#12398)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2024-09-07 13:26:18 -04:00
Alex
5d6716d265
chore(mobile): post release task (#12268) 2024-09-03 18:32:20 +01:00
Alex
40327ad987
chore(mobile): post release tasks (#12157)
* sent to reviewer

* sent to reviewer

* update to app store

* update to app store
2024-08-30 16:35:06 -05:00
Alex
ed6971222c
chore(mobile): Flutter 3.24 (#11633)
* chore(mobile): Flutter 3.24

* fix lint

* fix rendering issues that lead to log get filled with error messages

* linting

* merge main

* fix isar prod build Android

* fix mismatch icon offset
2024-08-15 14:53:37 -05:00
Alex
3ab7438036
chore(mobile): post release task (#11791) 2024-08-15 12:38:02 -05:00
Alex
9e21f254cd
chore(mobile): post release task (#11776) 2024-08-14 13:50:35 -05:00
Alex
8ee8450d18
chore(mobile): post release task (#11456) 2024-07-30 21:41:10 -05:00
Alex
59b809012f
chore(mobile): post release task (#11382) 2024-07-26 15:38:41 -05:00
Alex
7c3326b662
chore(mobile): post release task (#11220) 2024-07-19 15:10:29 +00:00
Alex
0fbfbc86d2
chore(mobile): post release task (#11006) 2024-07-10 11:40:19 -05:00
Alex
7bde19d842
chore(mobile): separate build flavors (#10872) 2024-07-05 09:43:11 -05:00
Alex
bed9ccadbc
chore(mobile): post release pump (#10775) 2024-07-02 16:41:40 -05:00
Alex
14d94df1b8
chore(mobile): post release pump (#10759)
* chore(mobile): post release pump

* remove cache report file
2024-07-02 11:20:52 -05:00
Alex
c642150b85
chore(mobile): post release task (#10228) 2024-06-12 14:17:58 -05:00
Alex
60701d131e
chore(mobile): post release pump (#10114) 2024-06-11 06:26:52 -05:00
Alex Tran
d551003311 chore: post release tasks 2024-05-14 13:38:12 -05:00
Alex Tran
5985f72643 chore: post release tasks 2024-05-13 14:17:28 -05:00
Alex
55031cc117
Revert "feat(android) Check server is reachable before starting background backup (#8989)" (#9324)
This reverts commit 0435de50f8.
2024-05-09 12:16:53 -05:00
Alex
25262b644f
chore: post release tasks 2024-04-29 10:31:50 -05:00
devjn
0435de50f8
feat(android) Check server is reachable before starting background backup (#8989)
* Check that server is reachable before starting backup work

* Fix iOS not starting background service

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-23 12:50:34 -05:00
Alex
40931b5668
chore: post release tasks 2024-04-20 11:15:41 -05:00
Alex
c858b43717
chore: post release tasks 2024-04-20 09:12:11 -05:00
Alex
57be9182d4
chore: post release tasks 2024-04-19 15:32:45 -05:00
Alex
82aeb3292a
feat(mobile): in app language selector (#8574)
* feat(mobile): select locale in the mobile app

* add additional locale

* use the same locale variable across the app

* using different data structure

* drop down with button

* update pull locales

* open app ios

* remove dependency

* format fix
2024-04-06 21:58:35 -05:00
Alex
e5fe68cbf6
chore: post release tasks 2024-04-04 22:05:56 -05:00
Alex
3f61019ca1
chore: post release tasks 2024-03-28 13:49:18 -05:00
Alex
591a641d8d
chore: post release tasks 2024-03-20 10:00:35 -05:00
Alex
0bc773fd00
refactor(mobile): backup album selection (#8053)
* feat(mobile): include album with 0 assets as album option for backup

* Show icon instead of thumbnail

* Handle backupProgress state transition correctly to always load the backup info

* remove todo comment
2024-03-19 08:40:14 -05:00
Alex
76432341ed
feat(mobile): update logo (#7919)
* App Icon

* In App Icon

* runner

* ios icon

* ios is done

* splash

* Notification Icon

* Immich text

* Immich text

* actually update andoir icon

* adaptive icon

* adaptive icon
2024-03-13 12:14:59 -05:00
Alex
ae34e4f59f
chore: post release tasks 2024-03-11 09:48:25 -05:00
Alex
4fdb0835c9
chore: post release tasks 2024-03-08 19:08:33 -06:00
Alex
2e56e777ce
chore: post release tasks 2024-02-28 16:49:02 -06:00
Alex
a02a24f349
chore: post release tasks 2024-02-27 23:09:40 -06:00
Alex
578b71b961
chore: post release tasks 2024-02-20 11:05:24 -06:00
martyfuhry
0d876a470f
feat(mobile): Adds WiFi only backup option to iOS (#6724)
Adds WiFi only backup option to iOS

Co-authored-by: Marty Fuhry <marty@fuhry.farm>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-02-07 21:54:54 -06:00
Alex
ada3eeb777
chore: post release tasks 2024-01-31 16:52:48 -06:00
Alex
d2c2db2595
chore: post release tasks 2024-01-31 12:53:56 -06:00
Alex
b34a808fbb
feat(mobile): Add Slovenian (#6558) 2024-01-21 16:27:54 -06:00
Alex
7e1b1eae41
chore: post release tasks 2024-01-18 21:15:58 -06:00
shenlong
d3af2b1f69
(mobile): ios - calculate hash using CryptoKit (#5976)
* ios: calculate hash using CryptoKit

* chore: remove unused crypto dep

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-05 10:49:43 -06:00
Alex
f8519d60c7
chore: post release tasks 2023-12-15 13:25:37 -06:00
Alex
e086fa6931
chore: post release tasks 2023-12-07 12:48:43 -06:00
Alex
30e9763888
chore: post release tasks 2023-11-20 15:11:56 -06:00
Alex
cc15c5c69f
chore: post release tasks 2023-11-17 21:25:13 -06:00
Michael Manganiello
c4f7cfc2a6
feat(mobile): Add es-US translations (#4997)
Adding es-US translations for all current strings in the application.
2023-11-14 20:23:58 -06:00
Alex
dc4e6c4629
chore: post release tasks 2023-11-13 22:19:24 -06:00
opdelta
14c7187539
feat(mobile): Added fr-CA translations (#5023)
Co-authored-by: Ziad Lteif <cj291059>
2023-11-13 20:20:54 -06:00