Commit Graph

228 Commits

Author SHA1 Message Date
Aleksa Siriški 0c102f5324
added checked to admin only
because it is confusing if you go straight to `Manually set the username and password.` and you can't go next since nothing is checked above but it becomes hidden
2023-02-01 23:31:55 +01:00
Harvey Tindall b81c5636cc
settings: better top button padding on mobile 2022-01-30 16:43:28 +00:00
Harvey Tindall d867649a93
padding; fix hungarian lang names 2022-01-30 16:38:19 +00:00
Harvey Tindall e814af1af5
Merge pull request #191 from LubricantJam/main
Further Mobile Optimisations
2022-01-30 16:27:33 +00:00
James Finch dec8d75083 Optimised modals for mobile. 2022-01-28 22:34:34 +00:00
Harvey Tindall 25451eb763
form: show radios for only linked contact methods 2022-01-27 16:56:21 +00:00
Harvey Tindall dbefb80f63
form: reliably disable submit button, communicate if account linking is required 2022-01-27 16:48:46 +00:00
James Finch 82c8ef1e4b Added better mobile support for sign-up form. 2022-01-27 01:58:24 +00:00
Harvey Tindall 4b02960fd1
form: add captcha regen button
lots of false negatives so this is a solution for now.

Also the registering of each discord command is now logged for debugging
purposes.
2022-01-26 22:14:16 +00:00
Harvey Tindall 32af107699
discord: add role to user on signup
This requires an extra permission, so you'll have to modify your bot
settings, kick it from your server and re-add it for this to work. The
role you select must also be lower in hierarchy than the bot's group.
2022-01-13 22:34:52 +00:00
Harvey Tindall d9f8785372
form: add CAPTCHAs
Enabled in Settings > Captchas, shows a captcha on the account creation
form.
2022-01-10 01:55:48 +00:00
Harvey Tindall 6448a7db9e
accounts: allow giving individual users jfa-go access
New "Access jfa-go" column allows you to select users for jfa-go access.
New "Allow All" setting allows all Jellyfin users access, as disabling
"Admin Only" no longer does this.
2022-01-09 19:37:17 +00:00
Harvey Tindall 77c05a4d4f
prefix css with version to avoid cache conflict 2022-01-08 16:42:36 +00:00
Harvey Tindall 4024334c0c
accounts: add ability to label users
press the pen icon next to their username to add a nick-name to remind
you who they are.
2022-01-08 16:20:31 +00:00
Harvey Tindall 1ebc648158
fix broken go template if statements
All available DOM parsers for node would move the contents of if
statements outside of them, breaking things like the accounts tab. Fixed
with a regex pre and post process to comment out then uncomment all template usage.

builds now depend on perl for some regex, this can likely be changed in
future though.
2022-01-08 00:07:23 +00:00
Harvey Tindall 9874dce520
merge tailwind and upgraded a17t
a17t v0.10 became a tailwind plugin rather than standalone css, and made
some other changes. Much of the original custom CSS now uses tailwind
classes, and there have been some other UI changes.
2022-01-04 20:28:36 +00:00
Harvey Tindall 2f50ab36fd
pad table and some other stuff 2022-01-04 20:09:51 +00:00
Harvey Tindall 6124b9b3f3
switch accounts tab table to white bg 2022-01-04 19:22:49 +00:00
Harvey Tindall 26d9864051
fix layout on remaining html 2022-01-01 02:58:26 +00:00
Harvey Tindall dd5eecf9f9
fix textareas 2022-01-01 02:17:24 +00:00
Harvey Tindall 7e0e0b0520
fix form layout 2021-12-31 18:52:03 +00:00
Harvey Tindall deb117fc34
fix setup layout 2021-12-31 18:00:19 +00:00
Harvey Tindall a9a0005007
setup: patch messages with english fallback 2021-12-31 17:49:25 +00:00
Harvey Tindall 4eb7afead6
fix banner in about 2021-12-31 17:43:09 +00:00
Harvey Tindall d1b5b74060
make most modals white 2021-12-31 17:28:08 +00:00
Harvey Tindall 277690ef79
allow for defining custom dark: variants, ignore querySelector, shrink margins 2021-12-31 16:01:17 +00:00
Harvey Tindall f7f3530a33
fix crash page 2021-12-31 15:09:33 +00:00
Harvey Tindall 2d3a5c739c
fix about page 2021-12-31 02:22:23 +00:00
Harvey Tindall 3dbb993d35
fix button layout on accounts tab 2021-12-31 02:03:29 +00:00
Harvey Tindall 508168b49e
fix more oddities 2021-12-31 01:51:42 +00:00
Harvey Tindall e73ecb7a52
fix some padding issues 2021-12-31 00:22:28 +00:00
Harvey Tindall 62be8adc65
remove predefined m- and p- spacing 2021-12-30 23:58:20 +00:00
Harvey Tindall acc8892f26
switch to DOM based variant adding 2021-12-30 23:52:53 +00:00
Harvey Tindall 51b59ae103
settings: add button to get logs 2021-12-30 17:54:27 +00:00
Harvey Tindall 18ae03554f
tailwind: upgrade a17t, somewhat functional dark mode
instead of adding dark: variants to each element, a preprocessor script
adds them. still needs to be implemented to typescript.
2021-12-30 00:49:43 +00:00
Harvey Tindall aedea1bea6
admin: move theme icon to top left; add icon 2021-12-24 19:34:18 +00:00
Harvey Tindall 535a100314
settings: discord and more links in "About" 2021-12-24 19:22:35 +00:00
Harvey Tindall 360c25d084
accounts: hide "Send PWR" when link resets disabled
for #182.
2021-12-24 19:05:48 +00:00
Harvey Tindall 0fd4f516b1
email: Add option to require on sign-up
for #172
2021-12-20 18:50:48 +00:00
Harvey Tindall 4da1c8c2b6
Ombi: Integrate with profiles, Retire user defaults
NOTE: If you previously used the Ombi integration, New ombi users
won't be created until you set this up.

Ombi settings can be added to a profile in Settings > User Profiles.
The "Modify settings" options will now apply to ombi if the selected
profile has ombi settings.
2021-11-13 18:53:53 +00:00
Harvey Tindall 0bf8cd65cd
add option to set new expiry for when re-enabling users
for this reddit comment: https://www.reddit.com/r/jellyfin/comments/nc6tsi/tip_jfago_is_awesome/hgh0yet/?context=3
2021-10-18 20:39:23 +01:00
Harvey Tindall eeb9b07bce
admin: add manual "Send Password reset" to accounts tab
Only appears with Reset links enabled.
Pressing this sends a PWR link to the users selected.
if one user is selected, or if one of you selected users doesn't have a
method of contact, a link is given to the admin to send to them
manually.
2021-10-13 15:04:22 +01:00
Harvey Tindall b10b558358
announcements: add {username}
also works in the subject.
2021-07-16 19:39:06 +01:00
Harvey Tindall 3e55cd1e31
accounts: add templates for announcements
you can now save announcements as templates, and then use them later by
hovering over the "Announce" button, as well as delete them.
2021-07-10 16:43:27 +01:00
Harvey Tindall 729fc7baf7
Setup: add messages, set password via link
Also changed some section names to use "messages" instead of "emails".
Since I haven't added Discord/Telegram/Matrix bot setup, I mentioned you
can do these later and linked to the setup guides. Sections related to
email mostly now depend on [messages]/enabled now too. Set password via
link has been added to password resets.
2021-06-23 15:44:48 +01:00
Harvey Tindall 9950c158a1
move copy button to right, don't uncss when DEBUG=on
keep unused css when DEBUG=on by skipping the uncss step.
2021-06-13 16:31:40 +01:00
Harvey Tindall 21125033ff
Add copy button to crash page 2021-06-13 15:36:36 +01:00
Harvey Tindall 0ea5c7fdc0
remove inline-css-cli build dep
unnecessary (inline-source-cli already includes its functionality) and a
dependency of it had a high-severity CVE (wouldn't have affected anyone,
but w/e).
2021-06-11 23:39:38 +01:00
Harvey Tindall b538922c05
Show log on log.Fatal calls, provide "sanitized" version, fix goreleaser
Sanitization means change anything in double quotes to "CENSORED". A
notice is included telling the user to check for themselves as well.
2021-06-11 23:28:21 +01:00
Harvey Tindall f0f4e8118e
Generate crash report txt and webpage
The last 100 lines of logs are now cached, and when a crash occurs, they
are saved to a file in the temp directory ("/tmp" on *nix), and pretty
HTML version is also created and opened in the browser.
* Currently only handles panics, will be included in more places soon
* Copy button and button to generate a GH issue will be added
2021-06-11 21:56:53 +01:00
Harvey Tindall 0a71d5b216
PWR: Add option to set new password from magic link
For #103. Enable in Settings > Password Resets. Also changes the user's
ombi password.
2021-06-07 13:49:05 +01:00
Harvey Tindall 885d2ebf0f
admin: fix telegram/discord/matrix enabled varnames 2021-06-05 22:16:57 +01:00
Harvey Tindall 19715f25f6
Move all migrations to separate file
Also fixed some inconsistent uses of snake case.
2021-06-01 14:18:49 +01:00
Harvey Tindall 375022ba95
Matrix: Add token generation wizard
Pressing the "+" next to matrix in settings allows you to enter a
homeserver, username and password to enable matrix and generate an
access token.
2021-05-30 23:09:20 +01:00
Harvey Tindall 59ebf52fe2
Matrix: Show matrix on accounts page 2021-05-30 00:05:46 +01:00
Harvey Tindall e97b90d4d7
Matrix: Setup bot, add PIN verification
PIN is verified but not used currently. Works a little different than
the others, you input your matrix user ID and then the PIN is sent to
you. The bot doesn't support E2EE, so the bot being the first one to
message ensures the chat is unencrypted.
2021-05-29 17:43:11 +01:00
Harvey Tindall 1f9af8df89
Discord: Add option to provide server invite
When enabled, a temporary one-use invite is created and shown to the
user on the account creation form.
2021-05-23 19:50:03 +01:00
Harvey Tindall ce8cdced4d
Discord: Fix GetUsers, add invite messages
The "Send to" box on the invite tab now accepts username#discriminator,
and a search icon has been added which opens a search window similar to
the one on the accounts tab. DiscordDaemon.GetUsers was also very broken
and wouldn't work with full username#discriminator, that's been fixed.
2021-05-23 16:16:31 +01:00
Harvey Tindall 7d698d63e3
Discord: split discord search into own module
Will also be used for "Send to" on the invite page.
2021-05-23 14:22:18 +01:00
Harvey Tindall 9fac79b1f0
Discord: Add users via accounts tab
Doesn't require a PIN like Telegram, as we can access a list of guild
users with the GuildMembers intent set. This has to be enabled under
Bot > Priviliged Gateway intents on the developer portal.
2021-05-22 21:42:15 +01:00
Harvey Tindall f8f5f35cc1
PIN verification, notifications, multiple notif providers
Discord, Email & Telegram can be enabled, although email is always
enabled right now (will fix). Also apparently markdown hyperlinks don't
work in Discord, eventually will implement something to convert them to
embeds.
2021-05-21 21:35:25 +01:00
Harvey Tindall ea0293bd4e
Split some settings into new "messages" section
Most email dependant sections now depend on this. Also renamed more
email things.
2021-05-07 21:53:29 +01:00
Harvey Tindall 2d93b3b7ee
Telegram: Allow admin to add telegram contact
Works in the same way as on the form, but can now be done in the
accounts tab.
2021-05-07 18:20:35 +01:00
Harvey Tindall 0f41d1e6cf
Telegram: Display username on accounts tab 2021-05-07 17:01:22 +01:00
Harvey Tindall 716d6a931a
Telegram: Send messages via telegram
Most messages are now sent as plaintext via telegram when suitable.
2021-05-07 16:06:47 +01:00
Harvey Tindall 72bf280e2d
telegram: Fix UI and store useful Telegram info
Creation now works, and language preferences made before signup are
kept. telegram file storage now uses the Jellyfin ID as a key, which
makes much more sense. Also added radios to select preferred notification
method (email/telegram) as well, which the admin will soon be able to
change also.
2021-05-07 14:32:51 +01:00
Harvey Tindall 99875b9176
almost complete telegram user verification
When signing up, the user is given a pin code which they send to a
telegram bot. This provides user verification, but more importantly
allows the bot to message the user, as the Telegram API requires the
user to interact with the bot before it can do the opposite.

The bot should recognize the correct language, but a /lang command is
also provided to change it.

The verification process is pretty much functional but ui is still
broken, and it isn't properly integrated yet.
2021-05-07 01:08:12 +01:00
Harvey Tindall c0f316d049
add preview to Announcements 2021-05-03 18:35:27 +01:00
Harvey Tindall 382a0f4c3c
add donate button to about 2021-05-02 15:16:28 +01:00
Harvey Tindall 43effd0c32
add reset link option to setup 2021-05-02 14:15:03 +01:00
Harvey Tindall af61549bf1
ombi: reset password when using pwr links
When password reset links are enabled, the ombi password will be reset
to the PIN along with Jellyfin.
2021-05-02 13:23:59 +01:00
Harvey Tindall 8fdab39b18
use templateEmail and show conditionals in editor 2021-04-15 15:34:17 +01:00
Harvey Tindall 55e21f8be3
accounts: add user enable/disable & emails 2021-04-12 21:28:36 +01:00
Harvey Tindall d701c5f27d
add months field to invites & expiry 2021-04-08 20:43:01 +01:00
Harvey Tindall 871bc9f396
use proper date formatting on form for expiry 2021-04-07 15:17:15 +01:00
Harvey Tindall 66b7df7cde
use selected language for time format, add manual selector
You can now choose between 12h and 24h time in the top left language
menu. Your preference is stored by the browser for future visits.
2021-04-07 15:09:44 +01:00
Harvey Tindall bc76770ca4
move 12h/24h time strings to common 2021-04-07 15:09:25 +01:00
Harvey Tindall b3a2de50cf
hide no_username support message on setup
fixes #74.
2021-04-01 12:56:47 +01:00
Harvey Tindall 9370913ace
add password reset link option
When enabled (in Settings > Password Resets), a magic link will be sent
instead of a PIN when the user tries reset their password. By doing
this the user doesn't have to keep the Jellyfin tab open to enter the
code.
2021-03-30 22:41:28 +01:00
Harvey Tindall e351c35cc8
use banner class on banner in about 2021-03-21 00:59:51 +00:00
Harvey Tindall 0d3f96c3a7
fix button height on accounts tab & expiry types on mobile 2021-03-20 22:16:24 +00:00
Harvey Tindall cfa7947020
wrap items in accounts header
fixes mobile layout.
2021-03-20 19:23:54 +00:00
Harvey Tindall b91de3f319
update images and readme 2021-03-20 19:04:26 +00:00
Harvey Tindall de92516d52
add updates section to setup 2021-03-20 18:00:01 +00:00
Harvey Tindall c556878f11
hide password resets on setup when emby selected 2021-03-18 16:47:13 +00:00
Harvey Tindall 111533fa2d
add advanced setting type with toggle in settings 2021-03-15 22:51:17 +00:00
Harvey Tindall 03247ddef8
Add accounts search 2021-03-13 14:26:29 +00:00
Harvey Tindall e6e5b0f3cf
respect browser/os dark mode preference 2021-03-10 19:42:40 +00:00
Harvey Tindall 92332206f0
add basic update functionality
If enabled, jfa-go pings buildrone (hosted at builds.hrfee.pw) every 30
min for new updates. If there is one, it gets information (and if
applicable, a binary) from the appropriate source (buildrone, github, or
dockerhub) and displays it on the admin page. You can switch update
channels between stable and unstable. For binary releases, updates are
downloaded automatically and installed when the user presses update.

Since this obviously introduces some "phone-home" functionality into
jfa-go, I just want to say IPs are not and will not be logged by
buildrone, although I may later introduce functionality to give a rough
idea of the number of users (again, no IPs stored). The whole thing can
also be turned off in settings.
2021-03-07 15:23:44 +00:00
Harvey Tindall bd05a4b35a
include LICENSE in build, display in about tab
Also fixes last commit, user cache wasn't refreshed in ApplySettings, is
now.
2021-03-01 00:32:09 +00:00
Harvey Tindall 1ec5d2ca3f
add disabled badge, extend expiry button to accounts 2021-02-28 17:52:24 +00:00
Harvey Tindall 1e9d184508
implement user expiry functionality
All works now, but i'll add a field on the accounts tab for users with
an expiry, as well as a 'disabled' badge.
2021-02-28 15:41:06 +00:00
Harvey Tindall 2934832a98
implement frontend for user expiry/duration
this will add an optional validity period to users, where their account
will be disabled (or deleted) a specified amount of time after they
created it.
2021-02-28 00:44:28 +00:00
Harvey Tindall d1b1b90de3
Add email list accessible by edit button in settings 2021-02-21 15:51:42 +00:00
Harvey Tindall 058cac2e7b
implement email editor w/ live(?) preview
not accessible in the ui currently, but the object is available as
window.ee for testing.
2021-02-20 22:49:59 +00:00
Harvey Tindall fa433c88a8
add announcement emails
After selecting users in the accounts tab, you can press 'Announce',
then write a subject and message (with markdown), and an email will be
sent to each selected user.
2021-02-18 14:58:53 +00:00
Harvey Tindall 6691ae27f4
fix navigation with URL base set 2021-02-05 13:31:56 +00:00
Harvey Tindall b037b08152
respect URL Base in http preloads and inline html links 2021-02-05 13:10:47 +00:00
Harvey Tindall 90c6cee780
add restart button 2021-01-31 19:01:20 +00:00
Harvey Tindall ee026714d4
Add optional email confirmation
If enabled, a confirmation email will be sent before the user can create
their account.
2021-01-30 19:19:12 +00:00
Harvey Tindall 4fc9bdb35b
element already existed, oops 2021-01-29 01:32:44 +00:00
Harvey Tindall c0a05be44e
add strftime notice on setup
string was already in translations, just forgot to include it.
2021-01-29 01:29:54 +00:00
Harvey Tindall 3dd83bffbf
Merge branch 'new-setup'
Merge new setup wizard

This is much more up-to-date than the previous setup page, with a new
design and previously missing/new settings. Currently only available in
english (hopefully that changes soon).

also fixes conflict in _post.
2021-01-27 22:06:44 +00:00
Harvey Tindall 79987ffa22
add refresh button that uses url base if given 2021-01-27 21:51:01 +00:00
Harvey Tindall 764639bbba
add header template 2021-01-27 21:38:35 +00:00
Harvey Tindall eb67116ee6
replace og setup 2021-01-27 21:37:43 +00:00
Harvey Tindall 7baea9101e
Add general settings, ombi
host, port, theme, tls are included in general. Page theme changes with
setting. Fixed checkbox support messages. Split some cards into columns.
2021-01-27 21:35:41 +00:00
Harvey Tindall 167fae9892
add jellyfin connection test, submission
fully functional now, but still need to add some sections (ombi mainly).
2021-01-27 12:55:39 +00:00
Harvey Tindall c7f5aa2e2b
split into pages, hide email pages when disabled, add history navigation 2021-01-27 00:51:19 +00:00
Harvey Tindall 8c871bc5fa
Add ts to link setting dependance
Also make store each setting as classes in a settings object, to make it
easier to serialize on submitting. Also, added
"substitute_jellyfin_strings", "no_username" and welcome_email.
2021-01-26 22:57:29 +00:00
Harvey Tindall bf1e6230dc
split some strings into common file; use lang file to setup page 2021-01-25 21:26:54 +00:00
Harvey Tindall 8af1c13d7e
Display error messages on form
two new strings need translating in lang/form.
2021-01-25 18:01:18 +00:00
Harvey Tindall 687edf2b0b
Initial setup page content
Rewritten with a17t. Content right now is just a copy of the original
setup.html, but settings for new features will be added later.Currently
all cards are shown, only the current one will show in future.
2021-01-24 23:05:04 +00:00
Harvey Tindall dd96d71280
Add optional label for invites
Requested in #38.
2021-01-24 15:55:45 +00:00
Harvey Tindall f7d8feac5d
bundle css with esbuild 2021-01-23 18:53:14 +00:00
Harvey Tindall e834445b0b
Restructure language loading to support incomplete translations
On startup, files are scanned and any missing values are replaced with
the english version.
2021-01-19 00:29:29 +00:00
Harvey Tindall 1aadd12006
move validationStrings out of strings in lang/form 2021-01-18 22:06:50 +00:00
Harvey Tindall ffc62574ec
Fix server push and use Link header to load CSS
Nginx with http2_push_preload on will convert the Link header to server
pushes, so we use it to load css.
2021-01-15 18:57:12 +00:00
Harvey Tindall 0b482116bb
fix display of username box on add account modal 2021-01-15 14:43:32 +00:00
Harvey Tindall a579bcd463
add finished french for admin 2021-01-15 14:43:32 +00:00
Harvey Tindall ab7017ff12
fix spelling in french email 2021-01-15 14:43:32 +00:00
Harvey Tindall 4679c6f355
add language selector to admin 2021-01-15 14:43:32 +00:00
Harvey Tindall 422f13202b
Use lang file in typescript 2021-01-15 14:43:31 +00:00
Harvey Tindall c470e40737
Start adding translation support for admin 2021-01-15 14:43:31 +00:00
Harvey Tindall a102199d5a
include code in invite form instead of getting from url
potentially solves #34?
2021-01-14 14:22:20 +00:00
Harvey Tindall 3fbbc7f620
add language selector to form 2021-01-11 19:17:43 +00:00
Harvey Tindall 6860933498
functional continue button in form, hide empty contactMessage box 2021-01-09 00:07:19 +00:00
Harvey Tindall eb370d64df
Merge a17t-redesign, kinda ts-ify setup.js
the web ui has been redesigned with the a17t toolkit, which imo looks a
lot better than bootstrap. This also brought a complete rework of the
web code, which now makes a lot more sense hopefully. the setup page is
still stuck with bootstrap, its not much of a priority but i'll rewrite
it eventually.
2021-01-05 18:16:23 +00:00