hrfee / jfa-go

a bit-of-everything user managament app for Jellyfin

Home Page:https://jfa-go.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reset Password email cascades with every password reset done.

Rephl3x opened this issue · comments

Read the FAQ first!

Describe the bug

Describe the problem, and what you would expect if it isn't clear already.

When setting up the password reset feature with Jellyfin, I would see in the logs. "[INFO] 19:22:51 New password reset for user "username" then I would see [INFO] 19:22:53 Sent password reset message to "username@gmail.com"

then for testing I would do it again but this time I would see 2 instances of

[INFO] 19:22:51 New password reset for user "username"
[INFO] 19:22:51 New password reset for user "username"
[INFO] 19:22:53 Sent password reset message to "username@gmail.com"
[INFO] 19:22:53 Sent password reset message to "username@gmail.com"

I am currently now at 9 instances of password reset for user and 9 instances of Sent password reset.

I will then receive 5 of the 9 emails. Some with the Pin and some with the Link in my gmail.

To Reproduce

Reset Password

Logs

[GIN/DEBUG] 19:22:30: GET(/users) => 200 in 8.288363ms;
[GIN/DEBUG] 19:22:31: POST(/users) => 200 in 4.1075337s;
[INFO] 19:22:31 removed: Sent welcome email to removed@email.com
[DEBUG] 19:22:31 auth.go:87: Auth succeeded
[DEBUG] 19:22:31 api.go:1484: Users requested
[GIN/DEBUG] 19:22:31: GET(/users/announce) => 200 in 132.898µs;
[DEBUG] 19:22:31 auth.go:87: Auth succeeded
[GIN/DEBUG] 19:22:31: GET(/users) => 200 in 561.109µs;
[ERROR] 19:22:38 updater.go:549: Failed to get latest tag (200): Tag was empty
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:51 New password reset for user "removed"
[INFO] 19:22:53 Sent password reset message to "removed@email.com"
[INFO] 19:22:53 Sent password reset message to "removed@email.com"
[INFO] 19:22:53 Sent password reset message to "removed@email.com"
[INFO] 19:22:53 Sent password reset message to "removed@email.com"
[INFO] 19:22:55 Sent password reset message to "removed@email.com"
[INFO] 19:22:55 Sent password reset message to "removed@email.com"
[INFO] 19:22:55 Sent password reset message to "removed@email.com"
[INFO] 19:22:55 Sent password reset message to "removed@email.com"
[INFO] 19:22:55 Sent password reset message to "removed@email.com"
[DEBUG] 19:23:00 auth.go:87: Auth succeeded
[GIN/DEBUG] 19:23:00: GET(/users/announce) => 200 in 362.758µs;
[DEBUG] 19:23:00 auth.go:87: Auth succeeded
[DEBUG] 19:23:00 auth.go:87: Auth succeeded
[DEBUG] 19:23:00 api.go:1484: Users requested
[GIN/DEBUG] 19:23:00: GET(/users) => 200 in 337.064µs;
[DEBUG] 19:23:00 api.go:1162: Invites requested
[GIN/DEBUG] 19:23:00: GET(/invites) => 200 in 612.015µs;
[GIN/DEBUG] 19:23:03: GET(/reset?pin=4E-E3-0D-91) => 200 in 139.960838ms;
[GIN/DEBUG] 19:23:03: GET(/js/pwr-pin.js) => 404 in 281.723µs;
[DEBUG] 19:23:16 invdaemon.go:37: Daemon: Checking invites
[GIN/DEBUG] 19:23:30: GET(/invites) => 200 in 529.129µs;
[DEBUG] 19:23:30 auth.go:87: Auth succeeded
[DEBUG] 19:23:30 api.go:1162: Invites requested
[GIN/DEBUG] 19:23:30: GET(/users/announce) => 200 in 85.892µs;
[DEBUG] 19:23:30 auth.go:87: Auth succeeded
[DEBUG] 19:23:30 auth.go:87: Auth succeeded
[DEBUG] 19:23:30 api.go:1484: Users requested
[GIN/DEBUG] 19:23:30: GET(/users) => 200 in 531.097µs;
[GIN/DEBUG] 19:24:00: GET(/users/announce) => 200 in 266.282µs;
[DEBUG] 19:24:00 auth.go:87: Auth succeeded
[DEBUG] 19:24:00 auth.go:87: Auth succeeded
[DEBUG] 19:24:00 api.go:1484: Users requested
[GIN/DEBUG] 19:24:00: GET(/users) => 200 in 339.805µs;
[DEBUG] 19:24:00 auth.go:87: Auth succeeded

If you're using a build with a tray icon, right-click on it and press "Open logs" to access your logs.

When you notice the problem, check the output of jfa-go or get the logs by pressing the "Logs" button in the Settings tab. If the problem is not obvious (e.g a panic (red text) or 'ERROR' log), re-run jfa-go with the -debug argument and reproduce the problem. You should then take a screenshot of the output, or paste it here, preferably between ``` tags (e.g ```Log here```). Remember to censor any personal information.

If nothing catches your eye in the log, access the admin page via your browser, go into the console (Right click > Inspect Element > Console), refresh, reproduce the problem then paste the output here in the same way as above.

Configuration

If you see it as necessary, include relevant sections of your config.ini, for example, include [email] and [smtp]|[mailgun] if you have an email issue.

Platform/Version

Linux - Ubuntu 20.04
Docker
Client:
Version: 20.10.21
API version: 1.41
Go version: go1.18.1
Git commit: 20.10.21-0ubuntu1~20.04.1
Built: Thu Jan 26 21:14:47 2023
OS/Arch: linux/amd64
Context: default
Experimental: true

Server:
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.18.1
Git commit: 20.10.21-0ubuntu120.04.1
Built: Thu Nov 17 20:19:30 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.12-0ubuntu1
20.04.1
GitCommit:
runc:
Version: 1.1.4-0ubuntu1~20.04.1
GitCommit:
docker-init:
Version: 0.19.0
GitCommit:

Include the platform jfa-go is running on (e.g Windows, Linux, Docker), the version (first line of output by jfa-go or Settings>About in web UI), and if necessary the browser version and platform.

I have tried one more time and it has given me this response and now no longer servicing password resets

[DEBUG] 19:49:49 api.go:1484: Users requested
[GIN/DEBUG] 19:49:49: GET(/users) => 200 in 394.593µs;
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:08 pwreset.go:79: PWR: Failed to read PIN: invalid character '}' after top-level value
[DEBUG] 19:50:16 invdaemon.go:37: Daemon: Checking invites
[DEBUG] 19:50:19 auth.go:87: Auth succeeded

After stopping and restarting the container it goes back to the correct email sent. but after 2 to 3 attempts it will start to cascade again and send 2 then 3 then 4 and so on of the same email