Commit Graph
326 Commits
Author SHA1 Message Date
Codex 6665bb4796 feat: add verified Android and web update checks in settings 2026-10-15 14:54:44 +03:00
Luis NachtigallandCodex 3ca0d0c7db fix(mobile): update share quality option text from "Thumbnail" to "Preview" (#32340)
fix(translations): update share preview text

Co-authored-by: Santo Shakil <santoshakil@users.noreply.github.com>
(cherry picked from commit 2a8f8324e43487f29fd475832107f279da1c39c3)
2026-10-15 14:32:48 +03:00
WillandCodex 1daf922555 feat(mobile): mobile tags (#30753)
* feat(mobile): mobile tags

* fix(mobile); refactoring, replaced hook

* tag provider through asset service

* make search use a tag set

* use tag action directly

* use notification listener

* untag action

* handle untag response

* fix tests and add untag action test

* fix material error from tag picker dialog

* fix(mobile): clip tag picker tiles and update tag overflow

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Santo Shakil <shakil.mezbah@gmail.com>
(cherry picked from commit 83c7ec50056bbefa10869c78457f8882c72275e2)
2026-10-14 21:24:13 +03:00
Luis NachtigallandCodex 142593b529 fix(i18n): remove unused load preview translations (#32343)
(cherry picked from commit 8cfee782bde77424c36a962511fe3450d05f4653)
2026-10-12 20:39:12 +03:00
139b62cdc8 fix: clarify people sharing does not share assets (#32234)
fix: clarify people sharing does not share assets (#32231)

(cherry picked from commit ce2cf6612dce5d20ae4021bca6ec21535be2fce2)

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2026-10-08 17:02:42 +00:00
62bcb0601f feat: birthday memory on mobile (#32165)
feat: birthday memory on mobile (#32113)

* feat: birthday memory on mobile

* chore: remove yellow bg colors

* pr feedback

(cherry picked from commit 82cfc4b28b55c660d9c2da00c57437a20585a47b)

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-10-06 13:51:26 +00:00
f32a891d40 feat: bulk person management (#31960)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-09-30 23:39:14 +02: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
Mees FrenselandGitHub c25b6e30c2 refactor(web): rating shortcuts action (#31804) 2026-09-28 14:34:30 -04:00
AlexandGitHub 9c06df378c feat: memory UI for birthday (#31798)
* feat: birthday memory UI

* chore: untrack .scratch

* make sure to render unknown

* confetti
2026-09-26 09:02:46 -05:00
Mees FrenselandGitHub 5689b0c8f6 refactor(web): stack-related service and actions (#29403)
* refactor(web): stack-related service and actions

* add withStacked guards
2026-09-23 06:24:43 -04:00
Brandon WeesandGitHub a4104368d3 feat: improved storage template onboarding (#31531)
* feat: improved storage template onboarding

* chore: minor cleanup
2026-09-22 16:43:53 -04:00
AlexandGitHub d6d0947383 feat: birthday memories (#30831) 2026-09-22 04:30:43 -05:00
Yohanes KiranaandGitHub f48d4b3321 fix(mobile): ios clear file cache feedback (#31401)
* add clear file cache handling and snackbar

* create function to count deleted cache size

* clean up code and test

* ensure stable behaviour on non ios device

* refactor(mobile): simplify clear file cache feedback
2026-09-21 09:11:03 -07:00
Santo ShakilandGitHub 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
Jithendra BathalaandGitHub f0b12b9bd2 fix(web): change "View asset owners" to "Hide asset owners" when enabled (#31393)
Update the shared album options menu to display "Hide asset owners" when asset owners are currently visible, and "View asset owners" when hidden.

Fixes #31369
2026-09-11 09:05:55 -05:00
rickytrevorandGitHub 25c60ef99e feat(web): view assets in map viewport (#27492) 2026-08-27 20:39:32 +02:00
Daniel DietzlerandGitHub c7d24321bf feat: allow users to re-run facial recognition for their group (#30965) 2026-08-27 16:38:07 +02:00
0f821a7338 feat(mobile): map asset number (#28911)
* feat(mobile): map asset number

* chore: use totalAssets from service

* refactor: separate widget

* fix: async dispose

* chore: i18n

* chore: add back old i18n key

* bring back reactivity

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-26 05:59:27 +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
Santo ShakilandGitHub 2237b28813 fix(mobile): permanently delete local copies when moving to the locked folder (#29730)
* permanently delete local copies when moving to the locked folder

* simplify the delete path and move the stubs into the mock defaults

* drop the kept count from the partial message and log the mismatch instead
2026-08-22 07:42:11 +05:30
AlexandGitHub 7412079f88 chore: search filter animation improvement and reactive search cue example (#30866)
* chore: better animation for search form and search cue

* better search cue example

* chore: revert mise.lock changes
2026-08-21 15:11:23 -05:00
79c4c00f70 feat(web): tag renaming v2 (#27909)
* implement updated rename tag feature

* Fix tag update handler

* Ensure toast displays updated tag name

* Ensure toast displays updated tag name

* Handle updates to tag closure table, prevent slash in API filename, test case updates

* delete child tags on parent delete

* Update frontend for better handling of nested tags

* pr checklist fixes

* fix unit test for tag controller

* Hide path for top-level tags

* regenerate SQL files

* name updates optional for tag update operations

* e2e tests for new tag api changes

* changes from code review, additional test coverage

* test fixes, web component refactor

* test assets

* test asset updates

* open-api rebuild

* update unit tests

* fix tag dto tests

* Update web/src/lib/modals/TagEditModal.svelte

Fix missing color bug

Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com>

* fix tag e2e test

* remove closure table bug fixes

* remove nullish from tag name update schema

* regenerate openapi and sql

* fix test and e2e test

* simplify tag repository update process

* minor fix and sql regenerate

* fix tests, regen open-api, update dto

* Remove unused function

* Remove accidental test asset ref

* re-add test assets

* pin submodule to main branch commit

* Update test cases based on feedback

* Server fixes based on feedback

* regenerate sql

---------

Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com>
2026-08-21 14:55:11 -04:00
Diogo CorreiaandGitHub c9776fb990 fix(web): download archives via html POST forms (#30021)
* fix: download archives via html POST forms

* refactor: fix css of download panel, add translations and toasts

* style: run lint, formatter, check

* chore: generate open-api specs

* refactor(web): simplify download manager, use SvelteMap

* refactor(server): parse fields from x-www-form-urlencoded request

* refactor: move content-disposition to ImmichReadStream

* Pass asset ids as a comma-separated string

This fixes a bug where the 1000 parameter limit is being hit when
downloading 1000+ assets.

* Add download controller test

* Fix lint warnings
2026-08-20 20:58:41 -04:00
Sacha BroutéandGitHub c7f6197e75 feat: add oauth account management url (#30873) 2026-08-20 21:31:34 +00:00
11b1aa5ecf feat: cluster groups (#30739)
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2026-08-20 20:03:00 +02:00
Ben BeckfordandGitHub 394996eb59 feat(web): new search ui (#30279) 2026-08-19 14:32:32 +02:00
Mees FrenselandGitHub d8e25b8df0 fix(web): gracefully handle map errors when WebGL is disabled (#26538) 2026-08-18 22:37:47 +00:00
Brandon WeesandGitHub 93d2d30fe0 feat: rotate an API key (#30801)
* feat: rotate an API key

* fix: test response

* chore: create new api key scope

* chore: code review
2026-08-18 16:07:39 -04:00
Ben BeckfordandGitHub 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
Ben BeckfordandGitHub a939561e70 feat: workflow asset tag trigger/filter/action (#29043)
* feat: workflow asset tag trigger and filter

* feat(web): show tag names in workflow editor

* fix(web): tag picker in schema config editor

* fix: invalid plugin manifest

* chore: update workflow method wrapper type

* chore: update tag filter method declaration

* feat: workflow action to add tags to assets
2026-08-12 16:26:03 -07:00
PriyanshuandGitHub 2314330c78 fix: translation (#30549) 2026-08-08 18:39:14 +00:00
Adrien FabreandGitHub c2db36934f feat: Display the number of selected items in AlbumPickerModal title (#30485) 2026-08-03 16:00:04 +02:00
792d88961a feat(mobile): custom date range for map (#26205)
* feat(mobile): custom date range for map

* refactor: rename timerange & remove isvalid

* refactor: rename customtimerange variables

* refactor: add back setRelativeTime

* refactor: implement suggestions

* refactor: suggestions

* fix: ifPresent

* fix: context.locale

* chore: restrict selection

* refactor: move options to mapconfig

* refactor: move model to domain

* chore: locale toLanguageTag

* add map codec tests

* rebase

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-07-23 20:48:15 +05:30
e00dcf7850 fix(web): URI encode slug and reduce confusion for users (#29796)
Co-authored-by: bwees <brandonwees@gmail.com>
2026-07-15 19:32:05 +02:00
da8774801b fix(mobile): correct person age singular pluralization (#29868)
The ICU plural string for person_age_years in i18n/en.json only defined
the other plural category, so the intl MessageFormat runtime always
fell back to it — displaying '1 years old' instead of '1 year old'.

Added the missing one plural category:

Before: {years, plural, other {# years}} old
After:  {years, plural, one {# year} other {# years}} old

No Dart source changes required. formatAge already uses the
localization system correctly.

Fixes #29865

Co-authored-by: priyanshuANDcoad <priyanshu23154050@akgec.ac.in>
2026-07-13 14:49:06 +00:00
MertandGitHub 68b04e8e8f chore: simplify hls description (#29680)
simplify hls description
2026-07-07 07:45:40 +00:00
MertandGitHub 69d568f289 feat(server): hls variant configuration (#29613)
* configure variants

* openapi

* dynamic level

* unnecessary width/height fields

* add web config

* allow 1440p and 2160p

* more helpful descriptions

* simplify level picker

* formatting

* integer instead of number
2026-07-06 14:57:48 -04:00
Daniel DietzlerandGitHub a6f0253544 chore: improve added to album messages (#29641) 2026-07-06 17:21:49 +02:00
43abb9a92f fix(web): wrap hardcoded strings with i18n translation function (#29612)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2026-07-06 09:57:04 +00:00
Ben BeckfordandGitHub 237734bb26 feat(web): recently added link in sidebar (#29039)
* feat(web): recently added link in sidebar

* chore(mobile): update openapi patches
2026-07-01 23:12:50 +00:00
Daniel DietzlerandGitHub 02506424a7 feat: integrity checks admin settings (#29406) 2026-06-30 14:58:51 -05:00
AlexandGitHub 165bca4b0a feat: new feature message (#29388)
* feat: new feature board

* wip

* wip

* wip

* lint

* lint

* pr feedback

* pr feedback

* i18n

* i18n
2026-06-30 13:53:13 -05:00
Santo ShakilandGitHub e5b50a55a4 fix(mobile): blank notifications page after enabling notifications (#29232)
the old notification toggles were removed in a cleanup, so once notifications were enabled the page had nothing left and went blank. show a "notifications enabled" status tile with a shortcut to the system notification settings instead.
2026-06-24 09:15:28 -05:00
f29f86542c feat: partner actions (#29281)
* feat: partner actions

# Conflicts:
#	i18n/en.json

* cleanup

* fix tests

* ci fix

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-06-23 23:50:59 +05:30
Mees FrenselandGitHub 22ec449e43 chore: remove unused i18n strings (#29288) 2026-06-23 18:02:29 +02:00
Mees FrenselandGitHub 51f2905fcc fix(web): remove map's fullscreen button (#29192) 2026-06-22 16:58:07 +02:00
Daniel DietzlerandGitHub 805ca1a2bf chore: maintenance page design tweaks (#29087) 2026-06-16 09:15:54 -05:00
Mees FrenselandGitHub 232ca3cf3f chore(web): clarify workflow triggers (#29026) 2026-06-12 19:43:57 +05:30