Commit Graph

761 Commits

Author SHA1 Message Date
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 19ff39c2b9 feat(web): undo delete (#18729)
* feat(web): Undo asset delete

* - lints and checks
- Update English translation

* Update delete-assets.svelte

Make onUndoDelete optional in Props interface

* - Ensure undo button not available on permanent delete, or trash disabled.
- Enforce lint requirement for no-negated-condition

* Fix formatting

* fix: lint

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-04 15:46:07 +00:00
Brandon Wees 74438f5bd8 feat(web): improved user onboarding (#18782)
* wip

* added user metadata key

* wip

* restructure onboarding system and add initial locale

* update language card and fix translation updating

* remove prints

* new card formattings

* fix cursed unmount effect

* add OAuth route onboarding

* remove required admin auth for onboarding

* delete the hotwire button

* update open-api files

* delete import

* fix failing oauth onboarding fields

* fix e2e test

* fix web e2e test

* add onboarding to user registration e2e test

* remove todo

this was a holdover during dev and didn't get deleted

* fix server small tests

* use onDestroy to save settings rather than a bind:this

* change to false for isOnboarded

* fix other auth small test

* provide type annotation in user factory metadata field

* remove onboardingCompelted from UserDto

* move translations to onboarding steps array and mark as derived so they update

* break language selector out into its own component as per @danieldietzler suggestion

* remove hello header on card

* fix flixkering on server privacy card

* label/id fixes

* openapi

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-02 21:09:13 +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
Arno 9c18fef9b2 chore: Refactor external library modals (#18655) 2025-05-31 15:30:08 +02:00
Frank de Lange e2defbc49a feat: start oauth with autoLaunch=1 (#18763)
* Add automatic OpenID Connect login by using parameter `autoLaunch=1`

By launching Immich with `/auth/login?autoLaunch=1` an OpenID Connect login attempt is directly initated on installations where OAuth Auto Launch is not enabled. The intended use for this parameter is to enable Immich to be launched from e.g. Nextcloud using the _External sites_ app and the _oids_ OpenID Connect provider app so as to enable the user to directly interact with Immich without the need to press the `Login with ...` button.

* Add documentation for autolaunch by navigating to `/auth/login?autoLaunch=1`

* Look ma, no braces!

_This could be a single line_

And now it is, as is its predecessor.

* Change formatting to satisfy _prettier_

* if (condition) return true -> return condition

* More _prettier_ reformatting

* Look ma, braces!
2025-05-30 22:12:53 +00:00
Brandon Wees cbf68b006e chore: add google cast feature switch to user admin pane (#18783)
add gogole cast feature switch to user admin pane
2025-05-30 14:17:32 -04:00
Daimolean 1f18a09061 fix(web): hide map button when disable (#18743) 2025-05-29 09:13:44 -05:00
Min Idzelis f029910dc7 feat: keyboard navigation to timeline (#17798)
* feat: improve focus

* feat: keyboard nav

* feat: improve focus

* typo

* test

* fix test

* lint

* bad merge

* lint

* inadvertent

* lint

* fix: flappy e2e test

* bad merge and fix tests

* use modulus in loop

* tests

* react to modal dialog refactor

* regression due to deferLayout

* Review comments

* Re-use change-date instead of new component

* bad merge

* Review comments

* rework moveFocus

* lint

* Fix outline

* use Date

* Finish up removing/reducing date parsing

* lint

* title

* strings

* Rework dates, rework earlier/later algorithm

* bad merge

* fix tests

* Fix race in scroll comp

* consolidate scroll methods

* Review comments

* console.log

* Edge cases in scroll compensation

* edge case, optimizations

* review comments

* lint

* lint

* More edge cases

* lint

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-28 08:55:14 -05:00
Zack Pollard 0712183a18 fix: replace edit user button with view button for user details screen (#18683) 2025-05-27 15:38:16 +00:00
Alex 8fcf47e5cb chore: more padding (#18507) 2025-05-23 00:52:45 +02:00
Alex 065f7c7d5d fix: more z-index issue (#18493) 2025-05-22 15:17:14 -05:00
Daimolean 91b961642a feat(web): add to locked folder in album and search (#18488)
* feat(web): add to locked folder in album and search

* feat(web): add to locked folder in favorite and archive

* fix: lint

* feat: add to person page

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-22 16:26:19 +00: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
Alex b2ef8ea7dd fix: onboarding styling (#18417) 2025-05-21 15:59:28 +00:00
renovate[bot] b83b28cd73 fix(deps): update typescript-projects (#18390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-05-20 22:40:30 +00: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 59f666b115 chore: back button in pin verification form (#18378) 2025-05-19 21:33:42 +00: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
koostamas b63d6cdcd6 feat: bulk change description (#18288)
Co-authored-by: Tamas Koos <ext_tamas.koos@btrl.ro>
2025-05-17 12:17:00 +02:00
Daniel Dietzler 21880aec14 fix: z-index issues on search page (#18336) 2025-05-16 17:54:37 +00:00
Jason Rasmussen 28d8357cc5 feat(web): clear person birthdate (#18330) 2025-05-16 11:56:25 -04:00
Daniel Dietzler a9e7d0388b fix: people edit ui (#18320) 2025-05-15 18:32:01 -04:00
Jason Rasmussen 86d64f3483 refactor: buttons (#18317)
* refactor: buttons

* fix: woopsie

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2025-05-15 18:31:33 -04:00
Jason Rasmussen c1150fe7e3 feat: lock auth session (#18322) 2025-05-15 18:08:31 -04:00
Jason Rasmussen ecb66fdb2c fix: check i18n are sorted (#18324) 2025-05-15 17:55:16 -04:00
Jason Rasmussen c046651f23 feat(web): continue after login (#18302) 2025-05-15 14:45:23 -04:00
Jason Rasmussen 7146ec99b1 chore: use default theme config (#18314) 2025-05-15 10:44:10 -05: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 cd03d0c0f2 refactor: person merge suggestion modal (#18287) 2025-05-14 20:30:24 -04:00
Jason Rasmussen 117b263887 refactor: sidebar (#18293) 2025-05-14 15:11:31 -04:00
Jason Rasmussen 7d95bad5cb refactor: user settings container (#18291) 2025-05-14 12:30:55 -04:00
Jason Rasmussen fac1beb7d8 refactor: buy immich (#18289)
* refactor: buy container

* refactor: buy immich
2025-05-14 12:09:10 -04:00
Jason Rasmussen 4445288758 refactor: admin sidebar (#18276) 2025-05-14 11:23:57 -04:00
Daniel Dietzler 4efc41d5d9 refactor: date of birth modal (#18283) 2025-05-14 08:20:22 -04:00
Daniel Dietzler c9d45eee86 refactor: duplicates information modal (#18282) 2025-05-14 07:52:04 -04:00
Daniel Dietzler 15e894b9b5 fix: z-index issues (#18275) 2025-05-13 22:25:57 +02:00
Daniel Dietzler 668288ca20 refactor: album users modal (#18266) 2025-05-13 13:20:44 -04:00
Jason Rasmussen 3fdc1df89c fix(web): handle deleted user on details page (#18264) 2025-05-13 09:40:50 -05:00
Daniel Dietzler 989d9dbe51 fix: z-index overuse (#18192) 2025-05-13 16:10:05 +02:00
Daniel Dietzler 48112d84a3 refactor: confirm modal in album users modal (#18241) 2025-05-13 15:39:21 +02:00
Daimolean dccbe0b3ed fix(web): user details (#18253)
fix(server, web): user details
2025-05-13 07:55:58 -04:00
Jason Rasmussen 81d959a27e refactor: remove unused props (#18240) 2025-05-12 22:31:37 +00:00
Jason Rasmussen bb775110ef refactor: password reset success modal (#18239) 2025-05-12 18:18:13 -04: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