Commit Graph
100 Commits
Author SHA1 Message Date
Harvey TindallandHarvey Tindall 1707d011a2 attempt to use http2 server push 2021-01-15 13:48:18 +00:00
Harvey TindallandHarvey Tindall 5e8d7944bd add language selector to admin 2021-01-15 13:48:18 +00:00
Harvey TindallandHarvey Tindall 2d2727f7e8 separate options for form and admin language 2021-01-15 13:48:18 +00:00
Harvey TindallandHarvey Tindall c72282613d Use lang file in typescript 2021-01-15 13:48:18 +00:00
Harvey TindallandHarvey Tindall 4ac62a107c Start adding translation support for admin 2021-01-15 13:48:18 +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 3c799b8783 remove debug printfs 2021-01-11 19:19:19 +00:00
Harvey Tindall 3fbbc7f620 add language selector to form 2021-01-11 19:17:43 +00:00
Harvey Tindall 461efa7f60 oops 2021-01-11 16:10:04 +00:00
Harvey Tindall 1321f8df50 mention contributing.md 2021-01-11 16:09:30 +00:00
Harvey TindallandHarvey Tindall e532000ad0 Mention emby in README, add notices about password resets 2021-01-10 16:10:03 +00:00
Harvey TindallandHarvey Tindall 8d0dc232d7 option to substitute "Jellyfin" in form.html
setting is jellyfin/substitute_jellyfin_strings.
2021-01-10 16:10:03 +00:00
Harvey TindallandHarvey Tindall f5602f1e96 change settings description and console warning 2021-01-10 16:10:03 +00:00
Harvey TindallandHarvey Tindall d9e1e2f58b compiles, basic issues fixed
Server type is found under the Jellyfin settings tab, where you can
change it to emby. Currently:

* logs in
* creates users
* parses accounts
2021-01-10 16:10:03 +00:00
Harvey TindallandHarvey Tindall 5d56ed5378 fix most incompatibilites, start separating api clients 2021-01-10 16:10:03 +00:00
Harvey Tindall 4aae655180 live validation on form, change special character definition
The internal array of special characters was lacking, so a character is
now special when not a digit and (uppercase form) == (lowercase form).
2021-01-09 01:00:27 +00:00
Harvey Tindall 6860933498 functional continue button in form, hide empty contactMessage box 2021-01-09 00:07:19 +00:00
Harvey Tindall 0171fb8569 dont attempt to release PRs on buildrone 2021-01-08 23:52:36 +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 69bf81b658 change comment 2021-01-05 17:34:27 +00:00
Harvey Tindall 9125273036 Merge dependabot PR 2020-12-18 15:46:34 +00:00
Harvey Tindall ee6f81b9e9 Add ability to revert to non-hyphenated user IDs
The first 10.7.0 build i tried used hyphens, but a later one didn't.
emails.json can now be converted between the two forms depending on what
the server uses.
2020-12-18 15:44:19 +00:00
Harvey Tindall c79f86137e separate head into template, add description meta tag 2020-12-07 22:46:17 +00:00
Harvey Tindall 8ef27f7fda upgrade bootstrap and popper js
bootstrap css was on alpha 3 while js was on alpha 1 previously.
2020-12-05 22:36:03 +00:00
Harvey Tindall a1e30ff5db fix/improve parsing of last active dates
parseDT only uses the magic json.Unmarshal method if theres an error
with the better version. Error came from some times being sent without a
"Z" at the end denoting UTC.
2020-12-03 20:49:50 +00:00
Harvey Tindall 3c952d21f7 fix 10.7.0 compatibility, simplify scss
Hyphens are added to user IDs from 10.7.0, so if the server is running
it, emails.json will be modified to include them. The existing file is
backed up. Also, scss files have been simplified since bs4-jf and bs5-jf share
much of the same content.
2020-11-29 18:01:10 +00:00
Harvey Tindall 9dbf60e3df add URL base option for subfolder proxies
also cleaned up the naming of some things.
2020-11-22 16:36:43 +00:00
Harvey Tindall e35d0579c8 package upgrades 2020-11-15 17:20:19 +00:00
Harvey Tindall ea80d2cb78 upgrade to bs5-alpha3
still works fine, so no code changes needed.
2020-11-15 17:16:57 +00:00
Harvey Tindall f3c3b3ce76 use badges to denote admin users in accounts tab 2020-11-15 17:13:35 +00:00
Harvey Tindall fa96f21429 Fix smtp sending
there were a bunch of problems, namely using the jfa-go host address
instead of that of the smtp server in smtp.PlainAuth. For #15.
2020-11-14 15:33:25 +00:00
Harvey Tindall b6f3cd7c1f dont re-b64 the jwt
pointless, and messed up swagger auth.
2020-11-12 21:25:52 +00:00
Harvey Tindall d64e98da37 use Bearer auth instead of Basic
this was a relic from the python version, i'd modeled the auth code off
some random blog post back then.
2020-11-12 21:05:46 +00:00
Harvey Tindall ba601935b5 add "re-enter password" field on form
for #14.
2020-11-04 20:46:06 +00:00
Harvey Tindall 34135d645d credit for french translation 2020-11-04 10:56:35 +00:00
Harvey Tindall 47abf20e1d store emails even if password resets are disabled
there are other reasons to store email addresses now, so this is no
longer a just requirement.
2020-11-03 21:20:38 +00:00
Harvey Tindall 493f10fa36 add french, fix language selector in settings
note: custom language files can now be added in data/lang/form and will be
listed in settings.
2020-11-03 21:11:43 +00:00
Harvey Tindall 8e45ecb214 add cache_timeout option
controls how old the Jellyfin user cache can be before refetching. defaults to 30 minutes.
2020-11-02 23:26:46 +00:00
Harvey Tindall d4a92adc65 add rough error logging for read/write errors 2020-11-02 23:20:06 +00:00
Harvey Tindall c84ea17af4 refactor; separate jfapi and ombi into modules 2020-11-02 00:53:08 +00:00
Harvey Tindall 0f4e77364b remove hardcoded string from form.ts 2020-10-30 23:14:29 +00:00
Harvey Tindall d64d5c194f initial steps for localisation 2020-10-30 22:51:47 +00:00
Harvey Tindall 95c9f4f42d Apply email addres changes to ombi
for #11.
2020-10-30 21:13:13 +00:00
Harvey Tindall a89dc40ff2 delete ombi user when deleting jf user
also fix ombi defaults menu in ui. responds to #11.
2020-10-29 16:03:00 +00:00
Harvey Tindall 8089187b3e use bs5 alpha2, config description changes
alpha2's new close buttons are used, also fixed html_templates
settings being automatically filled in with an incorrect value.
2020-10-23 14:39:04 +01:00
Harvey Tindall 29775e2e75 make goreleaser include modules subdir 2020-10-22 18:13:11 +01:00
Harvey Tindall 9d62b70daa Fix esbuild and snapshot versioning in goreleaser
snapshots are now "jfa-go_git-<commit>..." instead of
"jfa-go_v0.0.0...".
2020-10-22 17:57:05 +01: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 2d6b1717db move all shared typescript to common.ts 2020-10-20 23:33:32 +01:00
Harvey Tindall 9abb177427 use typescript for form.html in separate file, allow customization of
requirement strings

Password requirement text is now loaded by the typescript, and can be
customized by changing the validationStrings variable. See wiki for more
info.
2020-10-20 23:00:30 +01:00
Harvey Tindall 2f9965bcda Print full error if writing config fails 2020-10-20 21:16:46 +01:00
Harvey Tindall 82d07e423c add optional path to custom web ui pages
'html_templates' in 'files' can be set to a directory, in which you can
place custom version of the web ui pages. Added for #9. Wiki explainer
to follow.
2020-10-18 21:48:20 +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 8672d7dc18 Separate email address and username for smtp
A username can now be set for SMTP. If not set, the send from address
will be used as before.
2020-10-11 22:32:51 +01:00
Harvey Tindall 5fd2e81fe4 install requests dep for upload.py
sorry for commit spam.
2020-10-08 21:48:15 +01:00
Harvey Tindall a12678bd4d upload tar.gz instead of zip 2020-10-08 21:37:44 +01:00
Harvey Tindall 0e415020f7 get swag in goreleaser.yml 2020-10-08 21:25:34 +01:00
Harvey Tindall a834aa30cf dont use esbuild.sh in goreleaser 2020-10-08 21:19:57 +01:00
Harvey Tindall e3644e8fbf fix indentation 2020-10-08 21:10:31 +01:00
Harvey Tindall 04198f3d49 initial buildrone integration
buildrone is a little build server thing i wrote. This change should
cause all new Drone builds to be uploaded to it.
2020-10-08 21:06:36 +01:00
Harvey Tindall 8f7a65bebb fix drone.yml build 2020-09-29 23:41:15 +01:00
Harvey Tindall 1ef37f91b2 modify readme 2020-09-29 23:36:28 +01:00
Harvey Tindall 64c5badddd more drone testing 2020-09-29 23:28:14 +01:00
Harvey Tindall 2e0519b183 drone testing 2020-09-29 23:22:29 +01:00
Harvey Tindall 9e739e79e7 initial drone ci setup 2020-09-29 23:10:07 +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 7628e5d71d Move api models to separate file 2020-09-27 21:03:37 +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 e104bd8362 small changes, new images and readme updated 2020-09-24 23:57:42 +01:00
Harvey Tindall 64ad8ccf6e Fix docker build; add some color 2020-09-24 21:59:08 +01:00
Harvey Tindall 313b75bead Add SWAGGER and DEBUG env variables
Should be useful for docker installations.
2020-09-24 21:05:23 +01:00
Harvey Tindall 9f6e405d1c Add auth and tags to swagger 2020-09-24 18:50:03 +01:00
Harvey Tindall 84fb69d440 add go.mod back 2020-09-24 17:55:09 +01:00
Harvey Tindall 62543cd0be remove generated documentation
can be regenerated by running 'make swagger' before 'make compile'.
depends on swaggo/swag.
2020-09-24 17:52:38 +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 544f5674e8 rename routes to make more sense
for example, /getInvite and /generateInvite become GET(/invites) and
    POST(/invites) respectively.
2020-09-24 14:03:25 +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 9bd7fca95e fix table sizing on bootstrap 4; fix profile application on single-use
invites

use table-sm and no form-check-input so profile menu looks normal on
bs4. Profile was being read after being marked as used on invites, so
single-use invites were deleted and no profile was applied.
2020-09-23 19:12:58 +01:00
Harvey Tindall 89e70f6f7a Add default profile functionality
Default profile can be selected in settings.
2020-09-23 18:48:00 +01:00
Harvey Tindall 6b25215768 apply settings even if section doesn't exist
in response to issue #7. Not sure why this wasn't the original
behaviour, nor how I hadn't noticed it earlier
2020-09-23 17:20:48 +01:00
Harvey Tindall 903a61d0f2 Profiles replace user templates
Profile functionality is essentially complete, and they can be created
in settings. Only thing currently missing is a way to set a default
profile.
2020-09-23 00:01:07 +01:00
Harvey Tindall 49ef3dfcf0 remove old settings button 2020-09-22 20:54:46 +01:00
Harvey Tindall 2ab9b48f4b Move settings menu to a tab
settings is now its own tab instead of a modal.
2020-09-22 20:46:48 +01:00
Harvey Tindall b6ceee508c Fix bug with invites in webui, add profile selector
invite codes starting with a digit don't work with the webui, so
GenerateInvite regenerates uuids until theres one that doesn't.
2020-09-22 00:34:11 +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 73886fc037 rewrite accounts.js in typescript
slight refactor too.
2020-09-20 14:48:17 +01:00
Harvey Tindall c4acb43cb8 Initial features for move to profiles
user templates will become profiles. You will be able to make multiple,
and assign them  to invites individually. This commit migrates the
separate template files into one profile entry called "Default", and
lets you select them on invites. No way to create profiles has been
added yet.
2020-09-20 11:21:04 +01:00
Harvey Tindall 49b056f1d6 fix notification buttons
their current status wouldn't display because of a slight mistake, and
they did the wrong thing because i forgot there isn't a nil value for
bools.
2020-09-19 17:05:09 +01:00
Harvey Tindall 70cf706a82 fix image links 2020-09-19 16:40:33 +01:00
Harvey Tindall 7c247b0aae update readme; new images 2020-09-19 16:38:53 +01:00
Harvey Tindall 4e8628844e fix decapitalized words
I have no idea how this happened.
2020-09-19 16:13:17 +01:00
Harvey Tindall 31aece5026 fix bs4 compatibility, small ui tweaks 2020-09-19 15:32:01 +01:00
Harvey Tindall 5ba40cd6f8 fix panic when jfa-go user has no email set with jellyfin_login 2020-09-19 09:09:30 +01:00
Harvey Tindall 456ca8592c omit source map url in compiled css 2020-09-18 22:21:16 +01:00
Harvey Tindall 35a0be6a2c Remove view settings button
i doubt there's much use for it.
2020-09-18 22:06:28 +01:00
Harvey Tindall 6b81358cd2 improve tab appearance 2020-09-18 21:57:36 +01:00
Harvey Tindall d4b94bc9d9 add user button
added create user button for the admin to use.
2020-09-18 00:59:59 +01:00
Harvey Tindall 9213f2a078 Add account deletion with email notification
Select users to delete, then optionally opt to notify the user in an
email with a provided reason.
2020-09-17 23:50:07 +01:00