Commit Graph

78 Commits

Author SHA1 Message Date
Jason Rasmussen
8923d5b0a3 refactor: css variables (#19146) 2025-06-12 23:06:38 +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
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
Alex
b2ef8ea7dd fix: onboarding styling (#18417) 2025-05-21 15:59:28 +00: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
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
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
Jason Rasmussen
f64e6f5dc3 refactor: auth login event (#17934) 2025-04-28 14:13:14 -04:00
Daniel Dietzler
a17390a422 refactor: move managers to new folder (#17929) 2025-04-28 16:56:04 +02:00
Jason Rasmussen
1b5fc9c665 feat: notifications (#17701)
* feat: notifications

* UI works

* chore: pr feedback

* initial fetch and clear notification upon logging out

* fix: merge

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-04-28 10:36:14 -04:00
Jason Rasmussen
e6c575c33e feat: rtl (#17860) 2025-04-28 08:53:53 -05:00
Jason Rasmussen
d0014bdf94 refactor: event manager (#17862)
* refactor: event manager

* refactor: event manager
2025-04-25 08:36:31 -04:00
Min Idzelis
3bec8dc337 refactor: responsive: device units (#17551) 2025-04-11 17:09:10 -05:00
Ben McCann
b25914c2a5 chore: use writable derived in more places (#17248)
chore(web): use writable derived in more places
2025-03-31 09:15:52 -05:00
Jason Rasmussen
f69d7e7bad chore: web cleanup (#16849) 2025-03-13 18:04:21 -04:00
Jason Rasmussen
ede9c99adb fix: demo login page (#15616) 2025-01-24 11:39:06 -06:00
Jason Rasmussen
a1691ddc0f fix(web): auth page padding (#15569) 2025-01-23 21:38:34 +00:00
Jason Rasmussen
a60da1ccab refactor: migrate create user form to immich ui (#15350)
* refactor: migrate create user form to immich ui

* minor styling tweak

* remove unintentional commit

* revert formating diff

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-01-15 15:09:19 -05:00
Jason Rasmussen
b9000d8770 feat(web): immich-ui components (#14263)
* feat: add immich-ui to auth pages

* fix: welcome icon

* styling

* fix: mobile padding

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-01-14 14:53:33 -05:00
Jason Rasmussen
f70ee3f350 refactor: auth pages (#15328) 2025-01-14 08:14:28 -06:00
Daniel Dietzler
6a855f6331 chore: update deps (#14755) 2024-12-18 14:19:48 +00:00
Alex
0b3742cf13 chore(web): migration svelte 5 syntax (#13883) 2024-11-14 08:43:25 -06:00
Daniel Dietzler
124eb8251b chore: migrate away from event dispatcher (#12820) 2024-09-20 17:02:58 -04:00
Alex
be476d7982 chore(web): ensure goto is awaited for login page (#12087)
* chore(web): ensure goto is await for login page

* ensure server config is updated after onboarding is finished
2024-08-27 22:29:50 +00:00
Min Idzelis
b2dd5a3152 feat: loading screen, initSDK on bootstrap, fix FOUC for theme (#10350)
* feat: loading screen, initSDK on bootstrap, fix FOUC for theme

* pulsate immich logo, don't set localstorage

* Make it spin

* Rework error handling a bit

* Cleanup

* fix test

* rename, memoize

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-25 17:34:08 -05:00
martin
fdf0b16fe3 feat(web): add privacy step in the onboarding (#11359)
* feat: add privacy step in the onboarding

* fix: remove console.log

* feat:Details the implications of enabling the map on the settings page

Added a link to the guide on customizing map styles as well

* feat: add map implication

* refactor: onboarding style

* fix: tile provider

* fix: remove long explanations

* chore: cleanup

---------

Co-authored-by: pcouy <contact@pierre-couy.dev>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-13 17:01:30 +00:00
Michel Heusschen
8f553ddb39 fix(web): i18n race condition in load function (#10693) 2024-06-29 11:29:56 -05:00
waclaw66
dd2c7400a6 chore(web): another missing translations (#10274)
* chore(web): another missing translations

* unused removed

* more keys

* lint fix

* test fixed

* dynamic translation fix

* fixes

* people search translation

* params fixed

* keep filter setting fix

* lint fix

* $t fixes

* Update web/src/lib/i18n/en.json

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* another missing

* activity translation

* link sharing translations

* expiration dropdown fix - didn't work localized

* notification title

* device logout

* search results

* reset to default

* unsaved change

* select from computer

* selected

* select-2

* select-3

* unmerge

* pluralize, force icu message

* Update web/src/lib/components/asset-viewer/asset-viewer.svelte

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* review fixes

* remove user

* plural fixes

* ffmpeg settings

* fixes

* error title

* plural fixes

* onboarding

* change password

* more more

* console log fix

* another

* api key desc

* map marker

* format fix

* key fix

* asset-utils

* utils

* misc

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2024-06-24 09:50:01 -04:00
Jason Rasmussen
75830a4878 refactor(server): user endpoints (#9730)
* refactor(server): user endpoints

* fix repos

* fix unit tests

---------

Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-05-27 05:15:52 +07:00
Min Idzelis
4f21f6a2e1 feat: API operation replaceAsset, POST /api/asset/:id/file (#9684)
* impl and unit tests for replaceAsset

* Remove it.only

* Typo in generated spec +regen

* Remove unused dtos

* Dto removal fallout/bugfix

* fix - missed a line

* sql:generate

* Review comments

* Unused imports

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-05-23 20:26:22 -04:00
Jason Rasmussen
171b6bb0a6 refactor: system metadata (#8923)
refactor(server): system metadata
2024-04-19 20:36:15 -04:00
Ben McCann
907a95a746 chore(web): cleanup promise handling (#7382)
* no-misused-promises

* no-floating-promises

* format

* revert for now

* remove load function

* require-await

* revert a few no-floating-promises changes that would cause no-misused-promises failures

* format

* fix a few more

* fix most remaining errors

* executor-queue

* executor-queue.spec

* remove duplicate comments by grouping rules

* upgrade sveltekit and enforce rules

* oops. move await

* try this

* just ignore for now since it's only a test

* run in parallel

* Update web/src/routes/admin/jobs-status/+page.svelte

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* remove Promise.resolve call

* rename function

* remove unnecessary warning silencing

* make handleError sync

* fix new errors from recently merged PR to main

* extract method

* use handlePromiseError

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-02-27 10:37:37 -06:00
Ben McCann
3480fe5326 chore(web): remove createEventDispatcher from LoginForm (#7177) 2024-02-18 12:47:13 -06:00
Jason Rasmussen
a24f3805c9 chore: web e2e improvements (#7155) 2024-02-16 16:31:22 -05:00
Jason Rasmussen
747df0ae86 chore(web): auto sort imports (#7118)
chore(web): auto sort impomrts
2024-02-14 10:54:32 -05:00
Jason Rasmussen
8fd94211c0 refactor(web): use new open api client (#7097)
* refactor(web): use new open api client

* refactor: remove activity api

* refactor: trash, oauth, and partner apis

* refactor: job api

* refactor: face, library, system config

* refactor: user api

* refactor: album api
2024-02-13 17:07:37 -05:00
martin
f1e4fdf175 refactor: authentication on public routes (#6765)
* refactor: authentication on public routes

* fix: remove public user

* pr feedback

* pr feedback

* pr feedback

* pr feedback

* remove unused method

* fix: tests

* fix: useless methods

* fix: tests

* pr feedback

* pr feedback

* chore: cleanup

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-02-13 01:47:26 +00:00
Jonathan Jogenfors
f44fa45aa0 chore(server,cli,web): housekeeping and stricter code style (#6751)
* add unicorn to eslint

* fix lint errors for cli

* fix merge

* fix album name extraction

* Update cli/src/commands/upload.command.ts

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>

* es2k23

* use lowercase os

* return undefined album name

* fix bug in asset response dto

* auto fix issues

* fix server code style

* es2022 and formatting

* fix compilation error

* fix test

* fix config load

* fix last lint errors

* set string type

* bump ts

* start work on web

* web formatting

* Fix UUIDParamDto as UUIDParamDto

* fix library service lint

* fix web errors

* fix errors

* formatting

* wip

* lints fixed

* web can now start

* alphabetical package json

* rename error

* chore: clean up

---------

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-02-01 22:18:00 -05:00
Jason Rasmussen
7a075d78a3 fix(web): oauth login (#6813) 2024-01-31 19:18:40 +00:00
martin
fa0913120d feat(web,server): search people (#5703)
* feat: search peoples

* fix: responsive design

* use existing count

* generate sql file

* fix: tests

* remove visible people

* fix: merge, hide...

* use component

* fix: linter

* chore: regenerate api

* fix: change name when searching for a face

* save search

* remove duplicate

* use enums for query parameters

* fix: increase to 20 for the local search

* use constants

* simplify

* fix: number of people more visible

* fix: merge

* fix: search

* fix: loading spinner position

* pr feedback
2024-01-27 19:54:31 -05:00
Jason Rasmussen
6e066aa220 chore: svelte-kit-2 (#6103)
* chore: upgrade svelte

* chore: type imports

* chore: types
2024-01-20 12:47:41 -06:00
Alex
8d1287ef15 fix(web): logout and clear user store when using back button on the change password form (#6288) 2024-01-09 09:32:23 -06:00
martin
2cc5149d0b feat(web): previous button for on-boarding steps (#6178)
* feat: previous on the onboarding

* fix: storage full screen

* feat: transition

* use svelte files for svg

* fix: use icon component

* fix: additional check

* styling'

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-06 20:01:24 +00:00
martin
4f6f79a392 feat(web): go back on the onboarding (#6171)
* feat: go back on the onboarding

* fix: state

* rename variable
2024-01-04 11:20:19 -06:00
Alex
18f59f78e3 feat(web): onboarding (#6066)
* feat(web): onboarding

* feat: openapi

* feat: modulization

* feat: page advancing

* Animation

* Add storage templaete settings

* sql

* more style

* Theme

* information and styling

* hide/show table

* Styling

* Update user property

* fix test

* fix test:

* fix e2e

* test

* Update web/src/lib/components/onboarding-page/onboarding-hello.svelte

Co-authored-by: bo0tzz <git@bo0tzz.me>

* naming

* use System Metadata

* better return type

* onboarding using server metadata

* revert previous changes in user entity

* sql

* test web

* fix test server

* server/web test

* more test

* consolidate color theme change logic

* consolidate save button to storage template

* merge main

* fix web

---------

Co-authored-by: bo0tzz <git@bo0tzz.me>
2024-01-04 05:28:32 +00:00
martin
4c5397d7e6 feat(web): add types to dispatcher (#5700)
* feat: add types to dispatcher

* fix: create album name

* pr feedback

* pr feedback

* pr feedback

* fix: api key name

* remove newSharedAlbum

* pr feedback

* fix: api key creation

* on:close

* fix: owner

* fix: onclose

* remove unused code

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-12-14 20:54:21 -06:00
martin
c602eaea4a feat(web): automatically update user info (#5647)
* use svelte store

* fix: websocket error when not authenticated

* more routes
2023-12-12 10:35:28 -06:00