* feat: show "appears in" albums on asset viewer bottom sheet
fix: multiple RemoteAlbumPages in navigation stack
this also allows us to not have to set the current album before navigating to RemoteAlbumPage
chore: clarification comments
handle nested album pages
fix: hide "appears in" when an asset is not in any albums
fix: way more bottom padding
for some reason we can't query the safe area here :/
* fix: bottom sheet now is usable when navigating to another asset viewer
* fix: rebase conflict
* fix: restore ancestors album to currentRemoteAlbumProvider when popping
* fix: view flashing when dismissing a album viewer
* chore: code review changes
* fix: styling and padding
* chore: rework currentRemoteAlbumProvider to be scoped by the Remote album page
* fix: override remote album provider on required pages
* chore: convert query to all SQL calls instead of matching in Dart
* fix: album query
* fix: unawaited future
* Update deep_link.service.dart
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* 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>
* feat(mobile): open assetviewer via album activities page
* adjust ui behavior: keep current asset & disable initial forcus
* fix: Run 'make build' and 'make pigeon'
* feat: add auto play setting to mobile
* feat: add auto play video setting to web
* address review comments
* fix setting id
---------
Co-authored-by: Saschl <noreply@saschl.com>
* chore: refactor show view in timeline button
This refactor includes changes to notify asset viewer about where an asset was shown from.
* chore: realized I could just pull from the timelineProvider instead of storing it in the asset viewer state
* chore: rename enum to TimelineOrigin and update members
* fix: update isOwner condition
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix: shared album control permissions
* fix: properly display "add photos"
* fix: dont allow modification of album order
* fix: album title/description edit from app bar
* chore: code review changes
* chore: format translations
* chore: lintings
Found via `codespell -q 3 -S "*.svg,./i18n,./docs/package-lock.json,./readme_i18n,./mobile/assets/i18n" -L afterall,devlop,finaly,inout,nd,optin,renderd,sade`
fix: show notification from native
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* fix: prevent background worker only when the main app is actively running
* handle ref disposals better
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat: add configurable on charging only and delay
* Segmented and style the settings
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* 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>
* upload using dart client
* add connectivity api
* respect backup network setting
* comment as to why we need to wait for setForegroundAsync call
* log assets skipped due to network constraint
* dynamic spawning -> false
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* chore: robust isolation tasks coordination
* give more time for database transaction to clean up
* chore: clean up logs
* chore: clean up logs
* fix: logs
* 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
* fix: use lock to synchronise foreground and background backup
# Conflicts:
# mobile/lib/domain/services/background_worker.service.dart
# mobile/lib/platform/background_worker_api.g.dart
# mobile/pigeon/background_worker_api.dart
* add timeout to the splash-screen acquire lock
* fix: null check on created date
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* chore: log name and createdAt of asset on hash failures
* add album name to hash failure logs
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* fix: handle datetime outside the valid range supported by dart
* add tests for tryFromSecondsSinceEpoch
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* feat(mobile): Add Kid (Readonly) Mode toggle
This commit introduces a "Kid (Readonly) Mode" feature.
- Adds a `KidModeProvider` to manage the state of Kid Mode.
- Implements a `KidModeCheckbox` widget in the app bar dialog to toggle Kid Mode.
- When Kid Mode is enabled,
- Disables selecting the multigrid & the bottom bar
- Removes the top bar from view
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Reverts the changes to devtools_options.yaml file
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
refactor: replace Kid Mode with Readonly Mode
This commit replaces the "Kid Mode" feature with a more generic "Readonly Mode".
- Renamed `KidModeProvider` to `ReadonlyModeProvider`.
- Readonly Mode state is now persisted in app settings.
- Added a new app setting `allowUserAvatarOverride` to toggle read-only mode.
- Updated translations.
- Added a message in the app bar dialog indicating when read-only mode is active.
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Address comments -
- Removes the `allowUserAvatarOverride` setting.
- Hides the bottom gallery bar when read-only mode is enabled.
- Adds an icon on the main app bar when read-only mode is enabled with a snackbar.
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Update to snackbar
- When toggling readonly mode from either the settings or the app bar, a snackbar notification will now appear.
- The readonly mode message in the profile drawer has been restyled.
- The upload button in the app bar is now hidden when readonly mode is enabled.
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Removes clearing of snackbar
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Address Comments
- Consolidated snackbar messages for enabling/disabling readonly mode.
- Ensured the "Select All" icon in asset group titles is hidden in readonly mode.
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Adds in the missing translation keys for readonly_mode
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Fix translation
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Fix check failure for BorderRadius
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Changes:
- Adjusted AppBar background color in readonly mode.
- Removes cross-out pencil icon button in favor of above.
- Hides the "Edit" icon next to date/time, disable description and onTap for people and location when readonly mode is enabled.
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Address comments from Alex
- Moved readonly mode check to `GalleryAppBar` to hide the entire `TopControlAppBar` when readonly mode is enabled.
- Changed `toggleReadonlyMode` in `ImmichAppBar` to directly toggle the state.
Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
migrate readonly mode to new beta timeline
remove readonly mode from legacy UI
only show readonly functionality when on beta timeline
simplify selection icon
update generated provider
chore: more formatting
* fix: bad merge
* chore: use Notifier for readonlyModeProvider
* fix: drag select now honors readonly mode
* fix: disable asset bottom sheet in readonly
* fix: disable editing user icon when in readonly
* chore: remove generated file
* fix: disable tabs instead entire tab bar
This solves the issues with the scrubber
* chore: remove unneeded import
* chore: lint
* remove unused condition in bottomsheet
---------
Co-authored-by: Brandon Wees <brandonwees@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>