* refactor(mobile): DB repository for asset, backup, sync service
* review feedback
* fix bug found by Alex
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* add packages
* create download task
* show progress
* save video and image
* show progress info
* live photo wip
* download and link live photos
* Update list of assets
* wip
* correct progress
* add state to download
* revert unncessary change
* repository pattern
* translation
* remove unused code
* update method call from repository
* remove unused variable
* handle multiple livephotos download
* remove logging statement
* lint
* not removing all records
* feat: metadata in UserPreference
* feat: web metadata settings
* feat: web metadata settings
* fix: typo
* patch openapi
* fix: missing translation key
* new organization of preference strucutre
* feature settings on web
* localization
* added and used feature settings
* add default value to response dto
* patch openapi
* format en.json file
* implement helper method
* use tags preference logic
* Fix logic bug and add tests
* fix preference can be null in detail panel
* Add proper colors to create album button
Allow creation of empty albums with names, or non-empty albums without names
* Add proper colors to create album button
Allow creation of empty albums with names, or non-empty albums without names
* Small changes
* Revert change
* Simplify logic
* lint
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* add root resource path '/' to mobile oauth scheme
* chore: add oauth-callback path
* add root resource path '/' to mobile oauth scheme
* chore: add oauth-callback path
* fix: make sure there are three forward slash in callback URL
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* curating assets with albums to upload
* sorting for background backup
* background upload works
* transform fields string array to javascript array
* send json array
* generate sql
* refactor upload callback
* remove albums info from upload payload
* mechanism to create album on album selection
* album creation
* Sync to upload album
* Remove unused service
* unify name changes
* Add mechanism to sync uploaded assets to albums
* Put add to album operation after updating the UI state
* clean up
* background album sync
* add to album in background context
* remove add to album in callback
* refactor
* refactor
* refactor
* fix: make sure all selected albums are selected for building upload candidate
* clean up
* add manual sync button
* lint
* revert server changes
* pr feedback
* revert time filtering
* const
* sync album on manual upload
* linting
* pr feedback and proper time filtering
* wording
* fix(web): align search filter behavior to show all camera models
* fix(mobile): align search filter behavior to clear camera model when make is set
* (mobile) correctly clear the model controller
* fix(mobile) re-add text controller to dropdown
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* Fix null name
* Fix null name and Fix button
* Remove extension correctly
* Refactoring the code and formatting
* formatting
* Fix for the extension name
* refactor: stacks
* mobile: get it built
* chore: feedback
* fix: sync and duplicates
* mobile: remove old stack reference
* chore: add primary asset id
* revert change to asset entity
* mobile: refactor mobile api
* mobile: sync stack info after creating stack
* mobile: update timeline after deleting stack
* server: update asset updatedAt when stack is deleted
* mobile: simplify action
* mobile: rename to match dto property
* fix: web test
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat: keep screen active on backup
* show dialog
* improve dialog and use shared timer
* get rid of confirmation dialog
* fix timer logic
* fix: set timeout to 60 seconds
* fix: revert unwanted change
* fix: properly hide status bar
* remove unwanted change
* fix: properly restore status bar when waking up
* clean up
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* date time component
* rename to info_sheet
* simplify map info
* Edit datetime sheet
* fix janking when scroll on info sheet
* Location refactor
* refactor name
* Update date time after editing
* localize rebuild to smaller component
* restore advanced bottom sheet
* reassign EXIF back to local database
* remove print statements