11126 Commits
Author SHA1 Message Date
Santo Shakil 398a04e11d fix(mobile): sync status page goes blank when the counts query fails (#31642)
* sync status page stays usable when the counts query fails

* sync status error text through i18n
2026-09-17 18:14:11 +00:00
Luis Nachtigall 9994eb3bed fix(mobile): prevent live photo from getting stuck during dismiss animation (#28080)
* update animation methods to return futures

* fix(mobile): prevent live photo from getting stuck during dismiss animation

* chore: rename variables + comment
2026-09-17 10:32:20 -07:00
Santo Shakil e8c6218431 fix(mobile): show the real date for android local photos with no exif (#29193)
* fix(mobile): show the real date for android local photos with no exif

photos with no exif date showed their copy-to-phone date in the "on this device" albums instead of the real date. fall back to the earlier of date_modified/date_added (matches the server + ios), plus a migration to fix the rows already saved wrong.

* persist migration progress when the date backfill fails

* fix local date migration for trash and epoch rows

* cover epoch dates in both local asset tables

* simplify the created date pick and rework the migration test

* heal no-exif dates from mediastore in the v27 migration

* check gallery access from dart and skip dates that do not parse

* let the date heal run once and never block the version

* read the trashed assets through the same cast the sync uses
2026-09-17 19:05:07 +06:00
Luis Nachtigall 5c8037301c fix(mobile): fill video placeholder to prevent flicker on open (#31621) 2026-09-17 05:44:08 -07:00
Jason Rasmussen efbbd32e55 feat(mobile): asset face v3 (#31615)
* feat(mobile): asset face v3

* fix: manually (cascade) delete asset faces
2026-09-16 16:27:02 -04:00
Jason Rasmussen 54e7ffa4e6 feat: asset face v3 (#31591) 2026-09-16 16:27:01 -04:00
TokenLimitExceeded 810454a343 fix: set limit maximum zoom in asset viewer (#31609)
* set maxScale in asset viewer

fix #31496 by setting a a maximum of 10× the fitted size

* change maxScale to 20x

* moved the multiplier to a constant

* type fix

* fix mismerge
2026-09-16 12:15:21 -07:00
Santo Shakil c68ecb3892 feat(mobile): write the previous checksum when the upload finishes (#31577)
* write the previous checksum when the upload finishes

* ask the server for the checksum when the upload has none
2026-09-16 23:47:02 +06:00
Adam Gastineau bd59a373de fix(mobile): make EXIF provider reactive (#31552)
* fix(mobile): make EXIF provider reactive

* Fix tests

* Remove unnecessary invalidations
2026-09-16 17:36:37 +00:00
Mees Frensel 32b2cdba61 fix(web): refactor some styling (#31269) 2026-09-16 18:41:46 +02:00
Mees Frensel c6b363e625 feat(web): improve non-Latin text rendering on the map (#31611) 2026-09-16 17:19:52 +02:00
Adam Gastineau 2e98d745bf fix(mobile): load more than one image on Android with Remove animations (#31587)
* fix(mobile): load more than one image on Android with Remove animations

* Wrap album Mesmerizing Slivers with ProgressiveImage
2026-09-16 13:47:23 +00:00
Mees Frensel c5cdbef26f refactor: remove assets from album action (#29210)
* refactor: remove assets from album action

* don't check and throw
2026-09-16 09:28:45 -04:00
Mees Frensel 320d90949e fix(web): trim strings before searching/comparing (#31614) 2026-09-16 13:22:33 +00:00
bo0tzz f30488596c docs: link to the docker compose builder (#31610) 2026-09-16 09:22:15 -04:00
Mees Frensel 6c0a34f828 chore(docs): add note about opening issues to contributing (#31607) 2026-09-16 09:19:20 -04:00
Daniel Dietzler 891c4054ba fix: vscode formatting (#31612) 2026-09-16 12:49:35 +00:00
Adam Gastineau 64de38092e chore(mobile): centralize duplicate mesmerizing header components (#31590)
* chore(mobile): centralize duplicate mesmerizing header components

* Fix formatting
2026-09-15 12:33:15 -07:00
Santo Shakil 962ffaacc1 feat(mobile): stack edited photos over the original on upload (#31082)
* feat(mobile): stack edited photos over the original on upload

* stack through the asset service and give the live photo still its task metadata

* add plain photo stacking tests and the 2x2 edit detection matrix
2026-09-15 11:22:14 -07:00
Daniel Dietzler ab5a9ae48c chore: drop tsc-alias (#31583) 2026-09-15 18:10:07 +02:00
Daniel Dietzler e35aa718d9 fix: skip faces of other users when reassigning faces (#31580) 2026-09-15 17:27:46 +02:00
renovate[bot] 9e0362dca0 chore(deps): update base-image to v202609151314 (#31585) 2026-09-15 13:42:38 +00:00
renovate[bot] 8ab8ce8cf7 chore(deps): update dependency onnxruntime to v1.29.0 (#31563) 2026-09-15 09:35:39 -04:00
renovate[bot] cab12ecb51 chore(deps): update dependency onnxruntime-migraphx to v1.27.1 (#31568) 2026-09-15 09:34:23 -04:00
Jason Rasmussen 99fd561144 chore: transition to nullable user.oauthId (#31560) 2026-09-15 09:33:15 -04:00
renovate[bot] 76e8513316 chore(deps): update github/codeql-action action to v4.38.0 (#31575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-15 09:25:20 -04:00
Mees Frensel bc1d6a6acc refactor(web): simplify some styling (#31550) 2026-09-15 09:11:42 -04:00
shenlongandshenlong-tanwen bea31eb064 fix: make local album provider reactive (#31582)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-15 08:11:31 -05:00
renovate[bot] 1fb13c24a7 chore(deps): update node.js to v24.21.0 (#31576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-15 09:07:23 -04:00
renovate[bot] b6e9ae9ac6 chore(deps): update ghcr.io/jdx/mise docker tag to v2026.9.9 (#31562) 2026-09-15 12:31:43 +02:00
renovate[bot]andDaniel Dietzler e55ac299a4 chore(deps): update node (#31329)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-14 21:48:02 +02:00
shenlongandshenlong-tanwen ca4637adc7 refactor: reenable cloud ids (#30345)
* refactor: reenable cloud ids

# Conflicts:
#	mobile/lib/domain/utils/migrate_cloud_ids.dart

* cleanup error formatting

* throw on unsupported

* move to freezed and slice http batching

* simplify remote asset duplication handling

* kUnsupportedOSError casing

* simplify _resolveCloudIds in local sync service

* cleanup and doccomment

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-15 00:12:26 +05:30
Daniel Dietzler 7b51c50a96 feat: people merge improvements (#31456) 2026-09-14 19:10:25 +02:00
Daniel Dietzler a84de0188e fix: metadata extraction of faces (#31551) 2026-09-14 19:10:21 +02:00
shenlongandshenlong-tanwen d2928cecce refactor: migrate to new changePassword endpoint (#31277)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-14 21:04:42 +05:30
shenlongandshenlong-tanwen db6a5b0d56 chore: reset shouldChangePassword on password change (#31276)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-09-14 21:04:42 +05:30
Adam Gastineau c9eeedecc6 chore(mobile): shared DataController for management of data sources (#31457)
* chore(mobile): static Store to unify and streamline reactivity

* Add tests of caching and new stores

* Don't instantiate PeopleDbRepository

* Slight DB rename and fix throwing store methods

* chore(mobile): shared DataController for management of data sources

* chore(mobile): shared DataController for management of data sources

* Fix lint with removed dependency

* Re-order Store bootstrap

* Remove extra import
2026-09-14 07:58:34 -07:00
Alex 49491d9a8b fix: put back search untagged button (#31476)
* fix: put back search untagged button

* revert mise changes
2026-09-14 10:30:11 -04:00
Daniel Dietzler ef9718e93d fix: feature face update ignores soft-deleted faces (#31533) 2026-09-14 09:47:02 -04:00
Daniel Dietzler 53395d0664 fix: face label clipping (again) (#31402) 2026-09-14 09:45:48 -04:00
Daniel Dietzler acd91c2624 fix: honor memory filters on explore page (#31540) 2026-09-14 09:45:08 -04:00
Santo Shakil aa8c5be42d chore(mobile): name pr builds after their pr number (#31541) 2026-09-14 19:34:14 +06:00
renovate[bot] f4461c9d44 chore(deps): update node.js to v24.21.0 (#28626) 2026-09-14 15:22:20 +02:00
Daniel Dietzler 221ddd31c4 feat: server imports linting (#31537) 2026-09-14 14:51:31 +02:00
Mert eb84a5ad7f chore: separate renovate groups for ml engines (#31516) 2026-09-13 20:57:39 +02:00
Timon 070ef03258 fix(web): show full path on hover in duplicates utility (#31468) 2026-09-12 20:55:06 -05:00
Timon 0f901eea5e fix(web): scroll timeline to top when navigating without a scroll target (#31464) 2026-09-12 09:25:38 -05:00
Alan Grainger 7abd625af3 docs(server): document the UTC timestamp format for timeBucket (#31421)
* docs(server): document the UTC timestamp format for timeBucket

* docs(server): wrap timeBucket description to satisfy prettier
2026-09-11 14:50:08 -04:00
Jason Rasmussen 9abb605b62 fix: sync client disconnect (#31461) 2026-09-11 14:48:55 -04:00
Yaros 57470097f9 fix(web): preserve search type (#31394) 2026-09-11 20:12:54 +02:00