Commit Graph
100 Commits
Author SHA1 Message Date
Harvey Tindall b2b5083102 fix checkCheckCount on accounts reload 2021-05-03 18:55:46 +01:00
Harvey Tindall c0f316d049 add preview to Announcements 2021-05-03 18:35:27 +01:00
Harvey Tindall 2c6d08319b add typechecking step to Makefile when DEBUG=on 2021-05-03 18:32:56 +01:00
Harvey Tindall 5d8f139356 fix race condition; rename route functions; fix swagger params
fix race condition when notifying of invite expiry, rename custom email
related functions as to reduce confusion, and add proper path params for
some swagger routes. Also moved some stuff around in api.go.
2021-05-02 20:42:37 +01:00
Harvey Tindall 87ef71b415 lowercase lang 2021-05-02 15:25:09 +01:00
Harvey Tindall 382a0f4c3c add donate button to about 2021-05-02 15:16:28 +01:00
Harvey Tindall 488c2f5df5 fix broken url in welcome email 2021-05-02 14:44:19 +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 22a0d8925d Remove unused typescript, update config readme 2021-05-02 13:23:33 +01:00
Harvey Tindall 59a014f681 fix title for invite emails 2021-05-02 12:50:04 +01:00
Harvey Tindall 9944cc2db9 refactor; move logger to module 2021-05-01 00:13:57 +01:00
Harvey Tindall 570e3a1e54 fix en-es name and filename 2021-04-30 13:54:53 +01:00
Harvey Tindall a2c344de83 add shorthand flag names
along with an ugly wrapper for the help message that merges the
descriptions for the short & long versions.
2021-04-24 23:54:56 +01:00
Harvey Tindall 886ae64feb add "systemd" command to generate a .service file
never got around to adding this from jellyfin-accounts for some reason.
2021-04-24 18:54:31 +01:00
Harvey Tindall 90a2c1f2e7 Fix email editor for other email types 2021-04-22 19:16:41 +01:00
Harvey Tindall d772e43e44 merge language changes 2021-04-15 15:34:52 +01:00
Harvey Tindall 8fdab39b18 use templateEmail and show conditionals in editor 2021-04-15 15:34:17 +01:00
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