Commit Graph

1401 Commits

Author SHA1 Message Date
Harvey Tindall e1c215b72e
db: remove remaining storage.loadX calls 2023-06-25 20:18:40 +01:00
Harvey Tindall ea0598e507
db: move legacy data loading out of main/config
put it in loadLegacyData in migrations, which is only called by
migrateToBadger.
2023-06-25 20:17:10 +01:00
Harvey Tindall 28c3d9d2e4
db: use db key to store migration status
the planned config key "migrated_to_db" is not used, instead it is
stored in the database since that's a bit cleaner.
2023-06-25 19:59:11 +01:00
Harvey Tindall e9f9d9dc98
db: mark migration as completed when it's done
migrated_to_db config key is used. Might also add an extra check to see
if anything is in the DB.
2023-06-25 19:47:31 +01:00
Harvey Tindall bb75bfd15d
db: deprecate customEmails/userPage 2023-06-25 19:40:54 +01:00
Harvey Tindall 9c84fb5887
profiles: fully deprecate old system
ombi_template, configuration, displayprefs, and policy still stuck
around for the admin new user feature. They are now sourced from the
default profile, and eventually a feature to select the source (or no
source) will be added.

this was still used when creating a new user as admin for some reason.
template is now sourced from the default profile.
2023-06-25 18:59:55 +01:00
Harvey Tindall 3bb9272f06
db: mark profile store as deprecated 2023-06-24 21:32:25 +01:00
Harvey Tindall a735e4ff29
db: migrate user profiles 2023-06-24 21:29:54 +01:00
Harvey Tindall 63948a6de0
db: migrate invites, user expiry
some fixes to stuff in there too, probably
2023-06-24 19:13:05 +01:00
Harvey Tindall a470d77938
db: fix contact method cleaning daemons
don't think there's a way to negate a query with badgerhold, so i can't
do "delete(not (where JellyfinID in <ExistingUsers>))", and the old
    method of rebuilding the store is no longer possible.
2023-06-24 18:38:52 +01:00
Harvey Tindall 833be688ac
storage: start db migration (badger(hold))
migrating to badger, with the badgerhold frontend. So far, done:
* Announcements (small, for a quick test)
* Discord/Telegram/Matrix/Email

most interaction with badgerhold is done through the standard
Get<x>/Get<x>Key/Set<x>Key/Delete<x>Key. UserExists functions have been
added for email and matrix, and those and the original ones now use a
query against the database rather than sifting through every record.
I've tagged these searched fields as "index" for badgerhold, although this
definitely isn't used yet, and i'm not entirely sure if it'll be useful.

migrateToBadger is now in migrations.go, and a temporary config key
"migrated_to_badger" has been added, although it isn't being used yet,
migration is just running every time during development.
2023-06-24 17:05:04 +01:00
Harvey Tindall fc7ae0ec4e
userpage: respect 12h/24h choice 2023-06-24 12:32:28 +01:00
Harvey Tindall 753f5fc517
compile_mjml: use multiprocessing instead of thread 2023-06-24 11:36:15 +01:00
Harvey Tindall f1b7ef303d
Makefile: GOESBUIILD changes
doesn't ever install it if it's already present. Also moved it to
optional dependencies in package.json.
2023-06-23 21:31:33 +01:00
Harvey Tindall e7d4b5051b
build: cleanup reprepro incoming after processing 2023-06-23 14:52:51 +01:00
Harvey Tindall b7b3aa1eb7
build: fix goreleaser, include optional builder name
builder name shows up in about section again, as does the build time.
2023-06-23 14:41:21 +01:00
Harvey Tindall f083d6b53f
updater: include build date, check against updates
build time is included in the binary, so the buildrone release date is
compared to it when deciding if something is an update or not.
2023-06-23 14:16:36 +01:00
Harvey Tindall 7caa5c5d57
lang: fix the usual on slovenian
someone directly translated "English (US)" again. Why?
2023-06-23 13:49:19 +01:00
Harvey Tindall 65c2722a20
font: switch to hanken grotesk
thought it looked quite nice License included in about section.
2023-06-23 13:45:04 +01:00
Harvey Tindall 6b3fc3d492
lang: correct language names
Low German/Saxon (NDS) is empty entirely, which caused discord lang
registration to error, so i've just filled in the name. Somebody
directly translated "English (US)" into italian instead of putting
Italian in italian, corrected that. Use some common sense!
2023-06-23 13:09:26 +01:00
Harvey Tindall fec9776def
build: fix up goreleaser
removed deprecated options, fixed to work with new user page.
2023-06-23 13:00:46 +01:00
Harvey Tindall bfeab3648c
form: change contact-via radios to checks 2023-06-23 12:30:52 +01:00
Harvey Tindall c0f2409fcc
readme/site: make project status message less pessimistic
I think my current activity on the project justifies the change.
2023-06-23 12:20:18 +01:00
Harvey Tindall ef5d89f323
Merge "My Account"
User Page/My Account
2023-06-22 22:03:50 +01:00
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