Harvey Tindall
f7d2771263
add email templater with basic if statements
...
at this point I really should've just used text/template, but I guess
this way compatibility is kept with existing custom emails. If statement
works as so:
{if variable}variable was true{endif}
{if !variable}variable was false{endif}
no else yet, just do as above (two if statements).
2021-04-14 23:58:54 +01:00
Harvey Tindall
3273607fc3
translation: add fallback option to langMeta
...
If set to a language code (e.g fr-fr), any missing strings will be
filled in from that language (if possible) rather than from the default
en-us. Currently not used, but could be useful in the future for
variations of the same language.
2021-04-13 18:34:13 +01:00
Harvey Tindall
55e21f8be3
accounts: add user enable/disable & emails
2021-04-12 21:28:36 +01:00
Harvey Tindall
3dc0df0ac2
fix user expiry when only month field set
2021-04-09 13:35:46 +01:00
Harvey Tindall
d701c5f27d
add months field to invites & expiry
2021-04-08 20:43:01 +01:00
Harvey Tindall
a8f71c83da
store language preference as cookie
2021-04-08 16:03:46 +01:00
Harvey Tindall
7a3e0d60f9
add expiry to welcome email, add dummy emailer for debugging
...
the "yourAccountWillExpire" has also been added to the editor for #81 .
To use the dummy emailer, set [email]/method to "dummy".
2021-04-08 14:20:13 +01:00
Harvey Tindall
2687af31ca
updater: immediately store executable
...
for some reason I kept the response body and downloaded file in memory,
which led to timeouts and failed updates.
2021-04-07 18:17:18 +01:00
Harvey Tindall
d51a6abb02
remove cl.md
2021-04-07 17:45:31 +01:00
Harvey Tindall
374ffbf01f
fix incomplete lang patching, add en-gb stub
...
en-gb is empty, so it's patched with en-us strings. Added so DD/MM/YY
date formatting was possible in the ui.
2021-04-07 17:42:15 +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
7196361cf6
(hopefully) get proper locale from browser
2021-04-07 14:05:17 +01:00
Harvey Tindall
3e73d16cce
merge language changes
2021-04-06 21:30:14 +01:00
Harvey Tindall
3f8414c70a
use unix timestamp for inv created & usedBy
...
usedBy is still stored as a string in invites.json to cope with existing
invites with times stored formatted. knz/strtime requires cgo for
strptime, so it has been replaced with the native itchyny/timefmt-go.
2021-04-06 21:25:44 +01:00
Harvey Tindall
6ec2186bdf
switch accounts tab to unix times
...
should now respect the client's locale.
2021-04-06 20:53:30 +01:00
Harvey Tindall
7dcc9b20a1
clear user cache when user expires
2021-04-06 18:39:12 +01:00
Harvey Tindall
754b956206
remove extra logs
2021-04-06 18:32:32 +01:00
Harvey Tindall
47ac505cac
shutdown your background workers!
...
I believe everything #74 was caused by not shutting down the userDaemon
when we do a pseudo-restart. shutdown of it and the invite daemon are
now deferred so this should fix any problems and reduce log spam.
2021-04-06 18:12:06 +01:00
Harvey Tindall
e6e5231f63
add extra logging
2021-04-06 18:02:15 +01:00
Harvey Tindall
78049d4a33
hyphenate/dehyphenate users.json if necessary
...
doubt this would have caused problems anyway but why not.
2021-04-06 15:46:28 +01:00
Harvey Tindall
8a6cfe0b4d
disallow negative values in ExtendExpiry, fix nil map err
2021-04-06 14:00:32 +01:00
Harvey Tindall
afedc78113
only load users if they don't exist already
...
another guess for #77 .
2021-04-06 13:53:07 +01:00
Harvey Tindall
76b822213e
add more error logging; mutex for app.storage.users
2021-04-06 13:44:52 +01:00
Harvey Tindall
ab3d5f3321
fix logging for expiry extension
...
also delete expiries for users that no longer exist.
2021-04-06 13:31:42 +01:00
Harvey Tindall
e1d42c8a87
Update CONTRIBUTING.md, mb 0.3.3
...
One last missing field added for #76 .
2021-04-05 16:34:47 +01:00
Harvey Tindall
f53c852a4d
bump mb to v0.3.2
...
includes missing struct fields for user Policy, fixes #76 .
2021-04-05 15:07:30 +01:00
Harvey Tindall
aaea889e47
use apt-get in drone.yml
2021-04-03 21:38:26 +01:00
Harvey Tindall
2a0edeb3c5
bump mediabrowser version, more consistent logs
...
uses descriptive errors added in mb v0.2.0. Also improved
the consistency of logs in api.go/main.go.
2021-04-02 22:13:04 +01:00
Harvey Tindall
30f16e7207
email: use strconv.Itoa instead of sprintf
2021-04-02 15:56:34 +01:00
Harvey Tindall
dbe7e2e659
remove ts-debug
2021-04-01 14:33:57 +01:00
Harvey Tindall
e16f05b130
use build constraints for embed, clean up makefile
...
internal-files/external-files and compile-debug are gone, the
environment variables INTERNAL=on/off and DEBUG=on/off replace them.
2021-04-01 14:22:11 +01:00
Harvey Tindall
07573a515a
merge translation
2021-04-01 12:58:06 +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
dcd2e234e8
move "copy" string to common, add "copied"
...
for a new password reset feature.
2021-03-30 21:16:24 +01:00
Harvey Tindall
762dac2581
move mediabrowser to separate repo
2021-03-29 21:49:46 +01:00
Harvey Tindall
1cf8d3037b
remove dependency on common from mediabrowser
2021-03-29 20:57:13 +01:00
Harvey Tindall
40808bdcb9
merge language changes
2021-03-29 20:54:06 +01:00
Harvey Tindall
2451d69341
rewrite lang.go format and templateString
...
surprisingly not much faster than the originals.
2021-03-27 16:07:22 +00:00
Harvey Tindall
a0a25d64f1
rewrite stripmd, fix some typos
...
doesn't work any better, but more efficient and doesn't require
eyebleach after viewing.
2021-03-26 23:13:19 +00:00
Harvey Tindall
9875458b01
rewrite time unmarshaler for mediabrowser
...
Last ditch effort for #69 , removes quotes and trailing Z's manually and
also removes nanoseconds since they're useless.
2021-03-23 21:59:41 +00:00
Harvey Tindall
f0dccc58aa
separate pprof from debug mode
...
enabled with -pprof now.
2021-03-23 21:59:04 +00:00
Harvey Tindall
636bc22d52
reimplement Lshortfile for log wrapper
...
Fixes all debug messages having "logger:<line>:" instead of the actual
caller.
2021-03-23 21:57:53 +00:00
Harvey Tindall
fc6b6a9c6b
Fix time parser for "ZZ" prefix
...
I think this means UTC-08:00, but this just strips it since time
handling is pretty naïve already.
2021-03-23 16:10:25 +00:00
Harvey Tindall
1a6d78352c
add comments, fix user expiry log spam
...
now actually removes the already deleted user from the expiry list.
2021-03-21 22:50:33 +00:00
Harvey Tindall
e351c35cc8
use banner class on banner in about
2021-03-21 00:59:51 +00:00
Harvey Tindall
618cc32a17
hide updates from settings when disabled at build-time
2021-03-20 23:32:32 +00:00
Harvey Tindall
a8bf670697
dont log updates when disabled
2021-03-20 23:20:07 +00:00
Harvey Tindall
0bdf8ad6ce
put upload.py in parent dir
2021-03-20 23:16:54 +00:00
Harvey Tindall
8f65e2e968
fix drone.yml for stable docker
2021-03-20 23:13:03 +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
1704ae8cb1
fix language link color on dark theme
2021-03-20 18:24:35 +00:00
Harvey Tindall
de92516d52
add updates section to setup
2021-03-20 18:00:01 +00:00
Harvey Tindall
cd67d3e7ab
merge translation
2021-03-18 16:49:17 +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
5dc0a68b44
merge translations
2021-03-15 21:58:36 +00:00
Harvey Tindall
43e5bbbe21
add option to trust specific cert for SMTP
2021-03-15 21:57:42 +00:00
Harvey Tindall
5892899114
thread compile_mjml
2021-03-13 17:05:59 +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
9b977bafbf
add other funding method
2021-03-09 18:45:28 +00:00
Harvey Tindall
77f755e43c
fix dropdown colors in dark mode on chrome
2021-03-09 18:15:14 +00:00
Harvey Tindall
30bef15855
Trim commit before comparing in IsNew()
...
Fixes the current version appearing as an update. Also fixed error
handling when no update is available, which obviously hadn't previously
been experienced.
2021-03-09 15:52:15 +00:00
Harvey Tindall
7bd8fadf76
IsNew() compares commit, not version
2021-03-07 17:24:45 +00:00
Harvey Tindall
21490faa9e
fix IsNew() func, include LICENSE in goreleaser
2021-03-07 16:45:35 +00:00
Harvey Tindall
f685582e1a
run upload.py in git directory
2021-03-07 16:27:15 +00:00
Harvey Tindall
f792166523
use locally stored buildrone key bcs ssh is broken
2021-03-07 16:15:31 +00:00
Harvey Tindall
7c0754a70c
fix buildrone env
2021-03-07 16:07:55 +00:00
Harvey Tindall
2f33580f32
remove testing goreleaser script, oops
2021-03-07 15:55:28 +00:00
Harvey Tindall
eb8f2777ae
fix naming conflict with goreleaser, add buildrone key to other steps
2021-03-07 15:54:32 +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
884493e7aa
add download links at top, mention jfa-go-bin
2021-03-02 01:30:08 +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
fa7da1b23f
Don't use cache to ApplySettings and CreateProfile
...
also use a wrapper function to set default settings in config.go so it's
less ugly.
2021-02-28 18:26:22 +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
3635b6a367
lowercase lang names
2021-02-24 21:49:29 +00:00
Harvey Tindall
40fc5e9604
Fix email editor when plaintext setting enabled
2021-02-22 16:40:37 +00:00
Harvey Tindall
9799665951
fix tag versioning and dockerfile
2021-02-22 01:26:07 +00:00
Harvey Tindall
b3fa667db1
version with ldflags instead of script
2021-02-22 01:23:42 +00:00
Harvey Tindall
027cf19d0f
delete missing route bind
2021-02-22 01:05:18 +00:00
Harvey Tindall
38119551d7
merge translation
2021-02-22 00:45:07 +00:00
Harvey Tindall
52d9cda61a
Move email rendering to browser
...
the email preview no longer has a delay after each change. This also
avoids a race condition in which the email currently being edited could
be actually sent.
2021-02-22 00:43:36 +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
6ffdd4dad7
fix mistype in german email
2021-02-20 01:31:34 +00:00
Harvey Tindall
98d59ba4e0
don't strip text on images
2021-02-20 01:20:43 +00:00
Harvey Tindall
938523c18b
fix urls in custom email/announcements
...
Uses a nasty algorithm found in stripmd.go to change all occurrences
of '[linktext](link)' to just 'link' before passing to a decent markdown
stripper.
2021-02-20 01:03:11 +00:00
Harvey Tindall
cc4e12c405
finish backend of custom emails
...
biggest bodge i've ever done but it works i guess.
2021-02-20 00:22:40 +00:00
Harvey Tindall
eb406ef951
Implement email template generation
...
Variables are surrounded by {}, and initial (default) templates are
generated on demand from the plaintext version of emails. The custom
emails are intended to only be used if the user actually changes them,
as they lose the features of the default ones, such as tables.
2021-02-19 21:38:20 +00:00
Harvey Tindall
5c87d109a3
use descriptive variable names in email translations
...
in preparation for an email editor.
2021-02-19 17:50:50 +00:00
Harvey Tindall
3e020da66a
merge translation
2021-02-19 16:12:27 +00:00
Harvey Tindall
78157f763f
use different color library, wrap logger functions with it
2021-02-19 16:12:14 +00:00
Harvey Tindall
b25f786018
use bulk email sending on account deletion
2021-02-19 14:51:36 +00:00