Commit Graph
100 Commits
Author SHA1 Message Date
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
Harvey Tindall 76fa171575 cleanup logs and use structs in jf/emby api
Also means times are directly parsed when pulling data from jf/emby,
which was *painful* to get working (something broke the whole program and it
took me an hour to figure out it was this lol). Time parsing should be a
lot stabler too.
2021-02-19 00:47:01 +00:00
Harvey Tindall 93b5b483cc add plaintext email option, use text/template
text/template is used on plaintext emails to avoid escaping of certain
characters.
2021-02-18 18:26:23 +00:00
Harvey Tindall 27ef931670 add possible dark mode fix for Outlook 2021-02-18 17:47:15 +00:00
Harvey Tindall fb727e75ec substitute jellyfin strings on emails, hopefully fix dark mode 2021-02-18 16:09:58 +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 adbb5b9d38 Fix filepath separator and external files on windows
For some reason, '/' is used instead of '\' on windows when loading
lang. FSJoin will now use whatever already exists in the path.
app.GetPath now creates a DirFS from the containing directory instead of
app.systemFS, which fixes loading on windows.
2021-02-18 12:58:30 +00:00
Harvey Tindall cdc837e781 trim '/' from path when using systemFS
should fix #58.
2021-02-17 22:02:26 +00:00
Harvey Tindall a92baa5d18 update urls 2021-02-17 20:52:49 +00:00
Harvey Tindall e913f25a47 update buildrone url 2021-02-17 20:31:52 +00:00
Harvey Tindall 9eb803388e add it-it email back 2021-02-17 16:54:09 +00:00
Harvey Tindall eb81515f46 fix ordering of steps in dockerfile 2021-02-17 16:53:15 +00:00
Harvey Tindall 52461c0356 add it-it email back 2021-02-17 16:36:39 +00:00
Harvey Tindall 6b3800abf6 remove branch trigger 2021-02-17 16:34:04 +00:00
Harvey Tindall 09fc81d7f4 fix tag recognition by drone 2021-02-17 16:26:14 +00:00
Harvey Tindall 82034a2586 use python3 in makefile for embed 2021-02-17 16:11:01 +00:00
Harvey Tindall 5e001bed60 temporarily modify lang for release
Fixed name on Indonesian and removed Italian emails.
2021-02-17 16:04:25 +00:00
Harvey Tindall 5d7972db56 rename embed/noembed to internal-files/external-files 2021-02-17 14:41:44 +00:00
Harvey Tindall 403ad58274 move all scripts to scripts/ 2021-02-17 14:32:03 +00:00
Harvey Tindall a1a233e74f fix sed path in Dockerfile 2021-02-17 11:33:41 +00:00
Harvey Tindall 8dd72c95ab switch image for drone builds 2021-02-17 11:19:51 +00:00
Harvey Tindall f794322392 Merge branch 'go1.16'
merge go1.16 changes

This includes embedded files for releases (no extra 'data' directory!)
and support for a custom language file directory, allowing one to
customize the text accross the app.
2021-02-17 11:15:21 +00:00
Harvey Tindall afd52d1d37 Use go cross-compilation in docker build
significantly faster builds now. Every pre-compilation step (typescript,
css, etc.) happens natively, then GOARCH=xxx make compile is also run
natively for each architecture. The output it then copied into each
container.
2021-02-16 16:08:53 +00:00
Harvey Tindall ba7370171a lowercase lang, go mod tidy 2021-02-16 14:31:31 +00:00
Harvey Tindall 33b7876826 build from tag on stable 2021-02-13 22:03:35 +00:00
Harvey Tindall 0fc4b5eb22 switch to buildx with qemu for builds 2021-02-13 21:59:33 +00:00
Harvey Tindall e672f9f14c lowercase lang names 2021-02-13 20:51:35 +00:00
Harvey Tindall 4d2e509950 merge language changes 2021-02-13 20:50:27 +00:00
Harvey Tindall a80e5c2aa9 purge manifest and recreate per build 2021-02-13 20:49:56 +00:00
Harvey Tindall 060f0efc16 pull containers before manifest, run on different host 2021-02-13 14:05:04 +00:00
Harvey Tindall c3fb00a307 wrong go version container 2021-02-12 15:37:19 +00:00
Harvey Tindall 988829a6db dont build docker on go1.16 branch 2021-02-12 15:22:21 +00:00
Harvey Tindall 76935a300a dont build docker on go1.16 branch 2021-02-12 15:21:58 +00:00
Harvey Tindall a6a7710a79 use filepath.Join wrapper for different embed and os path styles
If using internal, "/" is used as a separator always, and with external,
filepath.Join is used.
2021-02-12 14:59:35 +00:00
Harvey Tindall 873afb47cd strip debug symbols in makefile 2021-02-12 14:59:35 +00:00
Harvey Tindall ea99966057 refactor, move route loading to router.go 2021-02-12 14:59:16 +00:00
Harvey Tindall aaed272bf2 use embed.fs wrapper on data 2021-02-12 14:35:16 +00:00
Harvey Tindall e6775cd2d1 use embed.fs wrapper for langFS so lang/ is not needed in paths
[files]lang_files is now the path to the lang directory, not path to a
directory containing it.
2021-02-12 14:35:16 +00:00
Harvey Tindall 98a9e20cc0 Fix docker build, add GOBINARY flag for make
GOBINARY defaults to "go", but if you want to build on a normal system,
you'll likely set it to go1.16rc1 with "make all GOBINARY=go1.16rc1".
2021-02-12 14:35:13 +00:00
Harvey Tindall ee37588959 drone image 2021-02-12 14:32:57 +00:00
Harvey Tindall cb12c6f441 update goreleaser 2021-02-12 14:32:57 +00:00
Harvey Tindall 72cf3e2240 add external/internal data options
"make all" will build with internal data, whereas "make debug"/"make
all-external" will make an external "data/" directory.
2021-02-12 14:32:48 +00:00