Some widgets, like Icon widgets, automatically inherit opacity from the
icon theme in the context. Many other widgets however, do not. The
Immich logo, profile picture, and backup badge are examples of widgets
of this.
All unsupported toolbar widgets have been updated to support inheriting
the opacity from the icon theme.
IconButtons internally animate properties like opacity, which is kind of
nice, but means we have to do more work to replicate that behaviour for
other widgets. In most cases, we can simply use an IconButton widget and
forward the correct opacity. The Immich logo however is not a button,
and therefore we need to use a custom TweenAnimationBuilder.
All widgets are using efficient, native opacity rather than the heavy
Opacity widget.
* 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>
* fix: sever version not populated post auto-login
* saferun syncCloudIds
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* use adjustment time in iOS for hash reset
# Conflicts:
# mobile/lib/infrastructure/repositories/local_album.repository.dart
# mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart
* migration
* feat: sync cloudId and eTag on sync
* fixes fixes
* more fixes
* re-sync updated eTags
* add server version check & auto sync cloud ids on compatible servers
* fix test
* remove button from sync status page
* chore: modify for testing
* more changes
* chore: add commas in toString
* use cached provider in splash screen
* read upload service provider to prevent reset
* log errors from fetching cloud id mapping
* WIP: migrate cloud id - debug log
* ignore locked asset update
* bulk update metadata
* change log text
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat(server): Support camera `make`, `model`, and `lensModel` in Storage Template (#24650)
* add support for make, model, lensModel in storage template
* no pkg lock
* Apply suggestion from @danieldietzler
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
* query and formatting
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
* wip: copy-writing
* feat: cutoff date preset options and filter options
* fix: don't include iCloud Shared Album
* chore: message about excluding shared album assets
* feat: show preview in a separate page
* feat: show clean up hint modal after success deletion
* pr feedback
* pr feedback
* pr feedback
---------
Co-authored-by: Rahul Kumar Saini <rahul-kumar-saini@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
* fix(mobile): normalize scrolling behavior in networking settings
Remove ClampingScrollPhysics from networking settings page to match
the scrolling behavior of other settings pages. This restores the
standard iOS bounce/elastic scrolling effect.
* fix(mobile): use consistent native transitions for Library pages
Change Trash, Shared Links, and Folders routes from CustomRoute to AutoRoute to enable native iOS transitions with swipe-back gesture support.
* fix(mobile): remove SafeArea wrapper and ClampingScrollPhysics from Settings
Remove SafeArea wrapper (Scaffold handles safe areas automatically) and ClampingScrollPhysics to enable native iOS bounce scrolling.
* fix(mobile): remove bottom white space in Sync Status page
Replace Padding wrapper with ListView padding to match other Settings pages and eliminate bottom white space.
* chore: fix Dart formatting
Run dart format to fix formatting issues in settings.page.dart and sync_status_and_actions.dart
* Format Dart files
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: kao-byte <benjaminliu@MacBook-Air.local>
* feat: view similar photos on mobile
# Conflicts:
# mobile/lib/models/search/search_filter.model.dart
# mobile/lib/utils/action_button.utils.dart
* fix: bottom sheet is unusable after navigating to search
* feat(mobile): open DriftSearchPage as root route
* reset search state on tab navigation
* fix tests
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.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: add OCR functionality and related configurations
* chore: update labeler configuration for machine learning files
* feat(i18n): enhance OCR model descriptions and add orientation classification and unwarping features
* chore: update Dockerfile to include ccache for improved build performance
* feat(ocr): enhance OCR model configuration with orientation classification and unwarping options, update PaddleOCR integration, and improve response structure
* refactor(ocr): remove OCR_CLEANUP job from enum and type definitions
* refactor(ocr): remove obsolete OCR entity and migration files, and update asset job status and schema to accommodate new OCR table structure
* refactor(ocr): update OCR schema and response structure to use individual coordinates instead of bounding box, and adjust related service and repository files
* feat: enhance OCR configuration and functionality
- Updated OCR settings to include minimum detection box score, minimum detection score, and minimum recognition score.
- Refactored PaddleOCRecognizer to utilize new scoring parameters.
- Introduced new database tables for asset OCR data and search functionality.
- Modified related services and repositories to support the new OCR features.
- Updated translations for improved clarity in settings UI.
* sql changes
* use rapidocr
* change dto
* update web
* update lock
* update api
* store positions as normalized floats
* match column order in db
* update admin ui settings descriptions
fix max resolution key
set min threshold to 0.1
fix bind
* apply config correctly, adjust defaults
* unnecessary model type
* unnecessary sources
* fix(ocr): switch RapidOCR lang type from LangDet to LangRec
* fix(ocr): expose lang_type (LangRec.CH) and font_path on OcrOptions for RapidOCR
* fix(ocr): make OCR text search case- and accent-insensitive using ILIKE + unaccent
* fix(ocr): add OCR search fields
* fix: Add OCR database migration and update ML prediction logic.
* trigrams are already case insensitive
* add tests
* format
* update migrations
* wrong uuid function
* linting
* maybe fix medium tests
* formatting
* fix weblate check
* openapi
* sql
* minor fixes
* maybe fix medium tests part 2
* passing medium tests
* format web
* readd sql
* format dart
* disabled in e2e
* chore: translation ordering
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* 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>
* fix: respect storage indicator size setting
* remove black bar on the bottom of the setting scaffold page
---------
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>
* chore: refresh backup stats when entering backup page
* check for success status
* remove logs
* remove sync remote when toggle the button
* show status immediately after navigating to screen
* pr feedback