1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-24 10:37:28 +02:00
Commit Graph

649 Commits

Author SHA1 Message Date
Jason Rasmussen
96b7885583
refactor(server): trash endpoints (#6652)
* refactor(server): trash endpoints

* chore: open api

* chore: fix wrong rename
2024-01-26 11:48:37 -05:00
Jason Rasmussen
7ea55c7236
refactor(server): download endpoints (#6653)
* refactor(server): download controller

* chore: open api

* chore: fix mobile references
2024-01-26 08:19:13 -06:00
Jason Rasmussen
7b314f9435
chore(server): sort open api params (#6484)
* chore: sort spec

* chore: open api

* chore(mobile): sort auditDeletes params

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-22 11:49:51 -05:00
Alex
b34a808fbb
feat(mobile): Add Slovenian (#6558) 2024-01-21 16:27:54 -06:00
shenlong
f80f867976
fix(mobile): stack button not in bottom app bar (#6497)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-19 17:40:10 +00:00
shenlong
f62678f58f
feat(mobile): long-press delete button to permanently delete asset (#6240)
* feat(mobile): delete assets from device only

* mobile: add backed up only toggle for delete device only

* remove toggle inside alert and show different content

* mobile: change content color for local only

* mobile: delete local only button to dialog

* style: display bottom action in two lines

* feat: separate delete buttons

* fix: incorrect error message for ownedRemoteSelection

* feat(mobile): long-press delete to permanently delete asset

* chore: add todo to handle long press to delete in gallery_viewer

* chore: rebase on deletion branch

* feat(mobile): long-press delete to permanently delete asset

* fix(mobile): update minChildSize of control bottom app bar

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-18 15:01:38 -06:00
shenlong
04c783f2f0
fix(mobile): asset state when delete from trash (#6476)
* fix(mobile): handle asset removal state from trash for merged assets

* fix(mobile): use appropriate text for trash / delete

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-18 14:55:19 -06:00
waclaw66
574aecc1e2
fix(mobile): add to album - list thumbnails (#6444)
fix(mobile): add to album thumbnails
2024-01-17 14:27:55 -06:00
shenlong
4c2befc68c
feat(mobile): separate delete buttons (#4505)
* feat(mobile): delete assets from device only

* mobile: add backed up only toggle for delete device only

* remove toggle inside alert and show different content

* mobile: change content color for local only

* mobile: delete local only button to dialog

* style: display bottom action in two lines

* feat: separate delete buttons

* fix: incorrect error message for ownedRemoteSelection

* fix: handle remoteOnly from delete everywhere

* request confirmation for local only only when non-backed assets are in selection

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-16 21:28:23 -06:00
Alex
78de4f1312
feat(mobile): quota (#6409)
* feat(mobile): quota

* openapi

* user entity update

* Render quota

* refresh usage upon opening the app bar

* stop backup when quota exceed
2024-01-16 20:08:31 -06:00
Alex
76bad762d7
fix(mobile): null check on null value on top app bar (#6406)
Fixed issue with null check on null value causing the top app bar render
a gray overlay when open an asset in Album On Device section in Library
page
2024-01-16 00:25:59 +00:00
shenlong
ba5cca9348
chore(dep): update auto_route (#6390)
* chore(dep): update auto_route

* chore: rebase main

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-15 16:50:33 +00:00
shenlong
e6c0f0e3aa
refactor(mobile): maplibre (#6087)
* chore: maplibre gl pubspec

* refactor(wip): maplibre for maps

* refactor(wip): dual pane + location button

* chore: remove flutter_map and deps

* refactor(wip): map zoom to location

* refactor: location picker

* open gallery_viewer on marker tap

* remove detectScaleGesture param

* test: debounce and throttle

* chore: rename get location method

* feat(mobile): Adds gps locator to map prompt for easy geolocation (#6282)

* Refactored get gps coords

* Use var for linter's sake, should handle errors better

* Cleanup

* Fix linter issues

* chore(dep): update maplibre to official lib

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Joshua Herrera <joshua.herrera227@gmail.com>
2024-01-15 09:26:13 -06:00
Justin van der Krieken
aa8c54e248
feat(mobile): Focus search on doubletap nav button (#6048)
* feat(mobile): Focus search on doubletap nav button

* Update mobile/lib/modules/search/ui/immich_search_bar.dart

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

* Move search notifier inside search bar file

And fix naming to better represent type.

* Remove onSearchFocusRequest and call focusSearch directly

* Fix compilation error after file autosave

---------

Co-authored-by: Justin van der Krieken <justin@vdkrieken.com>
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
2024-01-15 09:25:56 -06:00
shenlong
4f942bc182
fix(mobile): copy shared link (#6310)
* fix(mobile): copy shared link

* fix: handle trailing slash

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-10 09:32:09 -06:00
shenlong
0e0a472de1
fix(mobile): ensure notifier is mounted before updating state (#6308)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-10 09:31:54 -06:00
shenlong
a233e176e5
fix(mobile): handle readonly and offline assets (#5565)
* feat: add isReadOnly and isOffline fields to Asset collection

* refactor: move asset iterable filters to extension

* hide asset actions based on offline and readOnly fields

* pr changes

* chore: doc comments

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-05 21:02:16 -06:00
Fynn Petersen-Frey
56cde0438c
feat(mobile): multiselect for search & person page (#6016)
* feat(mobile): multiselect for search & person page

* merge main

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-05 21:23:58 +00:00
shenlong
d3af2b1f69
(mobile): ios - calculate hash using CryptoKit (#5976)
* ios: calculate hash using CryptoKit

* chore: remove unused crypto dep

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-05 10:49:43 -06:00
shenlong
af32183728
refactor(mobile): Activities (#5990)
* refactor: autoroutex pushroute

* refactor: autoroutex popRoute

* refactor: autoroutex navigate and replace

* chore: add doc comments for extension methods

* refactor: Add LoggerMixin and refactor Album activities to use mixin

* refactor: Activity page

* chore: activity user from user constructor

* fix: update current asset after build method

* refactor: tests with similar structure as lib

* chore: remove avoid-declaring-call-method rule from dcm analysis

* test: fix proper expect order

* test: activity_statistics_provider_test

* test: activity_provider_test

* test: use proper matchers

* test: activity_text_field_test & dismissible_activity_test added

* test: add http mock to return transparent image

* test: download isar core libs during test

* test: add widget tags to widget test cases

* test: activity_tile_test

* build: currentAlbumProvider to generator

* movie add / remove like to activity input tile

* test: activities_page_test.dart

* chore: better error logs

* chore: dismissibleactivity as statelesswidget

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-04 23:20:55 -06:00
shenlong
2aaf941dda
refactor(mobile): use startOAuth and server features flags (#6155)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-04 14:44:40 -06:00
Jason Rasmussen
317adc5c28
feat(web,server): external domain setting (#6146)
* feat: external domain setting

* chore: open api

* mobile: handle serverconfig-externalDomain

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2024-01-03 21:54:48 -05:00
Jason Rasmussen
9a04014f98
feat(mobile): use new endpoint (#6108) 2024-01-01 19:02:30 -05:00
Emanuel Bennici
fd3a1a4da8
fix(mobile): Fix "Live Images" and "Recently added" page (#6030)
* fix(mobile): Load assets on "Live-Images" page

Instead of requesting the server for the relevant entries, we can use
the local DB.

This change fixes loading errors when going to the "Live-Images" page.
It is similar to the work done with #5971.

* fix(mobile): Fix Recently added page
2023-12-27 23:33:37 -06:00
Fynn Petersen-Frey
733fa28aa2
feat(mobile): load search result assets from local DB (#5971) 2023-12-26 15:41:51 -06:00
Alex
17ef411b0a
Localizely: Translations update (#5902)
* chore(mobile): translation update

* fix localizely plurals form

* more fix
2023-12-24 10:20:34 -06:00
shenlong
154292242f
fix(mobile): use proper id for gellery_viewer hero attribute (#5894)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-20 11:23:17 -06:00
André Pinto
4505ebc315
fix(mobile): Fix pt-PT locale. Add missing pt-PT localizely entry (#5892) 2023-12-20 09:46:20 -06:00
shenlong
085dc6cd93
fix(mobile): use safe area for gallery_viewer bottom sheet (#5831)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-18 11:22:06 -06:00
Alex
ffc31f034c
chore(mobile): handle delete file error (#5827) 2023-12-18 09:54:42 -06:00
waclaw66
3a2e9b6298
feat(web): increase map max zoom (#5693)
* increate max zoom

* increase max zoom on mobile
2023-12-14 08:40:56 -05:00
Alex
885eba2b7c
fix(mobile): simplify state management in backup selection page (#5655)
* fix(mobile): simplify album selection backup state management

* remove search bar'

* log available albums
2023-12-12 21:06:04 -06:00
Alex
c7df800d27
fix(mobile): Fix upload hang on iOS when deleting stale files (#5658)
* fix(mobile): Fix upload hang on iOS when deleting stale files

* Cleaner fix
2023-12-12 11:36:37 -06:00
Alex
af7c4ae090
fix(mobile): better error message (#5653) 2023-12-12 08:58:13 -06:00
shenlong
fb4b4e5895
fix: handle livePhotos using originFileWithSubType (#5602)
* fix: handle livePhotos using originFileWithSubType

* remove livePhoto asset cache

* fetch live photo video name from entity

* fix: video file not detected

* chore: pull main

* fix: set correct header

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-12-11 20:20:36 -06:00
Łukasz Wawrzyk
f6ef226b64
chore(mobile): put delete button before metadata editing (#5633) 2023-12-11 12:53:11 -06:00
Alex
64e985d600
fix(mobile): Revert - upload motion and live part of LivePhotos together (#5601) 2023-12-11 10:38:02 -06:00
shenlong
960b68b02f
fix(mobile): live / motion photo download (#5607)
* reverts: 5566

* fix: stitch livePhoto only in iOS

* fix: PMProgressHandler only on iOS

* ios: fallback to saving image if livephoto fails

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-10 09:56:39 -06:00
shenlong
3a794d7a2b
fix: use avatarColor as the text background when no avatar available (#5566)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-09 20:32:39 -06:00
shenlong
68c0112aaa
fix(mobile): memory lane not displayed in mobile app (#5587)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-09 20:32:20 -06:00
shenlong
8847ebeef2
fix(mobile): mobile album sort not persisting (#5584)
* chore(deps): use mocktail instead of mockito

* refactor: move stubs to fixtures/

* fix: fetch assetsortmode based on storeindex

* test: validate AlbumSortByOptions provider

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-09 20:31:23 -06:00
shenlong
3581069c2b
fix(mobile): do not show loading overlay on grid refresh (#5531)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-07 12:21:07 -06:00
shenlong
c5504aae6e
refactor(mobile): album sort (#5510)
* refactor: migrate album sort option to provider

* refactor: use sort order in add to album sheet list

* test(mobile): album_sort_options_provider unit tests

* refactor: sort shared albums with user selected sort

* refactor: use listview to render shared albums

* refactor: rename to AlbumSortByOptions

* refactor: remove filtering inside sort functions

* font size

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-12-07 18:14:09 +00:00
Alex
2e59b07cc6
feat(mobile): handle backup iCloud asset (#5508)
* feat(mobile): handle backup iCloud asset

* additional state

* Download progress

* Added a separate page for backup options

* handle ingore iCloud asset upload'

* fix init backup service

* PR feedback

* fix negative count

* get file title
2023-12-07 09:53:15 -06:00
Fynn Petersen-Frey
c25556bb08
feat(mobile): unify asset grid multiselect actions (#5407)
* feat(mobile): unify asset grid multiselect actions

* add favorite & archive page

* show edit date&place on main photos screen

* Reposition exit button

* Sort favorite with the same order as other view

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-12-07 09:38:22 -06:00
shenlong
e1739ac4fc
fix(mobile): allow editing asset dates in the future (#5522)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-06 20:04:03 -06:00
shenlong
f53b70571b
fix: notify mobile app when live photos are linked (#5504)
* fix(mobile): album thumbnail list tile overflow on large album title

* fix: notify clients about live photo linked event

* refactor: notify clients during meta extraction

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-06 08:56:09 -06:00
shenlong
086a957a2b
feat(mobile): edit date time & location (#5461)
* 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>
2023-12-05 13:34:37 -06:00
shenlong
d5f6584e1d
fix(mobile): use zoomedpagetransition for galleryvieweroute (#5495)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-12-05 09:45:04 -06:00
Quek
ca1be71bca
fix(mobile): new album icon has different height to existing album cover (#5422) 2023-12-04 13:26:17 -06:00
Fynn Petersen-Frey
bdbaa166d9
fix(mobile): clear album provider on logout (#5477) 2023-12-04 10:21:05 -06:00
shenlong
527d602a9f
refactor(mobile): immich loading overlay (#5320)
* refactor: dcm fixes

* refactor: ImmichLoadingOverlay to custom hook

* chore: dart fixes

* pr changes

* fix: process overlay add / remove in postframecallback

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-29 04:20:00 +00:00
shenlong
513f252a0c
refactor(mobile): log asyncvalue errors (#5327)
* refactor: scaffoldwhen to log errors during scaffold body render

* refactor: onError and onLoading scaffoldbody

* refactor: more scaffold body to custom extension

* refactor: add skiploadingonrefresh

* Snackbar color

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-29 04:17:29 +00:00
avaness
5a2fc20b20
fix(mobile): server endpoint input auto parse https when not specified (#5326)
This fixes issue #4397 and automatically adds the https protocol to the server endpoint url if it is missing

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-29 04:02:19 +00:00
shenlong
b0db8ed6c4
style(mobile): asset selection animation (#5322)
* refactor: replace navigator.pop with context.pop

* mobile: use demo instance credentials for test login

* style(mobile): centre align add partner button

* mobile: add thumbnail selection animation

* differnt gesture for test instance

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-28 22:05:13 +00:00
shenlong
e65d1d5930
refactor: mobile - send livephoto as a separate request (#5275)
* refactor: mobile - send livephoto as a separate request

* fix: create new request for live asset

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-25 21:45:18 -06:00
shenlong
0108211c0f
refactor: deprecate getUserAssetsByDeviceId (#5273)
* refactor: deprecated getUserAssetsByDeviceId

* prevent breaking changes

* chore: add deprecation

* prevent breaking changes

* prevent breaking changes

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-25 15:46:20 +00:00
Michael Manganiello
8a8d3811b9
fix(mobile): Add translatable strings for shared links info (#5292)
Mark more strings as translatable, regarding shared link information and
expiration.
2023-11-24 15:29:49 -06:00
Alex Tran
95280fd692
chore(mobile): remove unused import 2023-11-22 08:00:28 -06:00
PyKen
ff275ea175
chore(mobile): Add log when saving asset (#5259) 2023-11-22 03:55:51 +00:00
Alex
347e6191c5
chore(mobile): minor font fix 2023-11-20 12:59:53 -06:00
Alex
acf099e481
chore(mobile): Mobile make over (#5129)
* chore: added overpass font

* Setting page

* style: app bar dialog

* style: backup controller and album selection page

* style: asset grid

* blanket fix

* blanket fix

* remove description input for local only asset

* revert

* merge main

* style: search page

* sharing page

* text size in sharing page

* style: library page

* library page

* album page + album creation page

* Navigationbar

* style: minor

* update

* album bottom sheet

* album option page

* minor style fix

* remove unused fonts

* remove fonts in pubspec
2023-11-20 08:58:03 -06:00
shenlong
983473261b
refactor(mobile): riverpod codegen + riverpod lint (#4836)
* build(mobile): add riverpod_lint

* refactor(mobile): riverpod_generator for providers

* test(mobile): fix integration test helper

* refactor: ApiService to riverpod codegen

* refactor(mobile): return curatedcontent instead of people dto

* refactor: person provider to asyncnotifier

* mobile: update service providers to use lambda

* mobile: update scaffoldbody default error icon

* remove logger mixin

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-19 10:04:44 -06:00
shenlong
fce8d48de6
fix(mobile): use proper context for popping out from share (#5138)
* fix(mobile): use proper context for popping out from share

* mobile: use proper context for popping

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-18 23:13:38 -06:00
Michael Manganiello
6d310d6297
fix(mobile): Mark more strings for translation (#5132)
* fix(mobile): Mark more strings for translation

Moving more strings to the `i18n` JSON file, and also including their
es-US translations.

* Add more translatable strings
2023-11-18 20:32:28 -06:00
shenlong
4daf2478aa
feat(mobile): remove announcement overlay and show in app bar dialog (#5104)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-17 15:46:18 -06:00
Fynn Petersen-Frey
63a745c7ad
fix(mobile): update local deleted assets in sync (#5099) 2023-11-17 15:35:57 -06:00
Fynn Petersen-Frey
343afea713
fix(mobile): rebuild of unified partner timeline (#5065) 2023-11-15 08:31:38 -06:00
Michael Manganiello
c4f7cfc2a6
feat(mobile): Add es-US translations (#4997)
Adding es-US translations for all current strings in the application.
2023-11-14 20:23:58 -06:00
Fynn Petersen-Frey
5d8af5f94c
fix(mobile): partner assets in albums & share (#5029) 2023-11-14 14:32:38 -06:00
Fynn Petersen-Frey
5145c33ed4
feat(mobile): use app without storage permission (#5014)
* feat(mobile): use app without storage permission

* address review feedback
2023-11-14 14:30:27 -06:00
martin
d25a245049
feat(web,server): user avatar color (#4779) 2023-11-14 03:10:35 +00:00
opdelta
14c7187539
feat(mobile): Added fr-CA translations (#5023)
Co-authored-by: Ziad Lteif <cj291059>
2023-11-13 20:20:54 -06:00
Alex
ac7e8bcdf4
fix(mobile): freeze at splash screen when updating from 1.85 to the new version (#5012)
* fix(mobile): Cannot return to logged in screen due to name changes

* fix(mobile): Cannot return to logged in screen due to name changes

* remove deadcode

* test deprecate

* Add deprecated decorator

* revert api change
2023-11-13 14:15:36 -06:00
Fynn Petersen-Frey
38983838fd
fix(mobile): better app state handling (#4989)
* fix(mobile): better app state handling

* watch -> read

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-13 19:51:16 +00:00
Fynn Petersen-Frey
464cf903f4
fix(mobile): better icon spacing in bottom bar (#5010)
* fix(mobile): better icon spacing in bottom bar

* wider buttons
2023-11-13 10:19:51 -06:00
Fynn Petersen-Frey
9fa9ad05b1
feat(mobile): unify partner assets on timeline (#4974)
* feat(mobile): unify partner assets on timeline

* skip non-owned assets in bulk actions

* add message when trying to delete partner assets
2023-11-13 09:54:41 -06:00
Fynn Petersen-Frey
069a32dcdb
fix(mobile): run user sync operation with lock (#4984) 2023-11-12 10:35:08 -06:00
Alex Tran
2e82476cff
chore: styling for partner stylesheet 2023-11-11 23:02:26 -06:00
Brian Austin
7fca0d8da5
fix: replace first and last name with single field (#4915) 2023-11-11 19:03:32 -06:00
Alex
35767591d2
feat(web): show partners assets on the main timeline (#4933) 2023-11-11 21:06:19 +00:00
aphymi
3b11854702
fix(mobile): fix JSON-format typos in Asset model (#4942) 2023-11-10 02:56:30 +00:00
shenlong
bffc2cdf60
refactor(mobile): build context extensions (#4923)
* refactor: move all extensions to separate package

* refactor(mobile): add BuildContext extension

* refactor(mobile): use theme getters from context

* refactor(mobile): use media query size from context

* refactor(mobile): use auto router methods from context

* refactor(mobile): use navigator methods from context

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-09 10:19:53 -06:00
Daniel Dietzler
a147dee4b6
feat: Maplibre (#4294)
* maplibre on web, custom styles from server

Actually use new vector tile server, custom style.json

support multiple style files, light/dark mode

cleanup, use new map everywhere

send file directly instead of loading first

better light/dark mode switching

remove leaflet

fix mapstyles dto, first draft of map settings

delete and add styles

fix delete default styles

fix tests

only allow one light and one dark style url

revert config core changes

fix server config store

fix tests

move axios fetches to repo

fix package-lock

fix tests

* open api

* add assets to docker container

* web: use mapSettings color for style

* style: add unique ids to map styles

* mobile: use style json for vector / raster

* do not use svelte-material-icons

* add click events to markers, simplify asset detail map

* improve map performance by using asset thumbnails for markers instead of original file

* Remove custom attribution

(by request)

* mobile: update map attribution

* style: map dark mode

* style: map light mode

* zoom level for state

* styling

* overflow gradient

* Limit maxZoom to 14

* mobile: listen for mapStyle changes in MapThumbnail

* mobile: update concurrency

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: bo0tzz <git@bo0tzz.me>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-11-09 10:10:56 -06:00
shenlong
5c602bf4d4
fix(mobile): add label for expire after in shared link edit page (#4920)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-09 08:36:57 -06:00
Michael Manganiello
52fe392a9e
fix(mobile): display simple album date when range is single day (#4919)
This change makes albums with same start and end date, to just display a
single date.

Currently, date range is displayed as `Nov 9 - Nov 9 2023`. With this
change, just `Nov 9 2023` is displayed. No changes are made for albums
where start and end dates do not match.
2023-11-09 03:16:56 +00:00
shenlong
664b7106ca
feat(mobile): shared album activity disable handling (#4890)
* feat(mobile): shared album activity disable handling

* not show comment/like option on non-shared album, alternative text when activity is disabled

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-08 03:07:43 +00:00
shenlong
c2c26c471a
fix(mobile): do not show trashed assets in album viewer page (#4894)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-07 13:19:45 -06:00
Fynn Petersen-Frey
21f2d3058a
feat(mobile)!: batched full/initial sync (#4840)
* feat(mobile): batched full/initial sync

* use OptionalBetween

* skip/take as integer

---------

Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-11-06 11:40:43 -06:00
shenlong
26fd9d7e5f
feat(mobile): shared album activities (#4833)
* 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>
2023-11-06 09:46:26 -06:00
Fynn Petersen-Frey
68000c21a8
fix(mobile): backup indicator wrong when only background backup is enabled (#4842)
Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
2023-11-05 10:07:57 -06:00
doggo
de29480dda
fix(mobile): first stack list asset is now highlighted on view (#4802) 2023-11-03 20:43:43 -05:00
Jason Rasmussen
2e424fe249
feat(server): better api error messages (for unhandled exceptions) (#4817)
* feat(server): better error messages

* chore: open api

* chore: remove debug log

* fix: syntax error

* fix: e2e test
2023-11-03 20:33:15 -05:00
Wingy
d4ef6f52bb
chore(mobile): change version mismatch text (#4831)
* change version mismatch text

* change text
2023-11-03 20:20:42 -05:00
waclaw66
621eef0edc
feat(mobile): share assets from album (#4821)
* share from album

* fix case

* enhance conditional array items
2023-11-03 16:00:55 -05:00
waclaw66
33ce2b7bba
fix(mobile): shows asset datetime with original timezone (#4774) 2023-11-03 09:04:41 -05:00
shenlong
81792a5342
fix(mobile): immich app bar tap radius (#4816)
* mobile: tool-tip for server url in app bar dialog

* fix: Add Inkwell around the entire profile image

* mobile: open documentation and github in browser

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-03 09:04:06 -05:00
shenlong
5f43971ccf
mobile: allow upload if local asset in selection (#4815)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-11-03 09:03:01 -05:00
shenlong
2377df9dae
fix(mobile): store exposure time as string (#4589)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-31 05:33:45 -05:00
waclaw66
ad5ba82f50
fix(mobile): don't show lens info if it's not available (#4737) 2023-10-31 05:33:08 -05:00
shenlong
9f56bf0ab9
refactor(mobile): app bar (#4687)
* 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>
2023-10-30 12:17:34 -05:00
shenlong
512f672e9e
fix(mobile): cache key for assets from dto (#4699)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-29 15:28:54 -05:00
shenlong
b117985f66
fix(mobile): first char miss in new description (#4697)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-29 14:16:25 -05:00
jarvis2f
8a6889529c
feat(server,web,mobile): Add optional password option for share links. (#4655)
* feat(server,web,mobile): Add optional password option for share links.

Signed-off-by: jarvis2f <137974272+jarvis2f@users.noreply.github.com>

* feat(server,web): Update shared-link.controller and page.svelte for improved cookie handling and metadata updates.

Signed-off-by: jarvis2f <137974272+jarvis2f@users.noreply.github.com>

---------

Signed-off-by: jarvis2f <137974272+jarvis2f@users.noreply.github.com>
2023-10-28 20:35:38 -05:00
shenlong
2a2c74e081
fix(mobile): handle shared assets in viewer (#4679)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-28 14:48:30 -05:00
shenlong
a42c95a781
mobile: show stack indicator for videos (#4671)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-27 20:09:17 -05:00
shenlong
b49b10141e
fix(mobile): stack count reset when navigating to library (#4647)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-26 09:19:06 -05:00
Alex
237d1c1bf4
fix(mobile): incorrect date range (#4644)
* fix(mobile): incorrect date range

* remove comment

* pr feedback
2023-10-25 16:56:31 -05:00
shenlong
52e09b4857
fix(mobile): asset deletion state management (#4568) 2023-10-25 11:02:59 -05:00
Alex
aefd052888
feat(mobile): clear local storage option (#4635)
* feat(mobile): clear local storage option

* en json
2023-10-25 09:53:16 -05:00
martin
1aae29a0b8
refactor(server, web)!: store latest immich version available on the server (#3565)
* refactor: store latest immich version available on the server

* don't store admins acknowledgement

* merge main

* fix: api

* feat: custom interval

* pr feedback

* remove unused code

* update environment-variables

* pr feedback

* ci: fix server tests

* fix: dart number

* pr feedback

* remove proxy

* pr feedback

* feat: make stringToVersion more flexible

* feat(web): disable check

* feat: working version

* remove env

* fix: check if interval exists when updating the interval

* feat: show last check

* fix: tests

* fix: remove availableVersion when updated

* fix merge

* fix: web

* fix e2e tests

* merge main

* merge main

* pr feedback

* pr feedback

* fix: tests

* pr feedback

* pr feedback

* pr feedback

* pr feedback

* pr feedback

* fix: migration

* regenerate api

* fix: typo

* fix: compare versions

* pr feedback

* fix

* pr feedback

* fix: checkIntervalTime on startup

* refactor: websockets and interval logic

* chore: open api

* chore: remove unused code

* fix: use interval instead of cron

* mobile: handle WS event data as json object

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-24 11:05:42 -04:00
shenlong
28d35bf04e
fix(mobile): unique hero tag for assets from api response (#4600)
* fix(mobile): render error on switching asset while video playing

* fix(mobile): generate proper hero tags for assets from DTOs

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-23 13:28:12 -05:00
shenlong
b05132a01a
refactor(mobile): server info to use data classes instead of dtos (#4591)
* refactor: server info model to use data classes instead of dtos

* mobile: add return types and refactor private variables in map / stack

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-22 15:15:34 -05:00
shenlong
9b418642a6
refactor(mobile): stack only through merging from timeline (#4598)
* mobile: remove stack selection page

* mobile: require at-least 2 assets to stack

* mobile: sort stack children by fileCreatedAt

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-22 15:07:27 -05:00
shenlong
8dcc01b2be
feat(mobile): shared-links (#4490)
* 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>
2023-10-22 15:05:10 +00:00
shenlong
cf08ac7538
feat: manual stack assets (#4198) 2023-10-21 21:38:07 -05:00
shenlong
22172a680b
fix(mobile): validate response code from download file (#4543)
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2023-10-19 15:19:00 -05:00
shenlong
a78e08bac1
fix(mobile): handle asset trash, restore and delete ws events (#4482)
* server: add ASSET_RESTORE ws event

* mobile: handle ASSET_TRASH, ASSET_RESTORE and ASSET_DELETE ws events

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-10-16 13:01:38 -05:00
shenlong
634169235a
fix(mobile): reset trashed state for local assets on remote asset deletion (#4501) 2023-10-16 12:26:35 -05:00
Alex
7e9fc4aa97
fix(mobile): remove debug description text 2023-10-12 13:23:41 -05:00
Alexander Groß
e57c926676
feat(mobile): offer the same album sorting options on mobile as on web (#3804)
* Add translations for new album sort options

* Support additional album sort options like on web

* Update generated code

* Fix lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-10-12 13:18:54 -05:00
Alex
9af5e7838f
fix(mobile): description not render on first opening (#4451) 2023-10-12 10:30:56 -05:00
shenlong
5dacea6f74
fix(mobile): asset state change not updated in gallery app bar (#4441) 2023-10-11 21:10:59 -05:00
shenlong
18fcca2884
style(mobile): update video indicator (#4443) 2023-10-11 14:03:04 -05:00
Jonathan Jogenfors
41befc0948
fix(server): don't publicly reveal user count (#4409)
* fix: don't reveal user count publicly

* fix: mobile and user controller

* fix: update other frontend endpoints

* fix: revert openapi change

* chore: open api

* fix: initialize

* openapi

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-10-11 02:37:13 +00:00
shenlong
c48d4f01dc
Fix/mobile remove upload soft limit (#4380)
* fix(mobile): remove soft limit for manual upload

* chore(mobile): remove translation text
2023-10-07 05:17:50 -05:00
shenlong
4a8887f37b
feat(server): trash asset (#4015)
* refactor(server): delete assets endpoint

* fix: formatting

* chore: cleanup

* chore: open api

* chore(mobile): replace DeleteAssetDTO with BulkIdsDTOs

* feat: trash an asset

* chore(server): formatting

* chore: open api

* chore: wording

* chore: open-api

* feat(server): add withDeleted to getAssets queries

* WIP: mobile-recycle-bin

* feat(server): recycle-bin to system config

* feat(web): use recycle-bin system config

* chore(server): domain assetcore removed

* chore(server): rename recycle-bin to trash

* chore(web): rename recycle-bin to trash

* chore(server): always send soft deleted assets for getAllByUserId

* chore(web): formatting

* feat(server): permanent delete assets older than trashed period

* feat(web): trash empty placeholder image

* feat(server): empty trash

* feat(web): empty trash

* WIP: mobile-recycle-bin

* refactor(server): empty / restore trash to separate endpoint

* test(server): handle failures

* test(server): fix e2e server-info test

* test(server): deletion test refactor

* feat(mobile): use map settings from server-config to enable / disable map

* feat(mobile): trash asset

* fix(server): operations on assets in trash

* feat(web): show trash statistics

* fix(web): handle trash enabled

* fix(mobile): restore updates from trash

* fix(server): ignore trashed assets for person

* fix(server): add / remove search index when trashed / restored

* chore(web): format

* fix(server): asset service test

* fix(server): include trashed assts for duplicates from uploads

* feat(mobile): no dialog for trash, always dialog for permanent delete

* refactor(mobile): use isar where instead of dart filter

* refactor(mobile): asset provide - handle deletes in single db txn

* chore(mobile): review changes

* feat(web): confirmation before empty trash

* server: review changes

* fix(server): handle library changes

* fix: filter external assets from getting trashed / deleted

* fix(server): empty-bin

* feat: broadcast config update events through ws

* change order of trash button on mobile

* styling

* fix(mobile): do not show trashed toast for local only assets

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-10-06 02:01:14 -05:00
Jason Rasmussen
192e950567
fix: use local time for time buckets and improve memories (#4072)
* fix: timezone bucket timezones

* chore: open api

* fix: interpret local time in utc

* fix: tests

* fix: refactor memory lane

* fix(web): use local date in memory viewer

* chore: set localDateTime non-null

* fix: filter out memories from the current year

* wip: move localDateTime to asset

* fix: correct sorting from db

* fix: migration

* fix: web typo

* fix: formatting

* fix: e2e

* chore: localDateTime is non-null

* chore: more non-nulliness

* fix: asset stub

* fix: tests

* fix: use extract and index for day of year

* fix: don't show memories before today

* fix: cleanup

* fix: tests

* fix: only use localtime for tz

* fix: display memories in client timezone

* fix: tests

* fix: svelte tests

* fix: bugs

* chore: open api

---------

Co-authored-by: Jonathan Jogenfors <jonathan@jogenfors.se>
2023-10-04 22:11:11 +00:00
Daniel Dietzler
e571880c16
feat(web, mobile): Options to show archived assets in map (#4293)
* Add include archive setting to map on web

* open api

* better naming for web isArchived variable

* add withArchived setting to mobile

* (e2e): tests for mapMarker endpoint and isArchived

* isArchived to mobile

* chore: cleanup test

* chore: optimize e2e

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-10-04 09:51:07 -04:00
shenlong
d7e970dcea
fix(mobile): reduce server version api calls (#4265) 2023-09-29 21:51:54 +07:00
Fynn Petersen-Frey
098ab9eae5
fix(mobile): speed up RenderList creation for timeline (#4103)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-28 10:43:55 +07:00
shenlong
a937efe719
feat(mobile): use map settings from server-config (#4045)
* feat(mobile): use map settings from server-config to enable / disable map

* refactor(mobile): remove async await for server info update
2023-09-28 10:26:48 +07:00
fujie
c0ce81ca0e
fix(mobile): assetList is empty (#4213)
* fix(mobile): assetList is empty

* add comments

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-25 08:09:09 +00:00
Alex
2e0c7abd65
fix(mobile): fix background upload regression on Android (#4139) 2023-09-19 16:39:54 +07:00
Fynn Petersen-Frey
1c02e1dadf
feat(mobile): image caching & viewer improvements (#4095) 2023-09-18 10:57:05 +07:00
Azsde
8a421eb778
fix (mobile): Fix slow album thumbnail generation for album picker (#3905)
* [BUGFIX] Fix slow album thumbnail generation

When generating the thumbnail of an album, all of the pictures of the
album are retrieved but only the first picture of the album is used.

Retrieving all of the pictures of the album at once can cause huge performance
issues on large albums.

Since only the first picture is used to generate the thumbnail, this commit
uses the getAssetListPaged method instead of getAssetListRange, effectively
retrieving only the first picture of the album.

* [DEVMINOR] Remove unecessary check

As we already check for the number of assets in the album, when
fetching assets using `album.getAssetListPaged` the returned result
won't be empty.

---------

Co-authored-by: Azsde <aelkaim@pixium-vision.com>
2023-09-13 22:32:06 +07:00
shenlong
73ad0d468f
feat(mobile): upload image assets before videos (#3958)
* feat(mobile): upload image assets before videos (#3872)

* feat(mobile): upload image assets before videos

* mobile: sort by creation date before uploading assets

* feat(mobile): upload newest assets first for foreground upload

* feat(mobile): upload images before videos only for background backup
2023-09-13 10:50:16 +07:00
Dhrumil Shah
fb20381f98
feat(mobile): allow self-signed certificate on the mobile app (#4051)
* WIP: self-signed certs accept

* WIP: format

* WIP: pushing up adding settings menu

* Add serverEndpointURL check

* Add translation update

* Handle errors properly

* format

* typo

* cleanup

* styling and permission

* remove deadcode

* put pack condition

* styling

* remove hiding settings options

* format + match drop shadow

* match color

* remove deadcode

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-09-12 21:51:43 +07:00
Fynn Petersen-Frey
bd226e9e2c
fix(mobile): images rendered twice due to rebuild (#4060)
* fix(mobile): images rendered twice due to rebuild

* fix bottom sheet triggered multiple times
2023-09-12 20:43:15 +07:00
Alex
47ea47ce14
fix(mobile): Fix background backup on iOS (#4038) 2023-09-11 17:31:15 +07:00
Fynn Petersen-Frey
5d1011b482
feat(mobile): efficient asset sync (#3945)
* feat(mobile): efficient asset sync
2023-09-10 14:51:18 +02:00
Dhrumil Shah
fb477627c7
fix(mobile): Clean up image details if there is missing info (#4018)
* fix 0,0 location

* image details cleanup

* Static anal fix
2023-09-08 12:55:55 +07:00
Dhrumil Shah
e1eae00b35
Truncate Log lines (#4003) 2023-09-07 03:53:11 +07:00
Dhrumil Shah
54775b896f
fix(mobile): change password page not navigating back (#3967) 2023-09-05 06:36:16 +07:00
shenlong
90f9501902
fix(mobile): curated places taking more size on large screens (#3959) 2023-09-05 06:10:27 +07:00
shenlong
f8d26bd865
fix(mobile): map markers not loading with int coordinates (#3957)
* fix(mobile): increase zoom-level for map zoom to asset

* refactor(mobile): map-view - rename lastAssetOffsetInSheet

* Workaround OpenAPI Dart generator bug

* fix(mobile): map - increase appbar top padding

* fix(mobile): navigation bar overlapping map bottom sheet

* fix(mobile): map - do not animate the drag handle of bottom sheet on scroll

* fix(mobile): F-Droid build failure due to map view

* fix(mobile): remove jank on map asset marker update

* fix(mobile): map view app-bar padding is made dynamic

* fix(mobile): reduce debounce time in bottom sheet asset scroll

* fix(mobile): bottom sheet - reduce drag handle total height

---------

Co-authored-by: Daniele Ricci <daniele@casaricci.it>
2023-09-05 06:08:43 +07:00
Alex Tran
78eeebf8e6 Revert "feat(mobile): upload image assets before videos (#3872)"
This reverts commit 912a13ea0d.
2023-08-29 14:07:59 -05:00
waclaw66
22f5e05060
fix(web, mobile): camera info (#3904)
* fix(web): camera lens info

* fix(mobile): camera lens ISO fix

* fix svelte-check
2023-08-29 08:57:20 -05:00
Alex
0a89c7ffc4
chore(mobile): add more catch all error log detail (#3893) 2023-08-27 23:54:04 -05:00
shalong-tanwen
912a13ea0d
feat(mobile): upload image assets before videos (#3872)
* feat(mobile): upload image assets before videos

* mobile: sort by creation date before uploading assets
2023-08-27 02:18:17 -05:00