* add full image provider and refactor thumb providers
* photo_view updates
* wip: asset-viewer
* fix controller dispose on page change
* wip: bottom sheet
* fix interactions
* more bottomsheet changes
* generate schema
* PR feedback
* refactor asset viewer
* never rotate and fix background on page change
* use photoview as the loading builder
* precache after delay
* claude: optimizing rebuild of image provider
* claude: optimizing image decoding and caching
* use proper cache for new full size image providers
* chore: load local HEIC fullsize for iOS
* make controller callbacks nullable
* remove imageprovider cache
* do not handle drag gestures when zoomed
* use loadOriginal setting for HEIC / larger images
* preload assets outside timer
* never use same controllers in photo-view gallery
* fix: cannot scroll down once swipe with bottom sheet
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat(mobile): add album asset sync
* add SyncAlbumToAssetDeleteV1 to openapi-spec
* update delete queries to use where in statements
* clear remote album when clear remote data
* fix: bad merge
* fix: bad merge
* fix: _SyncAckV1 return type
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* 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>
* refactor: user entity
* fix: add users to album & user profile url
* chore: rebase fixes
* generate files
* fix(mobile): timeline not reset on login
* fix: test stub
* refactor: rename user model (#16813)
* refactor: rename user model
* simplify import
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* chore: generate files
* fix: use getAllAccessible instead of getAll
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* 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>
* 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>
* 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>
* Added Crop Feature
* Using LayoutBuilder Fix
* Using Immich Colors
* Using Immich Text Theme
* Chnaging dynamic datatype to nullable
* Fix for the retrivel of the image from the cropscreen
* Using Hooks State
* Small edits
* Finals edits
* Saving to the mobile
* Commented final code
* Commented final code
* Comments and AutoRoute
* Fix AutoRoute Final
* Naming tools and Action when made no edits
* Updating timeline after edit
* chore: lint
* format
* Light Mode Compatible
* fix duplicate page name
* Fix Routing
* Hiding the Button
* lint
* remove unused code
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* chore: text correction
* fix: update activities stat only when the widget is mounted
* feat(mobile): edit date time
* feat(mobile): edit location
* chore(build): update gradle wrapper - 7.6.3
* style: dropdownmenu styling
* style: wrap locationpicker in singlechildscrollview
* test: add unit test for getTZAdjustedTimeAndOffset
* pr changes
---------
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* fix(server): global activity like duplicate search
* mobile: user_circle_avatar - fallback to text icon if no profile pic available
* mobile: use favourite icon in search "your activity"
* feat(mobile): shared album activities
* mobile: align hearts with user profile icon
* styling
* replace bottom sheet with dismissible
* add auto focus to the input
---------
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* refactor(mobile): add app bar to library and sharing
* mobile: add app bar dialog
* fix(mobile): refetch profile image only when path is changed
* mobile: add server url to dialog
* mobile: move trash to library app bar
* replace discord link with github
* user confirmation before sign out
* edit some styles
---------
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* add shared links page
* feat(mobile): shared link items
* feat(mobile): create / edit shared links page
* server: add changeExpiryTime to SharedLinkEditDto
* fix(mobile): edit expiry to never
* mobile: add icon when shares list is empty
* mobile: create new share from album / timeline
* mobile: add translation texts
* mobile: minor ui fixes
* fix: handle serverURL with /api path
* mobile: show share link on successful creation
* mobile: shared links list - 2 column layout
* mobile: use sharedlink pod class instead of dto
* mobile: show error on link creation
* mobile: show share icon only when remote assets are in selection
* mobile: use server endpoint instead of server url
* styling
* styling
---------
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* Bump to Flutter 3.13.0
* Updates permission status
* Adds hidden to app livecycle state
* Updates and switches to WakelockPlus
* bump flutter version github action
* mobile test version
* fix format
* video player
* video uri
* ios test
* Update android target sdk requirement to PlayStore
---------
Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix: outlick editable field does not change edit icon
* fix: unfocus on submit change album name
* styling
* styling
* confirm dialog
* Confirm deletion
* render user
* user avatar with image
* use UserCircleAvatar
* rights
* stlying
* remove/leave options
* styling
* state management
---------
Co-authored-by: Alex Tran <Alex.Tran@conductix.com>