Commit graph

267 commits

Author SHA1 Message Date
shenlong
ac0d646401
fix: mobile unawaited_futures lint (#21661)
* 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>
2025-10-27 09:32:52 -05:00
shenlong
664a8fa499
fix: fetch original name before upload (#21877)
* fix: fetch origin name before upload

* fix: Show correct photo name in buttom sheet and backup details page (#22978)

* add tests

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: FawenYo <40032648+FawenYo@users.noreply.github.com>
2025-10-27 09:32:24 -05:00
Kang
02b29046b3
feat: ocr (#18836)
* 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>
2025-10-27 14:09:55 +00:00
Mert
c73e3dacea
feat(mobile): high precision seeking (#22346)
* millisecond precision video playback

* wrap in unawaited

* update commit
2025-10-24 18:59:30 +00:00
idubnori
2129f889f5
feat: (mobile) open asset viewer from album activity page (#23182)
* feat(mobile): open assetviewer via album activities page

* adjust ui behavior: keep current asset & disable initial forcus

* fix: Run 'make build' and 'make pigeon'
2025-10-24 09:02:56 -05:00
Lauritz Tieste
34bad1ce71
feat: improvements of thumbnail animations (#20300)
* feat: improve thumbnail border radius animation

feat: remove thin border between image and image selection container

feat: enhance selection icon in thumbnail image

feat: add animated selection indicator for multiselect in thumbnail image

feat: remove unnecessary widgets and variables

style: format code

fix: errors with formatting checks

* chore: port to new timeline

* chore: revert mobile/lib/widgets/asset_grid/thumbnail_image.dart

---------

Co-authored-by: bwees <brandonwees@gmail.com>
2025-10-23 22:36:49 -05:00
Brandon Wees
65cac118ca
fix: allow editing all images (#23144)
* fix: allow editing local asset

* chore: remove isOwner check
2025-10-22 10:12:32 -05:00
idubnori
85e9ced68d
chore: remove unused code file (#23116)
chore: remove unused code
2025-10-21 09:58:02 +05:30
idubnori
becb56e1b1
feat(mobile): Change the UI of asset activity list to bottom sheet (#23075)
* init of activities bottom sheet

* reverse list order, padding bottom...

* chore: remove scrolling

* chore: clean up

* chore

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-10-20 13:35:52 -05:00
shenlong
476bb1cacd
chore: skip dialog for single merged asset (#22958)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-10-20 12:38:51 -05:00
Saschl
9b5855f848
feat: add video auto play setting (#20416)
* 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>
2025-10-15 11:24:47 -04:00
Brandon Wees
b484a52252
chore: refactor show view in timeline button (#22894)
* 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>
2025-10-14 15:25:48 +00:00
shenlong
dbee133764
fix: show dialog before delete local action (#22280)
* fix: show dialog on delete local action

# Conflicts:
#	mobile/lib/repositories/asset_media.repository.dart

* button style

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-10-14 07:20:14 +00:00
Brandon Wees
8473dab684
fix: shared album control permissions (#22435)
* 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
2025-10-14 08:04:22 +05:30
Brandon Wees
efa21af6f9
fix: only cast to device if the asset is a RemoteAsset (#22805) 2025-10-10 11:13:31 -05:00
shenlong
b3342323de
fix: persist search page scroll offset between rebuilds (#22733)
fix: persist search scroll between rebuilds

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-10-08 10:00:51 -05:00
Saschl
54ed78d0bf
fix: brief flashing when swiping from video (#22187) 2025-10-08 09:31:15 -04:00
Brandon Wees
882baecf21
fix: bottom sheet blank with local assets that have remote counterparts (#22743) 2025-10-07 18:04:23 +00:00
Yaros
d02a82b618
fix(mobile): closing editor goes back to main page (#22647)
Co-authored-by: bwees <brandonwees@gmail.com>
2025-10-06 20:56:35 +00:00
Brandon Wees
2b7d28528d
fix: hide view in timeline button on local timeline (#22713) 2025-10-06 15:28:59 -05:00
Mert
43b06a036d
fix(mobile): video player using ref after disposal (#21843)
check if disposed
2025-10-06 16:20:30 +00:00
Yaros
55ad83d80d
fix(mobile): empty album description does not save (#22649) 2025-10-06 11:19:57 -05:00
Yaros
a80b9be07c
fix(mobile): trash description cut off (#22662) 2025-10-06 16:18:00 +00:00
Alex
3f6b0f3127
fix: album selector in favorite view (#22612) 2025-10-03 09:37:51 -05:00
shenlong
2e16a88f38
fix: respect storage indicator setting (#22596)
* 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>
2025-10-03 14:07:16 +00:00
Alex
d59f8e68be
fix: bottom navigation bar overlay sheet info (#22610) 2025-10-03 13:47:48 +00:00
Brandon Wees
2594cd47ab
fix: shrink age view to fit and not overflow (#22405)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-10-02 20:19:14 +00:00
Yaros
28958ba48a
fix(mobile): compass button overlaps status bar (#22330)
* fix(mobile): compass button overlaps status bar

* fix(mobile): disable rotation for map

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-10-02 16:35:43 +00:00
shenlong
a2b25b7a74
fix: show only owned assets in places and map (#22585)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-10-02 10:41:14 -05:00
shenlong
44284b4351
chore: do not remote sync twice in backup page (#22484)
do not remote sync twice in backup page

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-29 13:14:01 -05:00
shenlong
bea116e1b9
fix: prefer remote images in new timeline (#22452)
fix: prefer remote images in new thumbnail

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-27 21:29:28 -05:00
shenlong
cdbe1d7f10
chore: show download button for remote only assets (#22453)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-27 21:28:07 -05:00
Brandon Wees
df469cc412
feat: show motion photo icon on mobile timeline tile (#22454)
* feat: show motion photo icon on timeline tile

* chore: switch to private widget for asset type icons

* chore: small cleanup on asset type icons widget
2025-09-27 21:27:34 -05:00
shenlong
8de7eed940
feat(mobile): add unstack button (#21869)
* fix: add unstack button

* feat: allow unstacking inside of asset viewer

* chore: update tests

* chore: rework unstacking in asset viewer

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: bwees <brandonwees@gmail.com>
2025-09-28 06:51:38 +05:30
Brandon Wees
30a378c580
fix: local assets should not be added to album (#22304) 2025-09-26 22:41:12 +05:30
Mert
3bcb4b7af7
fix(mobile): scrubbing mode on scroll to date event (#22390) 2025-09-25 19:20:42 -05:00
Brandon Wees
972e9cc039
fix: map attribution and other styling (#22303)
* chore: map widget and page styling

* fix: map bottom sheet styling

* fix: attribution location on android

it appears that on android, the attribution marker is positioned from the top of the display and on iOS its positioned from the safe area edge
2025-09-26 00:08:25 +05:30
shenlong
a582d3a03e
fix: retain scroll position on scale update (#22237)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-21 14:42:30 -05:00
shenlong
6609e70fa8
fix: local share action not working on iPad (#22238)
fix: share photo not working on iPad

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-21 14:34:48 -05:00
Alex
33d76fb386
fix: download feedback (#22178)
* fix: download feedback

* chore: use FAB for asset viewer as well
2025-09-19 00:47:01 -05:00
Alex
642065f506
fix: get scrubber in search view working (#22175)
* feat: add option to disable snapping

* handle offset when there is no appbar
2025-09-19 00:20:09 -05:00
Alex
b8a17c3c26
fix: disable scrubbing mode on drag ended (#22186) 2025-09-18 16:42:33 -05:00
Alex
e42886b767
fix: display thumbnail while scrubbing paused (#22164)
* fix: display thumbnail while scrubbing paused

* pr feedback

* pr feedback

* tune timeout
2025-09-18 20:59:58 +00:00
Mert
9ae42106cc
fix(mobile): stack row blocking gestures and not showing up (#21854) 2025-09-18 06:16:14 +00:00
Alex
28e9892ed3
fix: show thumbnail instantly when jumping to top of the page (#22163)
* fix: show thumbnail instantly when jumping to top of the page

* pr feedback
2025-09-18 05:26:39 +00:00
Alex
2411bf8374
fix: asset viewer background isn't shown (#22161)
* fix: asset viewer background isn't shown

* pr feedback
2025-09-17 23:26:16 -05:00
Mert
0b60cc8965
fix(mobile): thumbnail shimmering effect (#22158)
full opacity
2025-09-17 22:29:37 -05:00
Mert
20733bd7df
fix(mobile): load original image (#22142)
load original image
2025-09-17 12:14:16 -04:00
Viktor Mykhailiv
4dfa011eef
fix: initial size of bottom sheet (#22085) 2025-09-17 14:41:44 +00:00
Viktor Mykhailiv
0c0bec6ae2
fix: display album image in selection mode (#22087)
* fix: display album image in selection mode

* fix: align MultiSelectStatusButton to display instead of back button in album

* small styling tweak

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-09-17 14:38:25 +00:00
Mert
585b74f233
chore(deps): bump flutter to 3.35.3 (#22054)
* bump flutter to 3.35.3

* migrate deprecated code

* linting

* disable custom_lint in ci

* disable custom_lint
2025-09-16 21:10:01 -05:00
Alex
4e9bdd5e6c
fix: storage indicator (#22077) 2025-09-16 12:46:48 -05:00
bo0tzz
4d00261bc1
chore(mobile): translate missing strings (#22057) 2025-09-16 08:51:03 -05:00
Alex
87a172ab0c
fix: distance of segment label overlapsed scrubber label (#22043) 2025-09-15 22:55:07 -05:00
shenlong
81eb5ab40d
fix: close menu anchor on navigation (#22021)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-15 15:05:22 -05:00
Mert
b79a2eb6b9
chore(mobile): const platform checks (#21878)
* use `defaultTargetPlatform`

* extension

* formatting
2025-09-15 11:13:39 -04:00
Yaros
ee96b285f2
chore(mobile): minor changes to bottom sheet (#22008) 2025-09-15 10:09:27 -05:00
Brandon Wees
27d2f3efe2
feat: disable snapping when a timeline has less than 12 months (#21649)
* feat: disable snapping when a timeline has less than 12 months

* fix: disable placeholders when not snapping

also moved month constant to constants.dart

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-09-14 19:24:52 +00:00
shenlong
dad81af6e3
fix: show view in timeline from search page (#21873)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-12 22:44:31 -05:00
shenlong
ac6b42e1e8
fix: do not show stack action if there is only one selection (#21868)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-12 22:43:51 -05:00
Mert
17bbcdf584
chore(mobile): add debugPrint lint rule (#21872)
* add lint rule

* update usages

* stragglers

* use dcm

* formatting

* test ci

* Revert "test ci"

This reverts commit 8f864c4e4d3a7ec1a7e820b1afb3e801f2e82bc5.

* revert whitespace change
2025-09-12 18:56:00 -04:00
shenlong
67a8cab286
feat: resurrect advanced info (#21633)
* feat: resurrect advanced info

* display null values as well

* add exif details

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-10 08:38:53 -05:00
shenlong
059a0e8aa8
feat: sync AuthUserV1 (#21565)
* feat: sync AuthUserV1

* migration

* chore: fix analyze

* fix user updatedAt check

* fix: auth user sync query

* generate sql

* bump schema version and update migration

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-09-08 14:00:10 -05:00
Yaros
538263dc38
fix(mobile): location button map beta timeline (#21590)
fix(mobile): location button map
2025-09-04 13:26:16 -05:00
Brandon Wees
bf6211776f
fix: retain filter and sort options when pulling to refresh (#21452)
* fix: retain filter and sort options when pulling to refresh

* chore: use classes to manage state

* chore: format

* chore: refactor to keep local state of filter/sorted albums instead of a global filteredAlbums

* fix: keep sort when page is navigated away and returned

* chore: lint

* chore: format

why is autoformat not working

* fix: default sort direction state

* fix: search clears sorting

we have to cache our sorted albums since sorting is very computationally expensive and cannot be run on every keystroke. For searches, instead of pulling from the list of albums, we now pull from the cached sorted list and then filter which is then shown to the user
2025-09-04 09:08:17 -05:00
Noel S
1fc5da398a
fix(mobile): Hide system UI when entering immersive mode in asset viewer (#21539)
Implement hiding system ui in asset viewer
2025-09-04 08:57:34 -05:00
Sudheer Reddy Puthana
4d84338086
fix(mobile): readonly mode fixes (#21545)
* fix: Enables videotimeline in readonly mode

- Enables only the video controls in the bottom bar when readonlyMode is enabled.
- Fixes the message on the app profile bar when readOnlyMode is enabled **but** betaTimeline is not enabled.

Fixes https://github.com/immich-app/immich/issues/21441

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>

* cleanup bottom bar handling

---------

Signed-off-by: Sudheer Puthana <Sud-Puth@users.noreply.github.com>
Co-authored-by: bwees <brandonwees@gmail.com>
2025-09-04 08:50:38 -05:00
Yaros
0ac49b00ee
feat(mobile): scrubber haptics (beta timeline) (#21351)
* feat(mobile): scrubber haptics beta timeline

* changed haptic to selectionClick
2025-09-04 08:47:16 -05:00
Pedro Simão
b82e29fbb4
feat(mobile): add to albums from existing albums (#21554)
* feat(mobile): add to albums from existing albums

* formatted files

* used the new t() method for translation

* removed unused import
2025-09-04 08:39:10 -05:00
shenlong
ff19aea4ac
fix: keyboard not dismissed in places page (#21583)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-09-04 08:38:44 -05:00
Mert
873f7921da
fix(mobile): ensure current asset is set in asset viewer (#21504) 2025-09-02 11:03:44 -04:00
Yaros
e7b0a47be2
feat(mobile): copy file name by long-press (#21469) 2025-09-01 20:43:18 -05:00
Mert
6a4b6699e3
fix(mobile): increase thumbnail resolution (#21502)
increase thumbnail resolution
2025-09-01 20:19:38 -05:00
Brandon Wees
32955915dd
fix: show "preparing" when sharing in beta timeline (#21390)
* fix: show "preparing" when sharing in beta timeline

* embed dialog inside of share_action_button

* dont await the share sheet so "preparing" dialog disappears once share sheet presents

this mimics old timeline behavior

* chore: lint
2025-08-30 13:51:32 -05:00
Sudheer Reddy Puthana
8853079c54
feat(mobile): add read only mode (#19368)
* 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>
2025-08-28 17:30:15 +00:00
Mert
a5841a8bf4
fix(mobile): memory lane rebuild (#21350)
* avoid unnecessary timeline rebuild

* add key

* handle disabled memories

* avoid rebuild if no memories
2025-08-27 21:16:41 -05:00
Mert
dc6ac3aaec
fix(mobile): thumbnail requests not being cancelled (#21331)
* fix requests not being cancelled

* handle thumbhash
2025-08-27 17:40:45 -04:00
Yaros
d5fec0edab
fix(mobile): capitalize month & day labels in beta timeline (#21323)
fix(mobile): capitalize month & day labels
2025-08-26 21:32:40 +00:00
Mert
5405810a38
fix(mobile): skip animation for offscreen thumbnails (#21277) 2025-08-26 11:49:20 -04:00
Mert
e67265cef2
fix(mobile): caching thumbnails to disk (#21275) 2025-08-26 11:49:12 -04:00
shenlong
2be1a58c5b
fix: prefer local video if available (#21119)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-23 11:18:57 -05:00
Alex
13c8a6e61d
fix: parse correct metadata to userDto for SQlite store implmentation (#21154) 2025-08-23 11:02:24 -05:00
Mert
fb59fa343d
feat(mobile): optimized thumbnail widget (#21073)
* thumbnail widget

* use animation ticker, improvements

* use static thumbnail resolution for now

* fix android sample size

* free memory sooner

* formatting

* tweaks

* wait for disposal

* remove debug prints

* take two on animation

* fix

* remote constructor

* missed one

* unused imports

* unnecessary import

* formatting
2025-08-21 18:06:02 +00:00
Alex
ab2849781a
feat: show remainder assets info (#21114)
* feat: show remainder assets info

* pr feedback
2025-08-21 17:18:31 +00:00
Mert
99d6673503
feat(mobile): platform image providers (#20927)
* platform image providers

* use key

* fix cache manager

* more logs, cancel on dispose instead

* split into separate files

* fix saving to cache

* cancel multi-stage provider

* refactored `getInitialImage`

* only wait for disposal for full images

* cached image works

* formatting

* lower asset viewer ram usage

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-20 19:36:44 +00:00
Alex
ec01db5c8b
refactor: bottom sheet action button (#20964)
* fix: incorrect archive action shown in asset viewer'

* Refactor

* use enums syntax and add tests
2025-08-18 10:20:08 -05:00
Brandon Wees
1926c90780
feat(mobile): shared album activities (#20714)
* feat(mobile): shared album activities

* add like buttons and fix behavior of unliking

* fix: conditionally show activity button and fix title truncations

* fix(mobile): newest/oldest album sort (#20743)

* fix(mobile): newest/oldest album sort

* chore: use sqlite to determine album asset timestamps

* Fix missing future

Co-authored-by: Alex <alex.tran1502@gmail.com>

* fix: async handling of sort

* chore: tests

* chore: code review changes

* fix: use created at for newest asset

* fix: use localDateTime for sorting

* chore: cleanup

* chore: use final

* feat: loading indicator

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-14 22:50:56 +00:00
Brandon Wees
c961d2aaf7
fix(mobile): don't show view in timeline button when opening cast dialog (#20934)
fix: don't show view in timeline button when opening cast dialog
2025-08-14 17:09:17 -05:00
Brandon Wees
41c75dc93e
fix(mobile): always show cast button (#20935) 2025-08-14 17:09:01 -05:00
Alex
aefa62b234
fix: asset_viewer page viewing experience (#20889)
* fix: zoomed in effect on swiped when bottom sheet is open

* fix: memory leaked

* fix: asset out of range when swiping in asset_viewer
2025-08-13 11:35:42 -05:00
Brandon Wees
0d60199514
fix(mobile): newest/oldest album sort (#20743)
* fix(mobile): newest/oldest album sort

* chore: use sqlite to determine album asset timestamps

* Fix missing future

Co-authored-by: Alex <alex.tran1502@gmail.com>

* fix: async handling of sort

* chore: tests

* chore: code review changes

* fix: use created at for newest asset

* fix: use localDateTime for sorting

* chore: cleanup

* chore: use final

* feat: loading indicator

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-12 14:46:50 -05:00
Alex
24db881c14
feat: swipe to delete album (#20765) 2025-08-11 16:49:53 -05:00
Alex
f09bed9ad2
fix: age info cut off (#20872) 2025-08-11 16:42:16 -05:00
Brandon Wees
669b765662
feat: edit image in beta timeline (#20709)
* feat: edit image in beta timeline

* delete album notifier pull

* feat: sync local after saving image

* feat: queue asset for manual upload after saving

* chore: clarify PlatformException catch
2025-08-11 15:01:31 -05:00
Alex
7b83b7b2d5
fix: don't show remove from album action from the main timeline (#20757)
* fix: don't show remove from album action from the main timeline

* pr feedback
2025-08-07 23:36:16 +05:30
Alex
10cbed55c4
fix: crash when rendering heatmap on Android (#20740) 2025-08-06 21:41:42 -05:00
Brandon Wees
325d5f7ba9
fix(mobile): person birthday viewing/editing (#20731)
* fix: edit birthday dialog

* chore: convert age to "x years old" format

* fix: lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 22:13:56 +00:00
shenlong
c5c9a522c1
fix: remove drift map scrubber (#20723)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2025-08-06 13:40:06 -05:00
Brandon Wees
3cd7f5ab90
feat: use sqlite for logging (#20414)
* feat: use drift for logging

* fix: tests

* feat: use the truncate limit from constants.ts as default

* chore: move setupAll to top level and restructure

* chore: code review changes

* fix: inherits

* feat: raise log line limit to 2000

* limit getAll to 250 lines

* delete DLog and make LogRepository not a singleton

* fix: drift build settings and `make migration`

* fix: tests

* remove sensitive log

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 10:49:29 -05:00
Mert
0121043d7d
refactor(mobile): sqlite-based map view (#20665)
* feat(mobile): drift map page

* refactor: map query

* perf: do not filter markers

* fix: refresh timeline by key

* chore: rename

* remove ref listen and global key

* clean code

* remove locked and favorite

* temporary change for stress test

* optimizations

* fix bottom sheet

* cleaner bounds check

* cleanup

* feat: back button

---------

Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-08-06 10:05:49 -05:00