Skip to content

Releases: hrfee/jfa-go

v0.5.1: Activity Log, Backups, Improvements, Fixes

26 Dec 19:25
46566fb
Compare
Choose a tag to compare

Meant to release this sooner to remedy a bunch of bugs in .5.0, but as usual got bogged down by uni.
Upgrade ASAP if you're still on 0.5.0, which has bugs that can lead to data loss.

I hope everyone is having a nice holiday period, and I hope you all join me in praying this release actually deserves the name "Stable".

Major

  • Activity Log: Logs all the significant stuff that occurs through jfa-go in the new "Activity" tab:
    • Account creation, deletion, enable/disable & expiry
    • Invite creation, deletion & expiry
    • Contact linking/unlinking
    • Password resets
    • and probably some other stuff.
    • Stores information about the source (User, admin, or daemon, and accompanying username), invite, referrer, date, etc.
    • Working pseudo-links to the appropriate resources (users, invites and activities)
    • Optional: Store the IP address of the actor. Legality depends on where you live so disabled by default. See note in Settings > Advanced. Thank you @kimboslice99! (0840931)
    • Searchable, filterable like the accounts tab.
    • Retention settings in Settings > Activity Log, set a number limit or age limit of stored activities.
    • Fulfils the initial goal of showing which referral and associated user someone made an account from.
    • (1be20d4)
  • Backups: Since 0.5.0 resulted in data loss for some admins and removed the ability to change data through the simple JSON storage files, backups of the database can now be made and applied.
    • Press the "Backups" button in settings to see a list of backups, download or upload them, apply them, or create a new one.
    • Visit the "Backups" section in settings to enable scheduled backups to run every $n$ minutes, and to set the number of backups to retain.
    • If you're locked out of jfa-go's web UI, you can use the jfa-go -restore <.bak file> command to manually restore a backup.
    • Wiki Page
    • (7f518f5)
  • Expiring/Time-limited Referrals:
    • By default, referral "invites" have a fixed expiry, at which point the user can get a new one by visiting the "My Account" page.
    • When enabling referrals for a user or profile, check the "Use expiry from profile/invite" to use the actual expiry time from the invite, and stop the user from getting a new referral after this time.
    • (a66c522)
  • Discord /inv: Adds a quick user invite command for admins. /inv user:<discord id> expiry:<minutes till expiration> user_label:<label to give user> profile:<source profile>. Thank you @VioletLeporid! (#299, #294)
  • Reverse proxy on "My Account": Not a big feature, but important as it meant the "My Account" page was unusable for many people. (5a2d3d2). Also fixed login tokens, so you shouldn't be logged out when refreshing. (543f23c)
  • Random userdata wipes: Now gone! Was caused by an issue with the daemon, any time jfa-go lost connection to Jellyfin, it assumed the error meant the user it checked didn't exist, and so wiped its data. Really sorry for this one. (c39a9e8)
  • Settings search: Added a searchbar to the settings tab. Only searches stuff in your config file, not in things like the user profiles page. (4924700)
    • Code is now shared with accounts search, which inherited some improvements.
  • Expiry improvements:
    • Added a "remove expiry" button on the accounts page (10c8d4a)
    • Allow "setting" an exact expiry rather than "extending" it. Select a user, click "Extend Expiry". Instead of using the months/days/etc. inputs, use the new "Set expiry" text input and type the exact day/time of expiry. (213b1e7)
  • Limit "My Account" password resets: In Settings > User page, you can enable/disable each way a user can identify their account when doing a Password Reset on the "My Account" page. Available options are "Username", "Email address" and "Contact Method username/ID". (1a68976)
  • HTTP/SOCKS5 Proxy: Configure in Settings > Advanced, route all jfa-go traffic through a HTTP or SOCKS5 proxy. (523902f)
  • Significant mobile improvements: The admin interfaces should all work significantly better on mobile now. (Lots of commits between 22nd-24th December)
  • Translations for the 0.5.0 features by many. Thank you!

Minor

  • Userpage layout: The userpage cards should now be laid out in the most compact form possible. Each permutation of ordering is tried by the page until it finds the shortest one. (d56d45a)
  • Fixed password resets through Jellyfin, in various ways. (290d02d, 83712a6)
  • Blank Login screen: Option to hide the admin page interface when at the login modal. Find it in Settings > General. (9956bbd)
  • Point lost users to "My Account": Enable Settings > User page > Show Link... to show a link to the "My Account" page on the admin login screen, so lost users can get where they need to be. (4f78b7c)
  • Jellyfin Authentication Retry: Configurable in Settings > Advanced, jfa-go will try to reconnect to Jellyfin 6 times, each 10 seconds apart, before crashing. Useful if Jellyfin starts up slow on boot. (f6fdd41)
  • Database debugging: Options in Settings > Advanced allow logging of all database reads/writes/wipes. Might be useful in future if any annoying bugs pop up. (742f5c0)
  • Password resets initiated on the Admin page should now also reset ombi passwords. The integration as a whole remains buggy, a new wiki page details a way to recover data if the database gets messed up by jfa-go. Apologies for this feature being a mess, I would appreciate help if anyone has experience. (cf94fdb)
  • Better SMTP support: The SMTP authentication type can now be set by the user, and the default is more sensible. Thank you @SquaredPotato! (#301)
  • Windows noTray: Just a windows build with no tray icon, good for using daemonization stuff like NSSM. (#53c9569)
  • A little cleanup of HTML/CSS and Typescript, and removal of some hand-written CSS classes.
  • Fixed appearance of invite expiration times longer than 1 year. (4f5d12f)
  • CAPTCHA now appears when resetting password through jfa-go. Whether this is actually necessary or not, I don't know. (278588c)
Changelog
  • ca87a3f Added translation using Weblate (Arabic)

  • a8d9c90 Added translation using Weblate (Arabic)

  • b0e0114 Added translation using Weblate (Czech)

  • 82411f1 Added translation using Weblate (Czech)

  • 04f354b Added translation using Weblate (Czech)

  • b1e38ba Added translation using Weblate (Czech)

  • 35a765a Added translation using Weblate (Czech)

  • 05df04b Added translation using Weblate (Hungarian)

  • 2ec3427 Added translation using Weblate (Hungarian)

  • 998b719 Added translation using Weblate (Hungarian)

  • 7bcc949 Added translation using Weblate (Italian)

  • 8edf712 Added translation using Weblate (Italian)

  • b75bd4d Crash on SSL cert/key error, describe issue in log

  • 04c94ba Log IPs

  • 0840931 Merge (optional) IP logging

  • 7db94dc Merge /inv command additions Merge branch 'main' of github.com:VioletLeporid/jfa-go

  • 3d0f756 Merge SMTP Auth Option from @SquaredPotato

  • 1be20d4 Merge activity log

  • 7f518f5 Merge backups

  • 70afc21 Merge branch 'hrfee:main' into main

  • 0037982 Merge branch 'main' into kimboslice99-main

  • e528f7c Merge latest changes

  • a288ba4 Merge remote-tracking branch 'origin/main' into activity-log

  • 4924700 Merge settings-search

  • 2a816b3 Translated using Weblate (Arabic)

  • bb9e94c Translated using Weblate (Arabic)

  • ddb9968 Translated using Weblate (Arabic)

  • 0dbe058 Translated using Weblate (Arabic)

  • 148c36c Translated using Weblate (Arabic)

  • f9a5e32 Translated using Weblate (Arabic)

  • 8f25e18 Translated using Weblate (Arabic)

  • 9ec54ec Translated using Weblate (Arabic)

  • 5d1917e Translated using Weblate (Arabic)

  • 448df6c Translated using Weblate (Arabic)

  • 41bd828 Translated using Weblate (Arabic)

  • a2af9ca Translated using Weblate (Chinese (Simplified))

  • 387fe08 Translated using Weblate (Chinese (Simplified))

  • 623934c Translated using Weblate (Chinese (Simplified))

  • 4073ebe Translated using Weblate (Chinese (Simplified))

  • ddc36ae Translated using Weblate (Chinese (Simplified))

  • e31d11e Translated using Weblate (Chinese (Traditional))

  • d7d7146 Translated using Weblate (Czech)

  • 7f60598 Translated using Weblate (Czech)

  • 9610b89 Translated using Weblate (Czech)

  • 943d523 Translated using Weblate (Czech)

  • 28d3219 Translated using Weblate (Czech)

  • 8f88b6a Translated using Weblate (Czech)

  • 4a2fc6d Translated using Weblate (Danish)

  • aa30f1c Translated using Weblate (Danish)

  • 1846e31 Translated using Weblate (Danish)

  • 8ae5dd9 Translated using Weblate (Dutch)

  • 2fd71ac Translated using Weblate (Dutch)

  • cf747c1 Translated using Weblate (Dutch)

  • 8d6ad7e Translated using Weblate (Dutch)

  • d6176d3 Translated using Weblate (French)

  • 638be18 Translated using Weblate (French)

  • 4aa095d Translated using Weblate (French)

  • edd3aeb Translated using Weblate (French)

  • 68e062f Translated using Weblate (French)

  • 3ff5e65 Translated using Weblate (German)

  • e2b975a Translated using Weblate (Hungarian)

  • 0728c8b Translated using Weblate (Hungarian)

  • b7bf1f8 Translated using Weblate (Hungarian)

  • 498f7bd Translated using Weblate (Hungarian)

  • ad3e6ad Translated using Weblate (Hungarian)

  • a4bb2de Translated using Weblate (Indonesian)

  • c006575 Translated using Weblate (Italian)

  • 71efae7 Translated using Weblate (Italian)

  • 3c45fcb Translated using Weblate (Italian)

  • 25b5ae3 Translated using Weblate (Italian)

  • 971007f Translated using Weblate (Italian)

  • cc226bf...

Read more

v0.5.0: "My Account", Referrals, Features, Fixes

08 Sep 18:13
084a62e
Compare
Choose a tag to compare

Almost 2 years since the last tagged release, so this one contains a lot. Hopefully debugged a bit better than 0.4.0.
If anything looks wrong on the page after updating, force refresh your browser (Ctrl-Shift-R/Cmd-Shift-R).

Major

  • "My Account" Page: Your users can visit their page to see/edit their contact details, their account expiry time, send referrals, and reset their password. See README for screenshots. (ef5d89f)
    • Can be customized with Markdown messages on the page and the login screen in settings.
  • Referrals: Special invite codes given to users (enabled per-user, or per-profile) to send to their friends/family. (463fe97)
    • User accesses the link via the user page
    • Referral "Templates" are generated from normal invites: Create one with your choice of settings (e.g. Limit to 5 uses), then create a template out of it on the accounts tab, or in the "User Profiles" page in settings.
  • Account Unlinking: Discord/Telegram/Matrix can be unlinked from accounts by clicking the cog icon. (775ebd3)
  • Discord "@" handles: The new "@username" format is now supported alongside the old "user#1234" format. (48403ce)
  • Search Filters: Click the "Filters" button on the accounts tab to see available filters. Clicking will add a filter to the search box, and position your cursor for typing if the filter you selected requires it (i.e. Match Text). (115f5ae)
    • Boolean Yes/No, String matching, and fuzzy Date comparison are available on all applicable table columns.
  • Account Sorting: Click on a column header on the accounts page (i.e. "Username") to sort the list by it, click again to reverse it. (115f5ae)
  • Database Migration: Instead of the mess of JSON files, Badger DB is used alongside Badgerhold to store data. Migration is done automatically, and the database is written in Go so no external dependencies are required. If something goes wrong, create a Github Issue.
  • Fixed Windows Logging: Was an issue for a long time, the cause has finally been found and fixed. (49c7d83)

Minor

  • UI Changes: Hanken Grotesk is now the main font, and lots of small adjustments have been made to the UI. Also, light mode has been fixed.
  • reCAPTCHA: The built-in CAPTCHA can be a little annoying, so Google reCAPTCHA can now be used instead. See the wiki page for info on how to set it up. (4014e93)
  • Require Unique: Options to require unique ID/address for Email, Discord, Telegram & Matrix.
  • Form auto-redirect: Option to redirect user to Jellyfin (or other given URL) on signup.
  • Errors are reported on the setup page when applying settings if any occur. (cebde9d)
  • Build Time & Identity (if provided, e.g. buildrone) included on about page
  • Various CSS z-index issues fixed.
  • Fixed CLI help output often not showing (456c99d)
  • Fixed Restarts (When applying settings or pressing the button) causing issues with password resets (ad40d7d)
  • Logs on the crash page now have color (73202e1)
  • Translations from many people, can't list them all here, but thank you everyone.

Small Fixes

  • Fix "Contact through" cog not showing up in some situations (ac25c9c), and other contact issues.
  • Fix success page after email confirmation having no CSS (895dcf5)
  • Various Updater fixes, should be more reliable now.
  • Lots more

Meta Stuff

  • Use latest version of Go, and many other dependencies (node stuff mostly, dependabot is annoying)
  • Added note type to config-base.json format: shown as an <aside> in the UI.
  • Added two scripts:
    • langmover: Moves things around in lang files using a template file for the target. This was needed for the user page, as many Admin strings were re-used.
    • account-gen: Generates bogus accounts on Jellyfin with varied attributes, useful for populating screenshots and testing things like performance.
Changelog
  • 775ebd3 Accounts: Unlink Telegram/Discord/Matrix through cog

  • daebfec Added translation using Weblate (Arabic)

  • 08c8534 Added translation using Weblate (Arabic)

  • e0cd4ed Added translation using Weblate (Chinese (Traditional))

  • 99e5245 Added translation using Weblate (Chinese (Traditional))

  • 9f3269b Added translation using Weblate (Chinese (Traditional))

  • 295343b Added translation using Weblate (Chinese (Traditional))

  • 540b8d7 Added translation using Weblate (Chinese (Traditional))

  • c37735f Added translation using Weblate (German (Low))

  • 165abc7 Added translation using Weblate (German (Low))

  • ef5a0c3 Added translation using Weblate (Hungarian)

  • 8cdf87d Added translation using Weblate (Italian)

  • 6490c67 Added translation using Weblate (Italian)

  • bb8c450 Added translation using Weblate (Polish)

  • 681038c Added translation using Weblate (Polish)

  • 3a8540a Added translation using Weblate (Polish)

  • 442bcf7 Added translation using Weblate (Polish)

  • 34df600 Added translation using Weblate (Polish)

  • d975766 Added translation using Weblate (Romanian)

  • 44bb1e6 Added translation using Weblate (Romanian)

  • 6f69f3b Added translation using Weblate (Romanian)

  • ef3fdb7 Added translation using Weblate (Slovenian)

  • 92fda34 Added translation using Weblate (Slovenian)

  • 0bf6c25 Added translation using Weblate (Slovenian)

  • 9eb30ff Added translation using Weblate (Slovenian)

  • 5d289ce Admin: auto enable contact when an email is added

  • e2e675e Fix Chinese translation errors

  • 2722e84 Invites: unique email/ID requirement

  • f1b7ef3 Makefile: GOESBUIILD changes

  • ef5d89f Merge "My Account"

  • 0946b3a Merge Database Migration

  • 463fe97 Merge Referrals

  • 115f5ae Merge accounts sort/filter

  • de6bc02 Merge branch 'main' of github.com:hrfee/jfa-go

  • 3d56b68 Merge pull request #234 from HackingHackers/main

  • 6cd846d Merge pull request #251 from aleksasiriski/patch-1

  • bedd2bb README changes

  • 504c755 README: Mention referrals

  • d800b97 README: add note about project status

  • ed4dcba README: new images, remove GIF

  • 2161d1a Translated using Weblate (Arabic)

  • 8760152 Translated using Weblate (Arabic)

  • 2dc234a Translated using Weblate (Arabic)

  • d6df3b9 Translated using Weblate (Chinese (Simplified))

  • 89b9f0a Translated using Weblate (Chinese (Simplified))

  • d1185d0 Translated using Weblate (Chinese (Simplified))

  • b1e8bc4 Translated using Weblate (Chinese (Simplified))

  • c1f7b66 Translated using Weblate (Chinese (Simplified))

  • 887f1f7 Translated using Weblate (Chinese (Simplified))

  • cb0d4e8 Translated using Weblate (Chinese (Traditional))

  • 35ed4e2 Translated using Weblate (Chinese (Traditional))

  • 5ee7bdc Translated using Weblate (Chinese (Traditional))

  • cb249b3 Translated using Weblate (Chinese (Traditional))

  • a5faf06 Translated using Weblate (Chinese (Traditional))

  • 90d4681 Translated using Weblate (Danish)

  • d13981b Translated using Weblate (Danish)

  • ce22863 Translated using Weblate (Danish)

  • 7826fdf Translated using Weblate (Dutch)

  • aa07ff1 Translated using Weblate (Dutch)

  • 85c9319 Translated using Weblate (Dutch)

  • 3fea051 Translated using Weblate (Dutch)

  • 5b7060c Translated using Weblate (English (United Kingdom))

  • 7b5f5ab Translated using Weblate (English (United Kingdom))

  • 7979030 Translated using Weblate (English (United Kingdom))

  • b531ec9 Translated using Weblate (English (United Kingdom))

  • bbcba00 Translated using Weblate (English (United Kingdom))

  • 0b5e93f Translated using Weblate (French)

  • cab099d Translated using Weblate (French)

  • 2e39a5e Translated using Weblate (French)

  • e81411c Translated using Weblate (German)

  • f8d98fb Translated using Weblate (German)

  • 531d4aa Translated using Weblate (German)

  • f874563 Translated using Weblate (German)

  • 6cdae16 Translated using Weblate (German)

  • 728152a Translated using Weblate (German)

  • 65a0c6c Translated using Weblate (German)

  • 36d0550 Translated using Weblate (German)

  • 92aee99 Translated using Weblate (German)

  • f35132e Translated using Weblate (German)

  • 8901480 Translated using Weblate (Hungarian)

  • 045f9ef Translated using Weblate (Indonesian)

  • abc1357 Translated using Weblate (Indonesian)

  • 89f11ab Translated using Weblate (Italian)

  • 311b64a Translated using Weblate (Italian)

  • 9c68a79 Translated using Weblate (Italian)

  • aeb8548 Translated using Weblate (Polish)

  • 2c31032 Translated using Weblate (Polish)

  • 4f5fe67 Translated using Weblate (Polish)

  • 37fa934 Translated using Weblate (Polish)

  • 1f0c641 Translated using Weblate (Polish)

  • 58e61e5 Translated using Weblate (Portuguese (Brazil))

  • 8032fa0 Translated using Weblate (Portuguese (Brazil))

  • b848faa Translated using Weblate (Portuguese (Brazil))

  • ea04f53 Translated using Weblate (Portuguese (Brazil))

  • aceb98b Translated using Weblate (Portuguese (Brazil))

  • 8c405b2 Translated using Weblate (Romanian)

  • 53ba09a Translated using Weblate (Romanian)

  • 048f4bd Translated using Weblate (Romanian)

  • d201644 Translated using Weblate (Slovenian)

  • 91f8979 Translated using Weblate (Slovenian)

  • 982dd00 Translated using Weblate (Slovenian)

  • 2d1a473 Translated using Weblate (Slovenian)

  • 47f7987 Translated using Weblate (Spanish)

  • 2cdef91 Translated using Weblate (Spanish)

  • 23223f3 Translated using Weblate (Spanish)

  • 6564df8 about: fix donation buttons in dark mode

  • ac25c9c accounts: Show "contact through" cog when only email is given"

  • f13c0d7 accounts: ability to sort by columns

  • baf5e6a accounts: add dropdown arrow on "Announce" button

  • 6ddd09f accounts: add header to "actions" and "search options"

  • bc4015a accoun...

Read more

v0.4.0: CAPTCHA, / commands, UI, Bug fixes

30 Jan 17:40
c6fc576
Compare
Choose a tag to compare

0.4.0: CAPTCHAs, Slash commands, UI, Bug fixes, more

Sorry for such a delay on this, I started University and took a bit of a break. There's been quite a few big changes, and a ton of smaller bug fixes.

NOTES:

  • There are some breaking changes in this release, notably the removal of Ombi Profiles and Discord changes. Make sure to give this a decent read.
  • If you experience any broken CSS after updating, try a hard refresh (Ctrl-Shift-R) or clearing your browser cache.

Major:

  • CAPTCHAs: Enable in Settings > Captcha to require the user to complete a simple CAPTCHA on sign-up. (d9f8785)
    • The library used sometimes gives false negatives (the user is correct but it says invalid), so they can request a new one by pressing the refresh button on the sign-up form.
  • Ombi Profiles removed (kinda): These have been merged with User Profiles. You'll need to add an Ombi to profiles in Settings > User profiles for Ombi integration to work again. (4da1c8c)
  • UI Changes: A new version of the UI toolkit required a move to Tailwind CSS, and so the appearance has changed a little bit.
    • Most notably, the colors have changed in some places
    • Buttons and padding might look a little different
    • The light/dark mode toggle is now in the top left, with the language selector
  • jfa-go Discord server: We now have a Discord server for announcements, bug reports, feature requests and more. Check jfa-go.com for an invite link.
  • Easier log access: Press the "Logs" button in Settings to get the last 100 log lines. (51b59ae)
  • Multiple jfa-go users: If Jellyfin login is enabled, you can check "Access jfa-go" next to the user in the accounts tab to give them access to jfa-go. (6448a7d)

Discord/Matrix/Telegram Bots:

  • Slash commands: Commands are now prefixed with / instead of !, and the use of the new API means commands can autocomplete in Discord, commands are not visible to others, and that the Discord linking process can happen without any DMs. (15e5564)
    • You'll need to change some permissions for your bot and re-add it to your server, re-following the setup guide from step 6 onwards.
    • The original ! interface is still available for now, but will likely be removed soon.
  • Assign Discord role on sign-up: Choose a role in Settings > Discord, and it will be assigned to the user when they sign up. (32af107)
  • Connect Discord/Telegram to Ombi: If the ombi integration is enabled, a user's Discord and Telegram accounts will be added to their Ombi account so it can send notifications. (fafb524)
  • Fix default language selection for bots. (25a1ca5)

Invites:

  • The "Send to" feature now allows sending invites to Discord/Matrix/Telegram users. (e7ca335)

Accounts:

  • Add "Send Password Reset" button (eeb9b07)
  • Add "Set expiry" button to give existing users an expiry, or to re-enable expired users with a new one. (0bf8cd6)
  • You can now add a label to user's names by pressing the pen icon next to their name. (4024334)
  • Both true/false and yes/no can be used for admin: query in search (c988239)

Sign-up form:

  • You can now choose to hide the "Link xx" buttons for Discord/Telegram/Matrix in Settings. (73c7f22)
  • You can now require an email address on sign-up in Settings > Email. (0fd4f51)
  • Added advanced setting to change the successful signup redirect URL in Settings > General. (e6cc7fc)
  • If you require Discord/Telegram/Matrix on sign-up, (Required) will appear next to it. (dbefb80)
  • More reliable disabling of the "Create Account" button. (dbefb80)

Other:

  • API Docs: An online version of the swagger docs is now available at api.jfa-go.com.
  • Various improvements for mobile screens. (from @LubricantJam) (42dbc04, and PR #191)
  • Various translations from users
  • Add advanced option to set the hostname send in the SMTP HELLO message. Might fix some peoples issues. (d560df5)
  • Add advanced option to skip SSL certificate checking for the SMTP server. (from @SquaredPotato) (2de7182)
  • Fix bug where plaintext emails would always be sent. (issue #164) (36f3860)
  • Add delay when modifying a lot of users. Modifying lots in rapid succession would crash and mess up Jellyfin's DB. (94e3c13)
  • Fixed generating a systemd .service with jfa-go systemd. (07de4e5)
  • Improved handling of different Mailgun API URL formats. (d19f7d6)
  • Only the "Contact via" radios that you have enabled will show on the Sign-up form after a user has linked their account. (25451eb)
  • Show a pointer rather than a text select cursor on the modal close button. (from @KeyboardDabbler) (7daf216)
Changelog
  • b723631 Actually use correct variable, actually use variable correctly and added a loadConfig entry

  • 556c31d Add checkbox that allows invalid SMTP certificates to be used.

  • 82c8ef1 Added better mobile support for sign-up form.

  • 6440f57 Fixed Tailwind compiling issues.

  • 93b1e9c Fixed dark text on dark mode.

  • 0d4747e Merge branch 'main' of github.com:hrfee/jfa-go

  • 2de7182 Merge from SquaredPotato/smtp-certificate-validation

  • 42dbc04 Merge pull request #189 from LubricantJam/main

  • e814af1 Merge pull request #191 from LubricantJam/main

  • a003921 Merge pull request #194 from KeyboardDabbler/main

  • 4da1c8c Ombi: Integrate with profiles, Retire user defaults

  • dec8d75 Optimised modals for mobile.

  • f486f8d Removed deprecated code.

  • 36f3860 SMTP: Always use plaintext as main body

  • 7ecf1bc Translated using Weblate (Danish)

  • 053ee82 Translated using Weblate (Danish)

  • 3c278bc Translated using Weblate (Danish)

  • 5074f4d Translated using Weblate (Danish)

  • 0221d29 Translated using Weblate (Danish)

  • 22feec4 Translated using Weblate (Danish)

  • 4b59876 Translated using Weblate (Danish)

  • 4f05fa9 Translated using Weblate (Danish)

  • 91c8ce8 Translated using Weblate (Dutch)

  • bd9f425 Translated using Weblate (Dutch)

  • 947da02 Translated using Weblate (Dutch)

  • af563aa Translated using Weblate (French)

  • a37cdf4 Translated using Weblate (French)

  • 9ae1616 Translated using Weblate (French)

  • fd10b26 Translated using Weblate (Spanish)

  • 6be5d6c Translated using Weblate (Spanish)

  • c1d984b Translated using Weblate (Spanish)

  • cd2c370 Translated using Weblate (Spanish)

  • d8c9ae4 Translated using Weblate (Spanish)

  • edfd295 Translated using Weblate (Spanish)

  • a35ca76 Translated using Weblate (Spanish)

  • c59ea20 Translated using Weblate (Spanish)

  • 1384091 Translated using Weblate (Spanish)

  • 84429a3 Translated using Weblate (Spanish)

  • 889d68d Updated Tailwind version.

  • 94e3c13 Users: Add delay when modifying >100 users

  • 4024334 accounts: add ability to label users

  • 6448a7d accounts: allow giving individual users jfa-go access

  • c988239 accounts: allow yes/no in search

  • 360c25d accounts: hide "Send PWR" when link resets disabled

  • fafb524 accounts: link ombi/discord when adding

  • 987e0dd accounts: show "Set expiry" button for non-disabled users

  • baffa4a add NOTEMPLATE env var to missing-colors.js

  • a31f174 add dark variants to ts

  • 942792c add discord link to site

  • 6852549 add discord link; new thumbnail variant

  • 0bf8cd6 add option to set new expiry for when re-enabling users

  • 3294b27 add replaceAll polyfill

  • f3e1606 add sponsors to readme

  • 7e38ee0 add translation from Weblate (Hungarian)

  • b9574e2 add translation from Weblate (Hungarian)

  • 09b96e5 add translation from Weblate (Vietnamese)

  • eeb9b07 admin: add manual "Send Password reset" to accounts tab

  • aedea1b admin: move theme icon to top left; add icon

  • 277690e allow for defining custom dark: variants, ignore querySelector, shrink margins

  • f78fa28 announcements: fix preview window

  • 4fcba32 apidocs: re-version, set up for hosted ui

  • 25a1ca5 bots: fix language selection

  • b929e16 build: apply cssVersion for all ldflags

  • be1d081 build: fix css bundling bug with new esbuild

  • 07de4e5 build: include systemd service

  • cf91ee6 change invite color in light mode

  • 7daf216 checkbox, edit email and captcha refresh

  • 32af107 discord: add role to user on signup

  • 15e5564 discord: add/move to slash commands

  • 8fd0978 discord: send in-channel reply to !start

  • 0fd4f51 email: Add option to require on sign-up

  • ebb49fc fix FAQ link in bug report template

  • 2d3a5c7 fix about page

  • 4eb7afe fix banner in about

  • 1ebc648 fix broken go template if statements

  • 3dbb993 fix button layout on accounts tab

  • 4deb45d fix code text color in dark mode

  • f7f3530 fix crash page

  • e66241d fix crash page css when using goreleaser

  • 3b0701e fix dark mode script

  • 7b97e1c fix discord/telegram linking with ombi

  • 7e0e0b0 fix form layout

  • 0f0355f fix inline

  • 26d9864 fix layout on remaining html

  • 0e1cbd7 fix m-half in ts

  • 508168b fix more oddities

  • 8bee09c fix settings button highlight

  • deb117f fix setup layout

  • e73ecb7 fix some padding issues

  • dd5eecf fix textareas

  • 8758d74 fix titles for some pages

  • a8ce35c fixed height on table rows

  • d9f8785 form: add CAPTCHAs

  • 4b02960 form: add captcha regen button

  • e6cc7fc form: add setting for changing redirect url

  • 1c94218 form: fix captcha

  • 62cbbf5 form: fix mono text in discord linking modal

  • dbefb80 form: reliably disable submit button, communicate if account linking is required

  • 25451eb form: show radios for only linked contact methods

  • d8b1f03 form: substitute Jellyfin on success messages

  • e7ca335 invites: allow notification by discord/telegram/matrix

  • a3a22d3 lang: make loadLangSelector respect existing params

  • 9fff578 lowercase lang

  • cd08259 ...

Read more

v0.3.9: bug fixes

03 Oct 16:14
0fe72b4
Compare
Choose a tag to compare

Bug fixes for the disaster that was 0.3.8, and a couple translations:

  • Include error in txt log, Fix failed email migration (1bfec54)
  • Fix last log line (usually the actual error) occasionally not printing (fbe3553)
  • Fix JWT on email confirmation, auto-append /invite (e67b2e9)
  • Fix crash when not using -debug (a220ba8)
  • Spanish (@xarmadigi / @therhenals), and Simplified Chinese (@XCQi)
Changelog

15e1766 Added translation using Weblate (Spanish)

a1d93cd Translated using Weblate (Spanish)

53ac01e Translated using Weblate (Spanish)

be4e83d Translated using Weblate (Spanish)

1e58a33 Translated using Weblate (Spanish)

548dced don't give smtp plainauth if no username & password

a220ba8 fix NewEmptyLogger

fbe3553 fix missing last log line

e67b2e9 invite: auto-append /invite if missing to url_base

412fe31 invite: fix email confirmation jwt

0fe72b4 lowercase lang

b29c24a merge lang

1bfec54 print error and include in txt log on crash; fix email migration

6c6af62 translation from Weblate (Chinese (Simplified))

f727e2c translation from Weblate (Spanish)

4cea755 translation from Weblate (Spanish)

v0.3.8: Announcement templates, small stuff

22 Aug 14:17
5b319d6
Compare
Choose a tag to compare

Mostly bug fixes and small improvements.

Features:

  • Templates can now be saved for announcement emails (3e55cd1)
    • Save them by pressing "Save as Template" in the announcement window
    • Can be accessed by hovering over the "Announce" button
  • {username} variable added to Announcements (b10b558)
  • Very experimental end-to-end encryption for matrix available at compile time (504b602)
    • Not included in binaries, must be compiled with make all E2EE=on and enabled in advanced settings
    • Receiving messages not working so !lang won't work
    • Often just breaks

Small Improvements:

  • Moved docs, translation to jfa-go.com
  • Disabled custom emails can now be re-enabled without first editing them (9885c25)
  • Redundant URL base setting added to Settings > Password Resets (9693ce3)
    • Previously taken from Invite Emails > URL Base, which was hidden when invite emails were disabled
    • If only one of the two settings is set, it will be used for both.
  • Jellyfin URL should now be censored in the crash log web page (2be34ed)
  • Emails are now referred to as messages during setup (729fc7b)
    • Chatbot settings are not included but are mentioned.
  • Automatically add http:// for Jellyfin URL (788afa1)
  • You can now add your own email HTML for Announcements and custom messages (4d3acb2)
  • File, line number and stack now included in crash report (a869acd)
  • More descriptive errors now given when Jellyfin connection test fails during setup (27ad7a4)
    • The "Next" button is now disabled until the connection succeeds

Translations:

Fixes:

  • Trim /invite correctly from URL in Settings > Invite Emails for use in Password Resets (d4096d0)
  • Fixed broken log-in with new version of the JWT library (626d623)
  • Fix broken external files due to change to go's os.DirFS (7f37633)
  • Show cog for changing message channels when a user's name is stored for a chatbot which is disabled (6b4d4da)
  • Respect -p/-port and -host during the setup process
  • Fixed jfa-go systemd and improved layout (67c60cb)
  • MkdirAll the config dir to avoid crash when ~/.config doesn't exist (6e88c1f)
  • Fix crash logs not appearing and the restart button in settings not working on TrayIcon builds (eb3489b)
Changelog

ff69d0b Added translation using Weblate (Chinese (Simplified))

9e3fa0e Added translation using Weblate (Chinese (Simplified))

b0ffa45 Added translation using Weblate (Chinese (Simplified))

5e651d7 Added translation using Weblate (Chinese (Simplified))

cf25472 Added translation using Weblate (Chinese (Simplified))

574ca47 Added translation using Weblate (Danish)

05bc385 Added translation using Weblate (Danish)

8ba393e Added translation using Weblate (Danish)

af4dcd1 Added translation using Weblate (Danish)

a8ce689 Added translation using Weblate (Danish)

b60be0d Added translation using Weblate (Dutch)

86559d5 Added translation using Weblate (French)

9b9f34a Added translation using Weblate (French)

c4378d1 Added translation using Weblate (Persian)

6b9fa7b Added translation using Weblate (Persian)

792846f Added translation using Weblate (Persian)

504b602 Merge pull request #127 from hrfee/mautrix

729fc7b Setup: add messages, set password via link

504d3e3 Translated using Weblate (Chinese (Simplified))

54b8e30 Translated using Weblate (Chinese (Simplified))

f6834ee Translated using Weblate (Chinese (Simplified))

a0871e7 Translated using Weblate (Chinese (Simplified))

4e2dce7 Translated using Weblate (Chinese (Simplified))

d6669bf Translated using Weblate (Danish)

a99ee04 Translated using Weblate (Danish)

6d70a5b Translated using Weblate (Danish)

3ca2315 Translated using Weblate (Danish)

d4bcf22 Translated using Weblate (Danish)

6b01e0d Translated using Weblate (Danish)

3950455 Translated using Weblate (Danish)

2de1570 Translated using Weblate (Danish)

5176895 Translated using Weblate (Dutch)

cf2bd6c Translated using Weblate (Dutch)

4db5d96 Translated using Weblate (French)

76c1973 Translated using Weblate (French)

fea368a Translated using Weblate (French)

f8f0715 Translated using Weblate (Persian)

ae4d47a Translated using Weblate (Persian)

e27e08b Translated using Weblate (Persian)

8d53ddc Translated using Weblate (Portuguese (Brazil))

3e55cd1 accounts: add templates for announcements

6b4d4da accounts: show cog when user known for disabled chatbot

2d83e9f add inline to Dockerfile

b8d9d22 add landing page for jfa-go.com; move wiki

5961bc6 add translation from Weblate (Chinese (Simplified))

bcd1011 add translation from Weblate (Chinese (Simplified))

cda90f2 add translation from Weblate (Danish)

0957dd5 add translation from Weblate (Danish)

bdebd97 add translation from Weblate (Persian)

b10b558 announcements: add {username}

f763cfb announcements: fix [] on {{ .username }}

25a8d38 announcements: {{ .username }}

626d623 auth: don't store jwt expiry as string

6ca3ab8 bump mb to 0.3.5

fc0e86f change wiki mentions to new location

788afa1 config: automatically add http://

1336a87 drone: use custom container for pr builds

9885c25 email: cleanup; allow re-enabling of custom email without changes

db526fc exit: improve line number, include stack

a869acd exit: include file/line with error

67c60cb fix 'jfa-go systemd' layout

7f37633 fix external fs

872c366 go mod tidy

306ede4 log: move accidental log message

48332a4 lowercase lang

0834329 lowercase lang

762d532 matrix: E2EE as build option

833d02b matrix: end-to-end encryption by default

aa2891f matrix: fix instant crash with e2ee

8ec4031 matrix: refactor crypto sections

f04411e matrix: remove crypto dep in main file

30198fa matrix: switch to mautrix-go

4c10996 matrix: ugly hack to fix encryption after restarts

7a343bb merge lang

2266bbc merge translations

d4096d0 pwr: trim suffix, not prefix for links

2be34ed quote jellyfin URL for censoring in logs

9693ce3 settings: add redundant URL base for pwr

4d3acb2 settings: include custom email template setting

6e88c1f setup: MkdirAll config dir if necessary

27ad7a4 setup: add descriptive "test connection" messages; disable next button

6551eeb setup: also respect -host

36c23c1 setup: respect -p/-port

35f0fea site: add explanation of release channels

a95d8bf site: add syntax highlighting for code

84d5bc8 site: fix dev dependency

fbb9f20 site: fix docker; modal with 'make all'

d5a33cf site: fix uncss in make all

c35fdc2 site: remove reference to 404 & favicon

40ec5b9 site: update vulnerable build deps

7e32c8c translation from Weblate (Chinese (Simplified))

b31506d translation from Weblate (Chinese (Simplified))

7e8e242 translation from Weblate (Danish)

94b2886 translation from Weblate (Danish)

753e233 translation from Weblate (Danish)

9141143 translation from Weblate (Danish)

119bed7 translation from Weblate (Danish)

c20dc24 translation from Weblate (Dutch)

1f8bc02 translation from Weblate (French)

f2240eb translation from Weblate (French)

b32271e translation from Weblate (Persian)

08f3675 translation from Weblate (Portuguese (Brazil))

a444e53 translation from Weblate (Portuguese (Brazil))

eb3489b tray: fix crashlogs, restart from web

756e734 tray: remove systray dep in non-tray builds

5aaab79 update contributing

b682685 update weblate link

1a6b0d2 upgrade vulnerable deps

v0.3.7: Matrix, PWR, Crashes

20 Jun 18:46
Compare
Choose a tag to compare

Decent amount of features here, might be a little unstable.

Features:

  • Matrix bot: (6fb8f1e)
    • To bypass the End-to-end encryption by default in element.io, the user gives their username on the signup page and the bot creates a room with them. They then enter the PIN sent to them on the sign-up page.
    • Does everything the other bots do
    • Users can be connected on the admin page by typing their matrix ID only, no verification necessary
    • Uses a normal matrix user account
      • A log-in wizard available by pressing the "+" next to Matrix in settings (only shows if matrix is disabled)
      • Enter username and password, and an access token is generated and stored
      • Bot instructions here
    • Supports Markdown (better than Discord does, at least)
  • Set password via magic link: (0a71d5b)
    • The user isn't given the PIN directly, instead prompting for a new password in jfa-go
      • Allows for a more streamlined PWR experience
      • Allows admin to enforce password requirements
      • Enable in Settings > Password Resets (Magic links must be enabled too).
  • Crash handler:
    • A webpage opens automatically with the culprit error and the last 100 log lines, and a link to open an issue.
      • jfa-go attempts to provide a sanitized (personal info removed) version, but it may not always work.
    • A dump of the last 100 log lines is saved in /tmp/jfa-go-crash-<date>.txt (or equivalent path)
  • Always log to /tmp/jfa-go.log (or equivalent path) on Tray builds (62c29d5)
    • Necessary on Windows as there is no way to see the terminal output
    • Button to open logs available when right-clicking tray icon (7035a3f)
  • Translations from @LeviSnoot, @maltechx, @rigrig & @ClankJake

Fixes:

  • No longer crashes if jfa-go is restarted during setup, no need to delete ~/.config/jfa-go (e49996c)
  • Fixed apt repo versioning for unstable releases (d7ab010)
    • Always v0.0.0, with epoch as the current commit count
  • Escape all characters reserved by Telegram for markdown (fb6256d)
  • (Hopefully) ignore visits from link crawlers (eg preview generator in telegram) for PWR magic links (953a66e)
Changelog

2112503 Add copy button to crash page

de81c7e Added translation using Weblate (Dutch)

cab30eb Added translation using Weblate (English (United Kingdom))

e0d994c Added translation using Weblate (German)

084e8ec Added translation using Weblate (Portuguese (Brazil))

fd7f746 Added translation using Weblate (Portuguese (Brazil))

f0f4e81 Generate crash report txt and webpage

62c29d5 Log output to TEMP/jfa-go.log when Tray enabled

a9b1101 Matrix: Add example images

375022b Matrix: Add token generation wizard

75fdf6e Matrix: Connect on accounts tab, customizable chat topic

9bd6aba Matrix: Fix user storage

89fb3fa Matrix: Notifications

e97b90d Matrix: Setup bot, add PIN verification

59ebf52 Matrix: Show matrix on accounts page

4e826f4 Matrix: Store user on sign-up

e7cb1f5 Mention wiki in Telegram/Discord/Matrix settings descriptions

6fb8f1e Merge pull request #112 from hrfee/matrix

19715f2 Move all migrations to separate file

0a71d5b PWR: Add option to set new password from magic link

561c461 PWR: TrimPrefix instead of Replace for PWR links

953a66e Password Resets: Ignore magic link visits from bots

e48bdcc README: change install section layout

e49996c Setup: Don't break if setup not completed, fix restart

b538922 Show log on log.Fatal calls, provide "sanitized" version, fix goreleaser

fb6256d Telegram: Escape all necessary characters

6d089a9 Translated using Weblate (Dutch)

19b7341 Translated using Weblate (Dutch)

aa40a72 Translated using Weblate (German)

73645a7 Translated using Weblate (German)

169622b Translated using Weblate (Portuguese (Brazil))

e35fe8d Translated using Weblate (Portuguese (Brazil))

78b5136 Translated using Weblate (Portuguese (Brazil))

a0af763 Translated using Weblate (Portuguese (Brazil))

b282811 Translated using Weblate (Swedish)

7035a3f Tray: Add button to open logs

2ad84db add inaccurate chglog

885d2eb admin: fix telegram/discord/matrix enabled varnames

93c7a6e apt: Change versioning to hopefully fix updates

d7ab010 apt: Use commit count to fix version comparisons

a9cabe3 apt: also remove jfa-go-tray

d6fd1d6 apt: remove last unstable before adding

555d5ab bump browserslist version

a83dbcf debian/ubuntu, not just debian

0b473ef don't put .debs on buildrone; link to instructions at top of README

93937ec drone: use pre-made image with dependencies

85536ff expand CONTRIBUTING, print if tray enabled on startup

087172c fix package naming to avoid conflicts

0014db4 form: module-ize password validator

a822963 mention matrix in readme

d41a281 mention tray icon in issue template

0a2cf61 merge matrix into local changes

71df011 merge translations

2f50169 merge translations

9950c15 move copy button to right, don't uncss when DEBUG=on

8fd919b remove chglog, add steps to upload to apt.hrfee.dev

0ea5c7f remove inline-css-cli build dep

e03525a separate codenames for stable & unstable

1dc0b22 switch to normal npm mirror in package-lock

fc57a8c translation from Weblate (Dutch)

1fb2ef5 translation from Weblate (Dutch)

a9dac8c translation from Weblate (German)

43fbbbc translation from Weblate (German)

6ed2f7a translation from Weblate (Portuguese (Brazil))

e546f50 translation from Weblate (Portuguese (Brazil))

50eb057 translation from Weblate (Swedish)

v0.3.6: tray icon, discord/telegram, packages

23 May 23:04
8b62c91
Compare
Choose a tag to compare

Pretty big one, I deem this worthy of 2 version bumps.

Features:

  • Tray Icon: Grab a release with TrayIcon in the name and jfa-go will run with a tray icon to start, stop and restart. You can also have it start when you log-in to your computer. Available for Windows & Linux. (8cf9b1f)
    • If you want to switch to the tray version, manually download this update. Tray and non-tray builds exist as tray support on Linux requires some dependencies, which themselves pull in most of GTK, which is pointless for headless servers.
    • For Linux users, install the libappindicator3-1/libappindicator-gtk3/libappindicator package for Debian/Ubuntu, Fedora, and Alpine respectively.
  • Debian/Ubuntu (deb), Fedora (rpm), Alpine (apk) releases: See below or on buildrone. A Debian repository is also now available, check the README for more info. (1d47b90)
  • Discord/Telegram bots:
    • Send notifications/messages by any combination of Email, Telegram and Discord. Set which per-user on the Accounts tab.
    • Verify your users by having them send a PIN code from the sign-up page to a bot
      • For Telegram, this is technically required for the bot to send message
      • For Discord, the user must be in the same server as the bot. You can optionally have a server invite generated and given to the user on the signup page.
    • Markdown supported
      • For Discord, links and images are converted to embeds, which appear at the bottom of the message. Have this in mind when writing messages.
    • Discord users can be linked to existing JF accounts by searching a list of server members, whereas Telegram users still have to enter a PIN.
    • Invites can be sent directly to Discord users in the accounts tab.
    • Telegram bot instructions
    • Discord bot instructions
  • Hard restarts for updates on Linux/macOS: For binaries, jfa-go will auto-restart once an update is installed.

QOL:

  • Fixed Accounts tab layout: On small screens, there were some line-wrapping issues that mean the "Admin" badge or the email address would be on another line. This has been fixed. (b3ce7ac)
  • More translations thanks to @ClankJake, @maltechx, @Tonomis, & @woosade.

Fixes:

  • Fixed "None yet!" not being displayed on invite dropdown (b91302d)
  • Disable custom SSL certs for SMTP, apparently this isn't supported on Windows (057f306)
Changelog

b3ce7ac Accounts: Always inline icons, only one settings cog

b8e3fc6 Accounts: Fix cog on telegram when no discord linked

519a561 Accounts: Fix email check on dropdown

e98c9b4 Accounts: no wrapping for contact dropdown

81a58f6 Add -H=windowsgui in goreleaser

564098b Added translation using Weblate (German)

ca7fb54 Bump lodash from 4.17.20 to 4.17.21

22bba92 Discord: Add !lang command

1f9af8d Discord: Add option to provide server invite

9fac79b Discord: Add users via accounts tab

0676b6c Discord: Display channel on account creation form

ce8cdce Discord: Fix GetUsers, add invite messages

44558b8 Discord: Remove extra newlines around links

d928df7 Discord: Start bot, add !start and pin validity check

86ef665 Discord: Try to avoid more race conditions

24fa841 Discord: Wait for non-nil pointer to bot data

b91f0b5 Discord: add images for bot creation instructions

591e3c5 Discord: embed images

168b217 Discord: fix user links

35d407a Discord: remove @ from username

3bf722c Discord: send links as embeds

7d698d6 Discord: split discord search into own module

e7d1693 Enable updater for Tray builds

e78b488 Fix updater for zip files

f419a57 Fixed loaded message, Tray by default

b91302d Invite: fix "none yet" message on users created

e011449 Mention Discord in README

8b62c91 Mention TrayIcon deps in README

fddb7b7 Mention telegram in readme

5a9bc1c Merge Discord branch

fe5cf69 Merge Telegram support

c560ec0 Merge branch 'main' into telegram

4d2a018 Merge pull request #98 from hrfee/dependabot/npm_and_yarn/lodash-4.17.21

f8f5f35 PIN verification, notifications, multiple notif providers

ea0293b Split some settings into new "messages" section

2d93b3b Telegram: Allow admin to add telegram contact

71554e0 Telegram: Change user's contact method in accounts

0f41d1e Telegram: Display username on accounts tab

478b40d Telegram: Escape exclamation marks, remove for images

716d6a9 Telegram: Send messages via telegram

36edd4a Telegram: Use markdown for custom emails/announcements

0efd7c5 Telegram: add language files

51f2f4c Telegram: close updates channel on restart

0f12586 Translated using Weblate (Dutch)

7beb3d9 Translated using Weblate (Dutch)

6f2bb7f Translated using Weblate (Dutch)

b1b50ce Translated using Weblate (French)

8e2bf48 Translated using Weblate (French)

ee8facd Translated using Weblate (French)

811657b Translated using Weblate (French)

2d9e3fb Translated using Weblate (German)

bf67e27 Translated using Weblate (German)

b47cb91 Translated using Weblate (German)

23800bb Translated using Weblate (German)

beb0712 Translated using Weblate (Portuguese (Brazil))

1a42d82 Translated using Weblate (Portuguese (Brazil))

a081b14 Translated using Weblate (Spanish)

bf94f76 Translated using Weblate (Spanish)

5dee414 add "autostart on login" option to tray

8cf9b1f add basic tray functionality

a644716 add email notify enable/disable; remove (de)hyphening

d0905a2 add example bot creation for wiki

30736a0 add example bot settings for wiki

c373d8b add final oauth tab image

0e21942 add hard restart for updates on *nix

e931c09 add message when web ui is loaded

d7e8ec9 add missing perms, fix order

8698c3c add oauth2 section to bot instructions

0edd2ba add settings image for bot setup

99875b9 almost complete telegram user verification

1d47b90 change notray/tray naming, add deb/rpm/apk

5167fde change tar.gz to zip in drone

33f8070 cleanup; fix stripping with DEBUG=on

76bbb3f consistent naming for tray builds

a62648e fix cross compilation in goreleaser/drone

0f3ad8b fix generate_ini for multiline descriptions

524941d fix heading size with sm

057f306 hide/ignore ssl_cert when on windows

b64bcc9 include telegram verif in images

035dbde last image

901ad75 mention wiki in telegram settings description

6bf1920 merge dependabot bump

8b816dc merge translations

2816c62 modal: add onopen/onclose

326c2cf modal: use arrow function to avoid 'this' naming collision

18bcd55 remove debug println

4b11bbe remove leaked telegram token

72bf280 telegram: Fix UI and store useful Telegram info

a6aa89e translation from Weblate (Dutch)

ac239a3 translation from Weblate (Dutch)

315b5fd translation from Weblate (Dutch)

613d4cd translation from Weblate (French)

95936f7 translation from Weblate (French)

ef97e0a translation from Weblate (French)

6ec5022 translation from Weblate (French)

3427c97 translation from Weblate (German)

81e69a7 translation from Weblate (German)

ec65917 translation from Weblate (Portuguese (Brazil))

b14f10d translation from Weblate (Portuguese (Brazil))

ac842e6 translation from Weblate (Portuguese (Brazil))

e416acf translation from Weblate (Spanish)

v0.3.4: if statements, ombi pw resets, fixes

03 May 18:29
b2b5083
Compare
Choose a tag to compare

Features:

  • User expiry added to welcome emails (7a3e0d6)
  • If statements/Conditionals for email templates: {if condition} show this text {endif}, {if !condition} show this instead {endif}. Very basic with no else but negation with ! works. This is currently only available for the account expiry date on the welcome email. (8fdab39)
  • Add months option for invites (d701c5f)
  • Spanish added thanks to @andremxmx
  • Users can now be enabled/disabled in the accounts tab, with optional explanation emails. (55e21f8)
  • Ombi password resets: Only available when using reset links (Settings > Password Reset), sets both the Ombi & Jellyfin password to the reset PIN. (af61549)

QOL:

  • Email preview added for announcements. (c0f316d)
  • Language preference is now stored as a cookie. (a8f71c8)
  • Fallback languages properly implemented/fixed: (3273607)
    • a preferred fallback language can be specified for translations in "meta": { "fallback": "lang-code" }. This might be useful for variations/dialects of languages.
  • Added jfa-go systemd command, which generates a systemd .service file for you. (886ae64)
  • Added shorthand flags for -config/-c, -data/-d, -port/-p. (a2c344d)
  • Added reset links to setup (43effd0)

Fixes:

  • Fixed updater for binaries: Previously kept the connection and tar.gz file open until the user pressed update, which was dumb and resulted in failed updates.
  • Fixed invite email using the title for confirmation emails. (59a014f)
  • Fix broken server URL in welcome email. (488c2f5)
  • Fix non-functional path parameters in swagger (5d8f139)
  • Fix race condition when sending invite expiry emails (5d8f139)
Changelog

bc466d0 Added translation using Weblate (Spanish)

9da0f89 Added translation using Weblate (Spanish)

6129305 Added translation using Weblate (Spanish)

94067a1 Added translation using Weblate (Spanish)

90a2c1f Fix email editor for other email types

22a0d89 Remove unused typescript, update config readme

ab94de2 Translated using Weblate (Dutch)

bdc0c0f Translated using Weblate (Dutch)

83449f3 Translated using Weblate (French)

0c09f3b Translated using Weblate (Greek)

7165eb1 Translated using Weblate (Portuguese (Brazil))

dafb439 Translated using Weblate (Portuguese (Brazil))

f8d4f79 Translated using Weblate (Spanish)

57b10dd Translated using Weblate (Spanish)

fac951c Translated using Weblate (Spanish)

44dc315 Translated using Weblate (Spanish)

adbb74f Translated using Weblate (Spanish)

c5e4c5d Translated using Weblate (Spanish)

cf99ae8 Translated using Weblate (Spanish)

8e86078 Translated using Weblate (Spanish)

b03a185 Translated using Weblate (Spanish)

55e21f8 accounts: add user enable/disable & emails

886ae64 add "systemd" command to generate a .service file

382a0f4 add donate button to about

f7d2771 add email templater with basic if statements

7a3e0d6 add expiry to welcome email, add dummy emailer for debugging

d701c5f add months field to invites & expiry

c0f316d add preview to Announcements

43effd0 add reset link option to setup

a2c344d add shorthand flag names

3e9da3b add translation from Weblate (Spanish)

4104cb3 add translation from Weblate (Spanish)

2c6d083 add typechecking step to Makefile when DEBUG=on

488c2f5 fix broken url in welcome email

b2b5083 fix checkCheckCount on accounts reload

570e3a1 fix en-es name and filename

5d8f139 fix race condition; rename route functions; fix swagger params

59a014f fix title for invite emails

3dc0df0 fix user expiry when only month field set

87ef71b lowercase lang

d772e43 merge language changes

af61549 ombi: reset password when using pwr links

9944cc2 refactor; move logger to module

a8f71c8 store language preference as cookie

c00f5f4 translation from Weblate (Dutch)

30a529b translation from Weblate (Dutch)

d4d7219 translation from Weblate (Dutch)

2a9fc8c translation from Weblate (French)

269d67f translation from Weblate (Greek)

e450587 translation from Weblate (Portuguese (Brazil))

e8b1cca translation from Weblate (Portuguese (Brazil))

a4820de translation from Weblate (Portuguese (Brazil))

223b4df translation from Weblate (Spanish)

beea903 translation from Weblate (Spanish)

c959e2c translation from Weblate (Spanish)

a9bde40 translation from Weblate (Spanish)

3273607 translation: add fallback option to langMeta

2687af3 updater: immediately store executable

8fdab39 use templateEmail and show conditionals in editor

v0.3.3: Proper time handling, bug fixes

07 Apr 17:04
d51a6ab
Compare
Choose a tag to compare

This one isn't super big but includes some pretty important bug fixes.

Features:

  • Link-only password resets: Instead of the user having to enter a code, a magic link is sent which will reset the password once clicked. The password reset PIN input sometimes seems broken on Jellyfin (at least for me) so this is kind of a workaround.
  • Proper time handling in the web UI: Times displayed on the invites & accounts tab now match the language you're using (e.g MM/DD/YY for en-US and DD/MM/YY for everywhere else). 12/24 hour time can also be toggled in the language menu in the top left.
    • en-gb also added so you can get DD/MM/YY HH:MM. Otherwise it's identical to en-us.

Fixes:

  • Fix missing "Last Active" time on newer versions of Jellyfin (#69)
    • Time parser was rewritten so it should handle a lot more formats automatically now.
  • Fix bug where user expiry would change/disappear after a restart (#77)
  • Add missing attributes that weren't being stored in profiles (#76)

Other:

  • Massively cleaned up build files
Changelog

7196361 (hopefully) get proper locale from browser

fcadabd Fix docker link in README.md

fc6b6a9 Fix time parser for "ZZ" prefix

bf98c74 Merge pull request #75 from Toucan-Sam/patch-1

679cac4 Translated using Weblate (Dutch)

3d93d79 Translated using Weblate (Dutch)

173b49a Translated using Weblate (Dutch)

1a98946 Translated using Weblate (German)

e449853 Translated using Weblate (German)

2082e96 Translated using Weblate (German)

eee6046 Translated using Weblate (German)

5388d3d Translated using Weblate (Greek)

d7845b7 Translated using Weblate (Greek)

c392d48 Translated using Weblate (Greek)

967fab3 Translated using Weblate (Greek)

6dd575b Translated using Weblate (Portuguese (Brazil))

f5addc4 Translated using Weblate (Portuguese (Brazil))

8922549 Translated using Weblate (Portuguese (Brazil))

e1d42c8 Update CONTRIBUTING.md, mb 0.3.3

1a6d783 add comments, fix user expiry log spam

e6e5231 add extra logging

76b8222 add more error logging; mutex for app.storage.users

9370913 add password reset link option

f53c852 bump mb to v0.3.2

2a0edeb bump mediabrowser version, more consistent logs

7dcc9b2 clear user cache when user expires

8a6cfe0 disallow negative values in ExtendExpiry, fix nil map err

30f16e7 email: use strconv.Itoa instead of sprintf

374ffbf fix incomplete lang patching, add en-gb stub

ab3d5f3 fix logging for expiry extension

b3a2de5 hide no_username support message on setup

78049d4 hyphenate/dehyphenate users.json if necessary

3e73d16 merge language changes

40808bd merge language changes

07573a5 merge translation

dcd2e23 move "copy" string to common, add "copied"

bc76770 move 12h/24h time strings to common

762dac2 move mediabrowser to separate repo

afedc78 only load users if they don't exist already

636bc22 reimplement Lshortfile for log wrapper

d51a6ab remove cl.md

1cf8d30 remove dependency on common from mediabrowser

754b956 remove extra logs

dbe7e2e remove ts-debug

2451d69 rewrite lang.go format and templateString

a0a25d6 rewrite stripmd, fix some typos

9875458 rewrite time unmarshaler for mediabrowser

f0dccc5 separate pprof from debug mode

47ac505 shutdown your background workers!

6ec2186 switch accounts tab to unix times

7b2a083 translation from Weblate (German)

270143a translation from Weblate (German)

b76011b translation from Weblate (German)

ad1aae1 translation from Weblate (Greek)

a253858 translation from Weblate (Greek)

766b69d translation from Weblate (Portuguese (Brazil))

55eb59c translation from Weblate (Portuguese (Brazil))

aaea889 use apt-get in drone.yml

e351c35 use banner class on banner in about

e16f05b use build constraints for embed, clean up makefile

871bc9f use proper date formatting on form for expiry

66b7df7 use selected language for time format, add manual selector

3f8414c use unix timestamp for inv created & usedBy

v0.3.2: Updates, User expiry, Custom emails, more

21 Mar 00:05
618cc32
Compare
Choose a tag to compare

This one's pretty big:

  • Updates: jfa-go will (optionally) ping buildrone every 30 mins to check for updates to stable and nightly builds of binaries and docker releases. Binaries can self-update, but must be manually restarted.
    • IPs are stored salted and hashed by buildrone so no personally identifiable information is stored, not even the IP. This is only to give me a rough idea of how many people are using jfa-go.
    • Can be disabled in Settings > Updates. If you don't see it, this is because your release doesn't have them enabled (AUR packages other than jfa-go-bin have it entirely disabled).
  • Swedish added thanks to @pitah81.

Related to invites:

  • User Expiry: Set it on an invite and new users will be disabled/deleted after the specified amount of time, with an email explaining so. Expiry can be extended by Selecting a user in Accounts and pressing Extend Expiry. To set, see the new User Expiry tab on the bottom-left of the Invites page.

Related to emails:

  • Customizable Emails: Write your own emails with the supplied variables and markdown. Even has a full preview. Go to Settings and press the pen icon next to Email to start.

  • Announcement Emails: Send a markdown-supported message to your users in bulk or individually. Select users in Accounts and press Announce.

  • A fix for messed up emails due to the dark theme that they use has been implemented. It may or may not work, so an option to always use plain-text emails has been added in Settings > Email.

Other small stuff:

  • The accounts list can now be searched. Results can also be filtered with admin:true/false and disabled:true/false.

  • The Browsers/OSes dark mode preference should now be respected until a theme is specifically chosen.

  • Logs are colorful.

  • Option to trust a specified SSL/TLS Cert for SMTP emails has been added.

  • Some settings are now hidden behind an Advanced Settings toggle.

  • A couple improvements for mobile.

  • Note: Translations for this release are incomplete, and I've decided that's alright going forward.

Changelog

03247dd Add accounts search

d1b1b90 Add email list accessible by edit button in settings

c616ab3 Added translation using Weblate (Swedish)

7e21eb8 Added translation using Weblate (Swedish)

98cd33d Added translation using Weblate (Swedish)

fa7da1b Don't use cache to ApplySettings and CreateProfile

40fc5e9 Fix email editor when plaintext setting enabled

adbb5b9 Fix filepath separator and external files on windows

eb406ef Implement email template generation

7bd8fad IsNew() compares commit, not version

ca00796 Merge pull request #61 from rigrig/main

52d9cda Move email rendering to browser

76b859f Translated using Weblate (Dutch)

0ec8229 Translated using Weblate (Dutch)

bcc0eee Translated using Weblate (Dutch)

ca0c56e Translated using Weblate (Dutch)

d10eb6d Translated using Weblate (French)

c8a9b15 Translated using Weblate (German)

f47bf76 Translated using Weblate (Indonesian)

88eab75 Translated using Weblate (Portuguese (Brazil))

f40fb9d Translated using Weblate (Portuguese (Brazil))

9787fce Translated using Weblate (Portuguese (Brazil))

c1d1b0e Translated using Weblate (Swedish)

1fbd11d Translated using Weblate (Swedish)

fe86b8a Translated using Weblate (Swedish)

68b26f8 Translated using Weblate (Swedish)

4404c84 Translated using Weblate (Swedish)

d7a84c1 Translated using Weblate (Swedish)

edd4584 Translated using Weblate (Swedish)

e1d9a00 Translated using Weblate (Swedish)

53bec00 Translated using Weblate (Swedish)

2b97850 Translated using Weblate (Swedish)

30bef15 Trim commit before comparing in IsNew()

111533f add advanced setting type with toggle in settings

fa433c8 add announcement emails

9233220 add basic update functionality

1ec5d2c add disabled badge, extend expiry button to accounts

884493e add download links at top, mention jfa-go-bin

9eb8033 add it-it email back

43e5bbb add option to trust specific cert for SMTP

9b977ba add other funding method

93b5b48 add plaintext email option, use text/template

27ef931 add possible dark mode fix for Outlook

3c4800e add translation from Weblate (Swedish)

d520694 add translation from Weblate (Swedish)

de92516 add updates section to setup

76fa171 cleanup logs and use structs in jf/emby api

027cf19 delete missing route bind

98d59ba don't strip text on images

a8bf670 dont log updates when disabled

cc4e12c finish backend of custom emails

21490fa fix IsNew() func, include LICENSE in goreleaser

7c0754a fix buildrone env

0d3f96c fix button height on accounts tab & expiry types on mobile

8f65e2e fix drone.yml for stable docker

77f755e fix dropdown colors in dark mode on chrome

1704ae8 fix language link color on dark theme

6ffdd4d fix mistype in german email

eb8f277 fix naming conflict with goreleaser, add buildrone key to other steps

9799665 fix tag versioning and dockerfile

938523c fix urls in custom email/announcements

c556878 hide password resets on setup when emby selected

618cc32 hide updates from settings when disabled at build-time

058cac2 implement email editor w/ live(?) preview

2934832 implement frontend for user expiry/duration

1e9d184 implement user expiry functionality

bd05a4b include LICENSE in build, display in about tab

3635b6a lowercase lang names

cd67d3e merge translation

3811955 merge translation

3e020da merge translation

5dc0a68 merge translations

0bdf8ad put upload.py in parent dir

2f33580 remove testing goreleaser script, oops

e6e5b0f respect browser/os dark mode preference

f685582 run upload.py in git directory

fb727e7 substitute jellyfin strings on emails, hopefully fix dark mode

5892899 thread compile_mjml

ce45bf2 translation from Weblate (Dutch)

676cf61 translation from Weblate (Dutch)

e29e0dd translation from Weblate (Dutch)

7ce75c2 translation from Weblate (Dutch)

3af4607 translation from Weblate (Dutch)

50c6e60 translation from Weblate (Dutch)

0c5a332 translation from Weblate (Dutch)

ce30537 translation from Weblate (French)

5a07e10 translation from Weblate (French)

b0bd697 translation from Weblate (German)

bd22784 translation from Weblate (Indonesian)

1342208 translation from Weblate (Portuguese (Brazil))

6c5f776 translation from Weblate (Portuguese (Brazil))

1c67b06 translation from Weblate (Portuguese (Brazil))

9536cea translation from Weblate (Portuguese (Brazil))

42921f6 translation from Weblate (Portuguese (Brazil))

72beee1 translation from Weblate (Portuguese (Brazil))

e38c470 translation from Weblate (Swedish)

a86be55 translation from Weblate (Swedish)

6a11ed5 translation from Weblate (Swedish)

9a398e9 translation from Weblate (Swedish)

6877f39 translation from Weblate (Swedish)

5eea72a translation from Weblate (Swedish)

35aa37e translation from Weblate (Swedish)

01f290b translation from Weblate (Swedish)

cdc837e trim '/' from path when using systemFS

e913f25 update buildrone url

b91de3f update images and readme

a92baa5 update urls

a1bbf13 use apt-get instead of apt

b25f786 use bulk email sending on account deletion

5c87d10 use descriptive variable names in email translations

78157f7 use different color library, wrap logger functions with it

f792166 use locally stored buildrone key bcs ssh is broken

b3fa667 version with ldflags instead of script

cfa7947 wrap items in accounts header