Commit Graph

48 Commits

Author SHA1 Message Date
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 86ef665b12
Discord: Try to avoid more race conditions
also added RACE=on to Makefile to enable go's race detector.
2021-05-23 22:26:56 +01:00
Harvey Tindall 8cf9b1f905
add basic tray functionality
enable with `make TRAY=on ...`. Cross compilation apparently should work
from linux to linux & windows.
2021-05-16 16:23:28 +01:00
Harvey Tindall 33f8070e57
cleanup; fix stripping with DEBUG=on 2021-05-16 15:00:13 +01:00
Harvey Tindall 2c6d08319b
add typechecking step to Makefile when DEBUG=on 2021-05-03 18:32:56 +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 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 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 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 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 82034a2586
use python3 in makefile for embed 2021-02-17 16:11:01 +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 873afb47cd
strip debug symbols in makefile 2021-02-12 14:59:35 +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 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
Harvey Tindall 815bdc35ac
fully self-contained
paths are pretty janky, but it works. Also, [files]/lang_files now must
be the path to a directory CONTAINING a "lang/" directory. I'll work
around this at a later date.
2021-02-12 14:28:09 +00:00
Harvey Tindall fefe2d82a4
rebase 12/02, use go1.16rc1 in make, remove ioutil, start switching to io/fs for file i/o
ioutil's contents are now in io and os.
Eventually jfa-go's files will be embedded in the binary with go1.16's
new embed feature. Using io/fs will provide abstraction for accessing
these files, and allow for both embedded and non-embedded versions.
Also, internal paths to things like email templates, etc. will be
prefixed with "jfa-go:" to indicate to use the app's own Filesystem
instead of reading the file normally. This also allows for custom files
to continue to be used as they are currently.
2021-02-12 14:27:01 +00:00
Harvey Tindall 2b55a1873c
fix css, oops 2021-02-11 18:28:25 +00:00
Harvey Tindall c2e68bdc77
add GOESBUILD option for platform without esbuild on npm 2021-02-11 18:21:21 +00:00
Harvey Tindall 23ae18d732
compile setup.ts in Makefile/Goreleaser
surprised there hasn't been issues for this, the setup page would've
been broken for a while.
2021-01-26 00:37:32 +00:00
Harvey Tindall 406fef6595
bundle typescript 2021-01-23 19:08:27 +00:00
Harvey Tindall f7d8feac5d
bundle css with esbuild 2021-01-23 18:53:14 +00:00
Harvey Tindall fdc97b4e86
rename ts to typescript
unusual name conflict meant this step gets skipped.
2021-01-05 18:40: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
Harvey Tindall 301f502052
Rework typescript to use modules
web UI now uses modules, and relies less on bodge to make things work.
Also fixes an issue where invites where "failed to send to xx" appeared
in invite form.
2020-10-22 17:50:40 +01:00
Harvey Tindall 8e6cf799cd
use npx to avoid looking for node_modules, get rid of useless
get_node_deps

makefile works without interaction by default now.
2020-10-18 00:57:53 +01:00
Harvey Tindall 2a2435ae11
remove version, device, device_id options, set them automatically
not sure why i exposed these to the user in the first place. they are
set to <jfa-go version>, <jfa-go>, <jfa-go-<version>-<commit>>
respectively.
2020-09-29 20:51:15 +01:00
Harvey Tindall 04a4a4ca95
use esbuild to compile and minify ts
tsc is still used for ts-debug.
2020-09-29 20:35:06 +01:00
Harvey Tindall 9fec714da7
fix goreleaser builds
wrapped tsc in a a shell script to ignore duplicate function errors.
2020-09-25 00:11:52 +01:00
Harvey Tindall 64ad8ccf6e
Fix docker build; add some color 2020-09-24 21:59:08 +01:00
Harvey Tindall b6537cef65
Add basic swagger documentation
accessible by running with -swagger. Accessible at /swagger/index.html.
Currently doesn't have authentication setup, so no requests will work.
2020-09-24 17:51:13 +01:00
Harvey Tindall ce844e0574
add ts-debug option to makefile for including typescript and sourcemaps 2020-09-23 20:14:16 +01:00
Harvey Tindall 32b8ed4aa2
rewrite* most web ui code in typescript
i wanted to split up the web ui components into multiple files, and
figured it'd be a good chance to try out typescript. run make typescript
to compile everything in ts/ and put it in data/static/.

This is less of a rewrite and more of a refactoring, most of it still
works the same but bits have been cleaned up too.

Remaining javascript found in setup.js and form.html
2020-09-21 22:06:27 +01:00
Harvey Tindall 258656fbf9
version based on current tag for makefile
if there isnt a tag, version is 'git'. this fixes versioning for aur package and docker.
2020-09-15 12:12:51 +01:00
Harvey Tindall 9850545f1b
add version to default config file 2020-09-05 17:32:13 +01:00
Harvey Tindall 17994352b1
Disable cgo and add compress step to makefile 2020-09-02 20:06:02 +01:00
Harvey Tindall 1b0ca34586
include version and commit hash at compile time
when using makefile, version is set to "git". Currently  printed on
start, but an about page in the web UI will be added.
2020-08-31 14:57:42 +01:00
Harvey Tindall c778837593
Added install step to makefile; start PKGBUILD
Also added MIT License
2020-08-19 12:10:34 +01:00
Harvey Tindall 8c4bd4541c
Added non interactive makefile option; fixed flags again
fixed another problem with the -data option, and added 'make headless'
for use in the dockerfile
2020-08-16 20:11:16 +01:00
Harvey Tindall 54af15cc5a
Added makefile
Alternative to goreleaser.
2020-08-03 18:00:54 +01:00