* feat(mobile): dynamic layout in new timeline
* simplify _buildAssetRow
* auto dynamic mode on smaller column count
* auto layout on smaller tiles
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* 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>
The latest version is already hidden in the server info widget if
disabled (https://github.com/immich-app/immich/pull/25691), however I
did not realise there are more places where this warning is shown. This
hides the warning everywhere, and cleans up the code a bit.
* [mobile]: Fix timeline handling on foldable phones + ensuring that images are not cut off
This fixes the handling of unfolding the phone while having the application opened. So,
the timeline is correctly rescaled and the current position is kept.
Besides that it fixes a bug with the ordering which lead to images being "cut off" at the right side
of the screen.
* refactor + cleanup
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
The server storage info has a lot of whitespace due to the ListTile.
Converting it to be inline makes the styling appear more intentional.
There are also a few semantically relevant list items in the app bar
dialog which have been grouped together.
* fix(mobile): fix Login routing on Splash screen
* fix(mobile): remove _duplicateGuard from the LoginRoute
revert changes in splash_screen
---------
Co-authored-by: Peter Ombodi <peter.ombodi@gmail.com>
I'm testing changes to animations and app performance, and noticed it
felt quite sluggish on a 120hz display. It turns out that high refresh
is disabled in debug builds. It's probably a good idea to enable it so
that it more closely mirrors the production build.
* Fix image cancellation to be stream-scoped instead of widget-scoped
* fix(OneFramePlaceholderImageStreamCompleter): make onLastListenerRemoved callback synchronous with removing the last listener
* fix(OneFrameMultiImageStreamCompleter): remove unnecessary blank line in code
* fix(OneFramePlaceholderImageStreamCompleter): cancel pending requests when only cache listener remains
* fix(OneFrameMultiImageStreamCompleter): ensure onLastListenerRemoved callback is invoked only once
* feat: enhance album sorting functionality with effective order handling
* mobile: formatting
* test: align album sorting order in unit tests with defaultSortOrder
* test(mobile): add reverse order validation for album sorting
* chore(PR): remove OppositeSortOrder Extension and move it directly into SortOrder enum
* refactor: return sorted list directly in album sorting function
* refactor: remove sort_order_extensions.dart
The current asset changes when the timeline refreshes, which can be
quite jarring. Assets are tracked by their index, and that index becomes
stale when the timeline refreshes. This can be resolved by updating the
index of asset based on a unique identifier (like the hero tag).
* fix(mobile): hide latest version if disabled
If the version check feature is disabled, the server will currently send
stale data to the client. In addition to no longer sending stale data,
the client should also not show the latest version if the feature is
disabled.
This complements the server PR #25688.
* lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* 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>