453 Commits

Author SHA1 Message Date
Mert
5fc448bc97
chore(web): passive events (#19179) 2025-06-16 11:03:23 -04:00
Dag Stuan
189442e9c4
fix(web): small issues with the memory viewer. (#19184)
* Match fade transition timing between photo-viewer and memory-viewer.

* Fix blank page after refreshing memory page.

If the user refreshed in the browser while on the memory page, the page
would show a blank page. This was caused by skipping initialization in
afterNavigate. Fix by always initializing the memory page in
afterNavigate.
2025-06-15 10:04:33 -05:00
Zack Pollard
e2dfbd66c3
ci: browser compatibility linting (#19132) 2025-06-13 10:54:59 -04:00
Jason Rasmussen
8923d5b0a3
refactor: css variables (#19146) 2025-06-12 23:06:38 +00:00
Robin Brisa
0322a8b1d9
fix(web): properly update activityManager when browsing assets (#18909) 2025-06-12 12:13:35 +01:00
Daniel Dietzler
22eef5f3c5
chore: more flexible modal manager types (#19123)
* fix: required argument in onClose modal function

* chore: more flexible modal manager types
2025-06-11 22:32:49 +00:00
Jason Rasmussen
38ad15af4c
refactor: user avatar (#19121) 2025-06-11 15:08:11 -04:00
Mert
74f79cae69
refactor(web): tree data structure for folder and tag views (#18980)
* refactor folder view

inline link

* improved tree collapsing

* handle tags

* linting

* formatting

* simplify

* .from is faster

* simplify

* add key
2025-06-09 10:02:16 -05:00
xCJPECKOVERx
de2115d11e
feat(web): Change the primary asset of a stack (#18913)
* - Add set primary primary asset button to asset viewer

* - Cleanup
- change AssetAction to contain a StackResponseDto
- Properly update displayed stack at bottom of the asset viewer

* - update the assetStore with the changed stack

* - Cleanup
2025-06-08 21:35:41 -05:00
xCJPECKOVERx
0c965ae2ea
fix(web): add tag button tooltip not using translation (#18921)
* - Fix add tag button to use proper translation

* - formatting

* Update button tooltip to also use translations
2025-06-09 02:35:04 +00:00
Daimolean
b557f3b7f2
fix(web): play motion photo color (#18959)
fix: play motion photo color
2025-06-06 08:34:59 -05:00
Min Idzelis
55f4e93456
fix: regression: sort day by fileCreatedAt again (#18732)
* fix: regression: sort day by fileCreatedAt again

* lint

* e2e test

* inline function

* e2e

* Address comments. Drop dayGroup and timezone in favor of localOffsetMinutes

* lint and some api-doc

* lint, more api-doc

* format

* Move minutes to fractional hours

* make sql

* merge/conflict

* merge fallout, review comments

* spelling

* drop offset from returned date

* move description into decorator where possible, regen api
2025-06-05 20:56:32 -05:00
Min Idzelis
e2ffc9d5a1
refactor: asset-store (#18938)
* refactor: asset-store

* Potential fix for code scanning alert no. 152: Prototype-polluting function

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-06-05 02:27:54 +00:00
Robin Brisa
a26d703335
feat(web): display number of likes in asset viewer (#18911)
* feat: display number of likes

* fix: properly decrement like count on unlike

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

* chore: pr feedback

* chore: updated related test

* chore: formatter run

* chore: force numberOfLikes to null in album context to pass lint

* chore: open-api updated

* fix: use undefined, not null

* styling tweaks

* chore: updated sql

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-04 12:41:50 -05:00
xCJPECKOVERx
2da94439c7
fix(web): add tag button not using translation (#18910) 2025-06-04 09:52:07 +02:00
xCJPECKOVERx
6b4d5e3beb
fix(web): asset-viewer error when selecting a stacked asset (#18881)
* Clear out the previewStackedAsset when selecting.

* undo package-lock update
2025-06-03 14:24:20 -05:00
Daniel Dietzler
e7d7886f44
chore: move slideshow settings modal to modals folder (#18869) 2025-06-02 14:22:22 -04:00
Daniel Dietzler
97e86e409a
refactor: asset tag modal (#18867) 2025-06-02 12:41:28 -04:00
Leonardo
72401aa6b1
fix: translation in the tag people window (#18777) 2025-06-02 16:08:31 +00:00
Brandon Wees
a02e1f5e7c
chore(web): migrate CircleIconButton to @immich/ui IconButton (#18486)
* remove import and referenced file

* first pass at replacing all CircleIconButtons

* fix linting issues

* fix combobox formatting issues

* fix button context menu coloring

* remove circle icon button from search history box

* use theme switcher from UI lib

* dark mode force the asset viewer icons

* fix forced dark mode icons

* dark mode memory viewer icons

* fix: back button in memory viewer

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-02 14:47:23 +00:00
Dag Stuan
d544053c67
feat(web): improve slideshow quality of life (#18778)
* Add a new setting to toggle autoplay when showing the slideshow.
* Fix an issue where the slideshow would restart automatically when
navigating after it was paused.
* Add a keyboard shortcut 's' to start the slideshow from the asset
viewer.
* Add a keyboard shortcut ' ' to toggle the slideshow play/paused.
* Change the timeout for hiding the slideshow controls from 10 to 2.5
seconds.
* Add English translation for the 'autoplay_slideshow' setting.

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-02 14:45:39 +00:00
Dag Stuan
5589616921
fix(web): Improve zoom behavior in photo-viewer. (#18803)
* Fix an issue where clicking the zoom-button after having zoomed in
would not zoom completely out, but leave the image in the zoomed-in
state. The new behavior properly zoomes the image completely out after
clicking the zoom-button.
* Revert to the default setting for `wheelZoomRatio` as the previous
setting of 0.2 was borderline unusable on a trackpad. This could
probably be moved to a user setting if needed.
* Add a keyboard shortcut 'z' to toggle image zoom.
2025-06-01 21:06:48 -05:00
Thien Dang
0f42babb6b
fix: Update locked folder text and improve translations (#18622)
* Update locked folder text and remove unused translations

* uppercase Locked folder in Menu

* convert some translates to icu and improve

* add iOS debug info translations for background processes

* fix lint

---------

Co-authored-by: dvbthien <dvbthien@gmail.com>
2025-05-29 15:06:08 -05:00
Brandon Wees
78224961d1
feat(web): make google cast opt in (#18514)
* add setting switch

this isnt bound to anything yet

* make google casting opt-in

* doc updates

* lint docs

* remove unneeded translation items

* update mobile openai defs

* fix failing test

we need to mock user prefs since CastButton uses it
2025-05-28 15:57:36 -05:00
Daimolean
e9f8d68f62
feat(web): tag shortcut (#18711)
* feat(web): tag shortcut

* fix: lint
2025-05-28 09:42:04 -05:00
Daimolean
4e332db2fb
fix(web): update after delete (#18684) 2025-05-27 15:42:08 +00:00
Arno
c3aeb6c497
chore: refactor slide-show-settings modal (#18570)
* chore: refactor slide-show-settings modal

* fix: dropdown getting clipped in modals

* Revert "fix: dropdown getting clipped in modals"

This reverts commit 0120932a49f4768e1abb09d3bb2ee63b770ed767.

* fix: changed to show method
2025-05-25 14:38:13 -05:00
Xuan Binh
d22fb2d5db
fix(web): enhance face tagging confirmation and fix #18605 (#18610)
* Fix: enhance face tagging confirmation and fix double label in checkboxes

* fix code formatting

---------

Co-authored-by: dvbthien <dvbthien@gmail.com>
2025-05-25 14:34:12 -05:00
Alex
065f7c7d5d
fix: more z-index issue (#18493) 2025-05-22 15:17:14 -05:00
Arno
188188a844
fix: Change shortcut listeners from window to document (#18416)
* fix: Change shortcut listeners to document

* fix: split into window and document

* chore: upgrade ui package
2025-05-21 11:12:00 -05:00
Brandon Wees
86db0aafe5
feat(web): add support for casting (#18231)
* recreate #13966

* gcast button works

* rewrote gcast-player to be GCastDestination and CastManager manages the interface between UI and casting destinations

* remove unneeded imports

* add "Connected to" translation

* Remove css for cast launcher

* fix tests

* fix doc tests

* fix the receiver application ID

* remove casting app ID

* remove cast button from nav bar

It is now present at the following locations:

- shared link album and single asset views
- asset viewer (normal user)
- album view (normal user)

* part 1 of fixes from @danieldietzler code review

* part 2 of code review changes from @danieldietzler and @jsram91

* cleanup documentation

* onVideoStarted missing callback

* add token expiry validation

* cleanup logic and logging

* small cleanup

* rename to ICastDestination

* cast button changes
2025-05-20 16:08:23 -05:00
Alex
bdf19ce331
fix: TimelineAsset visibility (#18395)
* fix: TimelineAsset visibility

* fix enum values
2025-05-20 15:53:34 +00:00
Alex
895e0eacfe
refactor: slide-show settings (#18394) 2025-05-20 10:37:10 -05:00
Daimolean
495a959879
fix(web): slide show in blurred background (#18384)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-20 09:00:20 -05:00
Min Idzelis
e7edbcdf04
feat(server): lighter buckets (#17831)
* feat(web): lighter timeline buckets

* GalleryViewer

* weird ssr

* Remove generics from AssetInteraction

* ensure keys on getAssetInfo, alt-text

* empty - trigger ci

* re-add alt-text

* test fix

* update tests

* tests

* missing import

* feat(server): lighter buckets

* fix: flappy e2e test

* lint

* revert settings

* unneeded cast

* fix after merge

* Adapt web client to consume new server response format

* test

* missing import

* lint

* Use nulls, make-sql

* openapi battle

* date->string

* tests

* tests

* lint/tests

* lint

* test

* push aggregation to query

* openapi

* stack as tuple

* openapi

* update references to description

* update alt text tests

* update sql

* update sql

* update timeline tests

* linting, fix expected response

* string tuple

* fix spec

* fix

* silly generator

* rename patch

* minimize sorting

* review

* lint

* lint

* sql

* test

* avoid abbreviations

* review comment - type safety in test

* merge conflicts

* lint

* lint/abbreviations

* remove unncessary code

* review comments

* sql

* re-add package-lock

* use booleans, fix visibility in openapi spec, less cursed controller

* update sql

* no need to use sql template

* array access actually doesn't seem to matter

* remove redundant code

* re-add sql decorator

* unused type

* remove null assertions

* bad merge

* Fix test

* shave

* extra clean shave

* use decorator for content type

* redundant types

* redundant comment

* update comment

* unnecessary res

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-19 16:40:48 -05:00
Alex
c8641d24f6
chore: tailwindcss v4 and z-war clean up (#18358)
* chore: styling tweak

* replace full-screen-modal, update docs

* scrubber

* fix: control app bar in memory viewer

* face lift

* pr feedback

* clean up
2025-05-19 14:32:23 +00:00
Daniel Dietzler
56156b97e7
chore: upgrade to tailwind v4 (#18353) 2025-05-18 13:51:33 +00:00
Min Idzelis
0bbe70e6a3
feat(web): lighter timeline buckets (#17719)
* feat(web): lighter timeline buckets

* GalleryViewer

* weird ssr

* Remove generics from AssetInteraction

* ensure keys on getAssetInfo, alt-text

* empty - trigger ci

* re-add alt-text

* test fix

* update tests

* tests

* missing import

* fix: flappy e2e test

* lint

* revert settings

* unneeded cast

* fix after merge

* missing import

* lint

* review

* lint

* avoid abbreviations

* review comment - type safety in test

* merge conflicts

* lint

* lint/abbreviations

* fix: left-over migration

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-18 02:57:08 +00:00
Alex
b7b0b9b6d8
feat: locked/private view (#18268)
* feat: locked/private view

* feat: locked/private view

* pr feedback

* fix: redirect loop

* pr feedback
2025-05-15 15:35:21 +00:00
Daniel Dietzler
0cd51ae9c5
fix: detail panel background (#18269) 2025-05-13 17:32:34 +00:00
Daniel Dietzler
989d9dbe51
fix: z-index overuse (#18192) 2025-05-13 16:10:05 +02:00
Jason Rasmussen
81d959a27e
refactor: remove unused props (#18240) 2025-05-12 22:31:37 +00:00
Jason Rasmussen
7280331b76
refactor: confirm modal (#18238) 2025-05-12 22:02:49 +00:00
Jason Rasmussen
93ee6ee0a5
refactor: dialog controller (#18235) 2025-05-12 17:48:05 -04:00
Daniel Dietzler
7544a678ec
refactor: remove unnecessary bg-color attributes and move to ui lib vars (#18234) 2025-05-12 17:17:01 -04:00
Daniel Dietzler
55af925ab3
refactor: shared link url (#18185) 2025-05-09 15:23:00 -05:00
Daniel Dietzler
6a69dafd31
refactor: share modals (#18183) 2025-05-09 16:59:29 +00:00
Daniel Dietzler
89551edee5
fix: z-index war in the asset viewer (#18091) 2025-05-09 10:17:26 -04:00
Daniel Dietzler
a169fb6a79
refactor: map (#18143) 2025-05-07 17:39:50 -04:00
Daniel Dietzler
15d431ba6a
refactor: dialog callbacks (#18034) 2025-05-02 13:34:53 -04:00