Brent Saltzman and Codex
3c383e46d1
fix: avoid duplicate manufacturer in camera name ( #32657 )
...
* fix(web,mobile): avoid duplicate manufacturer in camera name
Some cameras (e.g. Canon) already include the manufacturer in the EXIF
model, which made the details view show "Canon Canon EOS R6m2". Only
prepend the make when the model does not already start with it.
* refactor(web,mobile): address review feedback on camera name helper
- Use toLowerCase instead of toLocaleLowerCase for the comparison
- Hoist the whitespace regex to a static in the Dart helper
- Match any word of the make, so "EASTMAN KODAK COMPANY" with
"KODAK EASYSHARE C875" is deduplicated too
- Compute the camera name once in DetailPanel
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit cb2ea1e308d8a85f2f340f50b646f161d3528670)
2026-10-29 20:41:02 +03:00
Codex
3efc91ff9a
Prepare localized 3.3.5-local.7 release with updated dependencies
2026-10-22 05:29:35 +03:00
Jason Rasmussen and Codex
b12be9119f
feat: passkeys ( #32194 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit 6233a79bf7e4cec11e9ea1094908ff3b228fcbe0)
2026-10-22 05:23:22 +03:00
Santo Shakil and Codex
59bf69f1d5
fix(mobile): hide server addresses and tokens in shared logs ( #32287 )
...
* fix(mobile): hide server addresses and tokens in shared logs
* fix(mobile): stop writing server urls and oauth values to the log
* fix(mobile): redact logs where they are read
* fix(mobile): redact logs when they are written
* fix(mobile): hide ipv6 addresses and name labels after their settings
(cherry picked from commit 89d2de1274a3e1a70a6169f4cfe1feebfb327791)
2026-10-22 05:18:40 +03:00
Santo Shakil and Codex
f64adb5b36
fix(mobile): fallback localizations for unsupported locales ( #32452 )
...
* fix(mobile): fallback localizations for unsupported locales
* load the default delegates with an explicit english locale
2026-10-19 20:27:43 +03:00
Codex
43b94defd9
fix(mobile): use JSON maps for nested config compatibility defaults
2026-10-17 19:47:28 +03:00
Jason Rasmussen and Codex
36a6e033aa
fix: public config properties ( #32500 )
...
fix: public config visibility
2026-10-17 19:32:36 +03:00
Jason Rasmussen and Codex
4341a2f34c
fix: smpt email visibility ( #32492 )
2026-10-17 19:32:36 +03:00
Jason Rasmussen and Codex
c318714fdc
feat: server feature level ( #32178 )
...
* feat: server feature level
* fix: correctly compute feature level
(cherry picked from commit cc1e2363651eaff63848baad2c7932923ca66554)
2026-10-14 21:24:14 +03:00
Codex
4fdcfb7ed9
chore: prepare local web and Android release 3.3.1-local.2
2026-10-12 21:01:23 +03:00
b20bc5ed82
feat: auto-sync name changes to connected users ( #31931 )
...
feat: auto-sync name changes to connected users (#31923 )
* feat: auto-sync name changes to connected users
* fix: rename to faceId
* fix: pr feedback
* fix: mobile build
(cherry picked from commit aec7c0d97bd6679b2b300e72e870b83c5ef13c85)
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-09-30 07:53:02 +00:00
c12d5e6d35
feat: people management ( #31620 )
...
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-09-28 21:29:15 +02:00
Adam Gastineau and GitHub
2ccd0effc8
chore(mobile): enable dead code CI ( #31753 )
...
* chore(mobile): enable dead code CI
* Restore accidentally removed test and set mise default
2026-09-24 06:57:06 -07:00
Santo Shakil and GitHub
909b8aac93
fix(mobile): clamp out of range datetimes so timeline queries cannot crash ( #30490 )
...
* fix(mobile): clamp out of range datetimes so timeline queries cannot crash
* replace the per column converters with a clamping custom type
* heal each table in one statement, rename the clamp type, read dates as stored
* one medium test for the clamp, drop the dart side bounds, private clamp type
2026-09-18 17:41:15 +00:00
Santo Shakil and GitHub
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
Adam Gastineau and GitHub
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
Adam Gastineau and GitHub
6874c07dbe
chore(mobile): static Store to unify and streamline reactivity ( #31099 )
...
* 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
2026-09-11 10:56:00 -07:00
Yaros and GitHub
956330958f
fix(mobile): hide negative age ( #31341 )
2026-09-08 10:25:56 -07:00
8d90cbeafc
chore(mobile): remove unused code ( #31280 )
...
* chore: remove unused methods
* Remove dead test group
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
Co-authored-by: Adam Gastineau <adam@agg.im >
2026-09-08 13:56:46 +00:00
Adam Gastineau and GitHub
6d85f202f4
fix(mobile): switch to new OpenAPI int in RotateParameters ( #31246 )
2026-09-03 14:32:01 +00:00
Timon and GitHub
8b3d6b320b
feat(server): new search API ( #30179 )
2026-08-27 20:39:55 +02:00
Adam Gastineau and GitHub
c04c81a979
chore(mobile): remove Drift* prefixes from classes and variables ( #31038 )
...
* chore(mobile): remove Drift* prefixes from classes and variables
* Remove *Drift* from related mocks
2026-08-26 19:11:12 +00:00
351be95769
feat: memories view ( #28675 )
...
* wip web memories view
* paginate searchMemories
* improve memories ui
* feat(mobile): memories view
* improve memories web ui
* fix(web): avoid unnecessary memory refreshes
* refactor(web): move timline memory manager filter
* fix(web): memories infinitely loading on 0 results
* fix(web): memories resetting
* feat(web): animated memory previews
* feat(web): memory page dark styling
* chore(mobile): fix failing memory lane tests
* chore(mobile): remove old import
* chore(e2e): fix failing memory lane tests
* chore(server): revert searchMemories changes
* chore(server): lint
* chore(mobile): fix bad merge
* chore(e2e): fix memory ui tests
* chore(web): rename /memory to /memories
* chore(mobile): linting
* chore(web): linting
* fix(web): prevent duplicate memory page loading
* fix(web): lint
* fix(web): memories page improvements
* chore(mobile): lint
* fix(mobile): fix translations
* fix(mobile): build errors
* fix(web): prevent memories from infinitely loading
* chore(e2e)): fix failng memory viewer test
* chore(web): clean up types in memory manager
* chore(web): lint
* feat: update list and detail memory page layouts
* onlyFavorites through drift
* rename to get all
* mobile: use widgetWhen in memory list page
* remove redundant check
* fix: e2e
---------
Co-authored-by: Timon <mail@timonrieger.de >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-24 19:16:33 -05:00
Adam Gastineau and GitHub
8dcfd36fa5
chore(mobile): move Drift into mobile/data ( #30966 )
...
* chore(mobile): move Drift into mobile/data
* Move into more structured subdirectories
* Fix changed merge paths
2026-08-25 00:51:02 +05:30
c98c20e963
fix(mobile): respect 24h system setting ( #30792 )
...
* fix(mobile): respect 24h system setting
* refactor: extract into utils
* chore: remove comment
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* refactor: resolveAssetDateTime
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
* refactor: alwaysUse24HourFormat
* chore: impl suggestions
* refactor: less comments & resolveDateTimeLocale
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com >
2026-08-23 17:51:03 +05:30
Adam Gastineau and GitHub
37e033a09d
chore(mobile): migrate remaining simple classes to Freezed ( #30907 )
2026-08-21 22:37:03 +05:30
11b1aa5ecf
feat: cluster groups ( #30739 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-20 20:03:00 +02:00
Adam Gastineau and GitHub
225ca9ab8d
chore(mobile): use Drift @DriftAccessor() and collapse some providers ( #30693 )
...
* chore(mobile): use Drift @DriftAccessor() and collapse some providers
* Fix import order
* Required formatting
2026-08-17 14:43:32 -07:00
bd55f7e73a
chore: pump flutter_lints to 6.0 ( #30664 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-15 16:55:45 +05:30
Ben Beckford and GitHub
447cc40a50
feat: workflow logging ( #29878 )
...
* feat: workflow logging
* chore: update sql and openapi patch
* chore: include id in workflow log entries
* chore(server): update sql and lint
* chore(mobile): remove openapi files
* chore(web): lint
* chore: clean up workflow logging
* chore(server): add runId to workflow logs
* chore(server): store workflow results as enum
2026-08-13 19:18:24 -07:00
52edcc0c74
refactor: unify person model ( #30659 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-12 21:12:11 +05:30
d799698c51
chore: migrate mobile translations accessor (3) ( #30670 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-11 14:41:12 +05:30
565fbe4917
chore: migrate mobile translations accessor (1) ( #30667 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-11 14:41:11 +05:30
3d42c1424c
refactor: mobile upload action ( #29949 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:43 +05:30
bc84054ccc
refactor: mobile tag and download actions ( #29948 )
...
refactor: mobile tag and download action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:43 +05:30
1fa985babb
feat: album action ( #29770 )
...
refactor: mobile album actions
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:43 +05:30
0a97b4b099
refactor: mobile share actions ( #29947 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:42 +05:30
a048e86217
refactor: mobile cast and slideshow action ( #29768 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:42 +05:30
36f12ec805
refactor: mobile open in browser, similar, set profile action ( #29769 )
...
refactor: mobile browser and similar photos action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:41 +05:30
3f3bc44258
refactor: mobile delete action ( #29771 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:41 +05:30
47d34e3b4b
refactor: mobile lock action ( #29767 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:41 +05:30
e6b5b0deb6
feat: archive action ( #29362 )
...
refactor: mobile archive action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:40 +05:30
208b7cf9ca
feat: stack action ( #29370 )
...
refactor: mobile stack action
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:40 +05:30
5b0a324b68
feat: restore action ( #29374 )
...
* refactor: existing actions to new structure
# Conflicts:
# mobile/lib/presentation/actions/action.dart
# mobile/lib/presentation/actions/action.widget.dart
# mobile/lib/presentation/actions/asset_debug.action.dart
# mobile/lib/presentation/actions/favorite.action.dart
# mobile/lib/presentation/actions/partner.action.dart
# mobile/test/unit/presentation/actions/favorite_action_test.dart
* rename to actionitem
* review changes
* refactor: mobile restore action
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-01 08:06:40 +05:30
fe5c8ed0fb
refactor: base action ( #29617 )
...
* refactor: existing actions to new structure
# Conflicts:
# mobile/lib/presentation/actions/action.widget.dart
# mobile/lib/presentation/widgets/action_buttons/favorite_action_button.widget.dart
# mobile/lib/presentation/widgets/action_buttons/unfavorite_action_button.widget.dart
# mobile/test/unit/presentation/partner_page_test.dart
* rename to actionitem
* more cleanup
* review changes
* lint changes
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-30 17:02:14 -04:00
405020eeee
chore: enable use_build_context_synchronously lint ( #30367 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-30 20:10:36 +00:00
Adam Gastineau and GitHub
e7aace436d
chore(mobile): Apply stricter linting rules for correctness ( #30372 )
...
* chore(mobile): Apply stricter linting rules for correctness
* Added discarded_futures rule
2026-07-30 19:39:24 +00:00
Adam Gastineau and GitHub
d864a90811
chore(mobile): Apply stricter linting rules for formatting ( #30370 )
...
* chore(mobile): Apply stricter linting rules for formatting
* Formatting fixes
2026-07-30 08:56:46 +00:00
Santo Shakil and GitHub
534b8746e4
fix(mobile): refresh person thumbnail when the featured photo changes ( #29350 )
2026-07-29 22:20:26 +05:30
04a38ba91c
refactor: asset update method ( #30201 )
...
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-07-27 10:15:36 -04:00