Commit Graph

1377 Commits

Author SHA1 Message Date
Harvey Tindall 9bcbffde5d
merge lang changes back in 2023-06-22 22:01:37 +01:00
c9rnelius c37735f2e8 Added translation using Weblate (German (Low)) 2023-06-22 23:00:57 +02:00
c9rnelius 165abc7bea Added translation using Weblate (German (Low)) 2023-06-22 23:00:57 +02:00
Harvey Tindall 7aaafb90e3
form: actually link to the my account page
forgot to do this before. shown on the success modal.
2023-06-22 21:57:19 +01:00
Harvey Tindall f07c60afb0
userpage: mention link reset requirement 2023-06-22 21:05:54 +01:00
Harvey Tindall 6adbba54ce
userpage: invalid refresh token on pw change
user has to log in again, although this is not strictly enforced, as the
standard token remains valid until its expiry.
2023-06-22 20:58:56 +01:00
Harvey Tindall 97db4d714a
userpage: implement change password functionality 2023-06-22 20:54:52 +01:00
Harvey Tindall 12ce669566
userpage: add password change card, validation, rearrange page
functionality not done yet, just comitting here because there were lots
of adjustments to layout stuff, accomodating for most combinations of
card presence/size.
2023-06-22 18:51:30 +01:00
Harvey Tindall 4496e1d509
pwr: ensure internal pwr pin is deleted after use 2023-06-22 17:35:34 +01:00
Harvey Tindall 3b3f37365a
userpage: autofill username in pwr modal 2023-06-22 12:39:13 +01:00
Harvey Tindall 22c91be127
userpage: make pwr accept username too 2023-06-22 12:39:05 +01:00
Harvey Tindall 3ec3e9672e
userpage: time-pad pwr request for ambiguity
the user shouldn't know if the reset has actually been sent (i.e. if an
account with the given contact address exists), so the backend response
is always sent after 1 second.
2023-06-22 12:27:44 +01:00
Harvey Tindall 86daa70ccb
userpage: password resets
click "forgot password" on login modal, enter a contact method
address/username, submit and check for a link. Requires link reset to be
enabled.
2023-06-22 12:08:18 +01:00
Harvey Tindall db97c3b2d4
form: add notice about userpage on success modal, userpage title
uses new strings in the form lang section.
2023-06-22 10:12:22 +01:00
Harvey Tindall 4f298bbc8c
userpage: add "back to admin" button 2023-06-22 09:41:41 +01:00
Harvey Tindall 8113f794ab
form: fix confirmation success page css 2023-06-21 21:22:05 +01:00
Harvey Tindall 14c18bd668
form: rework email confirmation
realized half the info from the signup form wasnt being stored in the JWT
used to create the account after email confirmation, and instead of
adding them, the -whole request- from the browser is stored temporarily
by the server, indexed by a smaller JWT that only includes the invite
code. Someone complained on reddit about me storing the password in the
JWT a while back, and although security-wise that isn't an issue (only
the server can decrypt the token), it doesn't happen anymore. Happy?
2023-06-21 21:14:41 +01:00
Harvey Tindall f779f0345e
storage: Use familiar api for invite access
An almost identical set of functions to the discord/telegram/matrix
storage ones is now used for accessing invites. No more
parallelism-related issues, yay. Need to do this for everything
eventually.
2023-06-21 20:39:16 +01:00
Harvey Tindall ebacfd43be
form: fix captcha, matrix, telegram
new issue though: discord/telegram/matrix aren't linked when email
confirmation is used!
2023-06-21 20:00:48 +01:00
Harvey Tindall e4a7172517
messages: assign tokens to jf users on userpage
pins generated on the user page are assigned to that user, no other
jellyifn user can verify them.
2023-06-21 18:26:08 +01:00
Harvey Tindall 3747eaa3a7
messages: refactor dc/tg, fix tg
less external access to Discord/TelegramDaemon internals, will be easier
to keep user/admin-side uses functioning similarly. Also changed their
internal token stores to use a map, and store an expiry. verifiedTokens
is also now a map in telegram. Also fixed issue where token wasn't being
deleted after use on the user page.
2023-06-21 18:02:33 +01:00
Harvey Tindall 761d8d1c03
userpage: refresh pin when contact changed > once 2023-06-21 17:07:02 +01:00
Harvey Tindall 4e7f720214
userpage: hide bg on login, dont refresh page ever 2023-06-21 17:02:57 +01:00
Harvey Tindall 757c3a8aed
userpage: move cards around 2023-06-21 13:31:43 +01:00
Harvey Tindall 87b0ae6614
userpage: adjust message row span depending on length 2023-06-21 13:30:09 +01:00
Harvey Tindall 920161b920
settings: add "note" type, shows as card
also comes with a "style" attribute, to apply a color to the aside it's
shown in. Used in User Page/Messages to mention the customize button,
and on User page w/ a critical color to mention the jellyfin login
requirement.
2023-06-21 12:28:52 +01:00
Harvey Tindall e7f7dcbb78
userpage: show placeholder message card for admins 2023-06-21 11:27:51 +01:00
Harvey Tindall cc4a97db28
userpage: fix card color in light mode 2023-06-21 11:05:38 +01:00
Harvey Tindall b546aeb440
userpage: don't wrap contact methods, ellipsise 2023-06-20 22:18:38 +01:00
Harvey Tindall 99679a800d
userpage: add customizable message on page 2023-06-20 21:54:55 +01:00
Harvey Tindall 7b9b0d8a84
userpage: implement login message card
Shares code with custom emails, so most related functions have had a
%s/Email/Message/g. Press the edit button on the user page setting to
add a message.
2023-06-20 21:43:25 +01:00
Harvey Tindall 8e153cd92f
userpage: unlink accounts 2023-06-20 16:44:12 +01:00
Harvey Tindall d509abdd5c
userpage: add matrix 2023-06-20 13:28:13 +01:00
Harvey Tindall 96c51af15a
matrix: modularize 2023-06-20 12:57:52 +01:00
Harvey Tindall 68004e1d34
storage: user set/get methods for contact method access
Get/GetKey/SetKey/DeleteKey methods are used for access to
email/discord/telegram/matrix, everywhere. Mutex added for each, avoids
concurrent read/write issues. Will also make potential transition to
database easier.
2023-06-20 12:19:24 +01:00
Harvey Tindall fcedea110d
telegram: modularize, add to userpage 2023-06-19 22:11:35 +01:00
Harvey Tindall 68aedf07ae
discord: pad, underline invite link 2023-06-19 18:03:35 +01:00
Harvey Tindall 094f7cea94
discord: use placeholder if guild icon not available
also centers the invite on the form/user discord modal.
2023-06-19 17:48:24 +01:00
Harvey Tindall 765a749959
discord: modularize user-facing code
will be done for others too, code for discord account linking in form
and userpage is now in ts/modules/account-linking.ts as a configurable
class.
2023-06-19 11:58:09 +01:00
Harvey Tindall cf7983ca11
userpage: add/edit discord
works identically to on the form, would like to eventually factor out
the discord/telegram/matrix verif stuff so it can be shared between the
two pages though.
2023-06-18 21:38:12 +01:00
Harvey Tindall 609039baeb
userpage: change email (+ confirmation)
edit/add button added for email address. Confirmation works too.
2023-06-18 19:38:09 +01:00
Harvey Tindall 03f1a3dbc0
userpage: expand contact card to fill height 2023-06-18 13:04:22 +01:00
Harvey Tindall 75dc9d4d1d
userpage: store refresh token separately
stored as "user-refresh" fixes weird issues when two accounts are logged
in.
2023-06-18 12:30:23 +01:00
Harvey Tindall 5beeeb958b
userpage: show expiry 2023-06-18 12:27:18 +01:00
Harvey Tindall a22f032924
userpage: show and allow modification of contact methods 2023-06-17 17:27:44 +01:00
Harvey Tindall 3e034c85d6
auth: provide error message if account is disabled 2023-06-17 13:57:48 +01:00
Harvey Tindall d3c5feaf1b
userpage: use form langfile, move login strings to common
login-related stuff was moved into common using the langmover script, so
that the user page doesn't have to use the admin language files.
2023-06-17 12:48:28 +01:00
Harvey Tindall 96c62f556b
langmover: rewrite whole directory when using --extract
--extract now takes a path argument, a new copy of the source folder is
made there. Rebuilding the whole folder gets rid of annoying things like
mis-capitalized files.
2023-06-17 12:45:00 +01:00
Harvey Tindall ebdad3f7c7
scripts: fix langmover for non-ascii chars 2023-06-16 20:59:06 +01:00
Harvey Tindall 2fc2f1ddb3
lang: add patchable notifications to common 2023-06-16 18:29:49 +01:00