[GH-ISSUE #8105] [Bug] Password login hangs after submission #3560

Closed
opened 2026-03-23 21:31:17 +00:00 by mirror · 0 comments
Owner

Originally created by @rockerest on GitHub (Jul 4, 2025).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8105

Bug Description

When signing in with password, successfully submitting the email + password form hangs forever with the "Verifying..." spinner button.

How to Reproduce

  • Set up a password in the client
  • Log out
  • Log in with email & password

Expected Behavior

Client signs in and displays the workspace.

Operating System

Windows (Also occurs on Ubuntu Linux)

AppFlowy Version(s)

0.9.4 + 0.9.64

Screenshots

No response

Additional Context

Full logs from the login:

gotrue-1           | {"action":"login","instance_id":"00000000-0000-0000-0000-000000000000","level":"info","login_method":"password","metering":true,"msg":"Login","time":"2025-07-04T05:51:50Z","user_id":"redact-user-id"}
gotrue-1           | {"auth_event":{"action":"login","actor_id":"redact-user-id","actor_username":"redact@email","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}},"component":"api","duration":328065963,"level":"info","method":"POST","msg":"request completed","path":"/token","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"95a06d75-f6ea-4b82-b5db-332b41d9c37d","status":200,"time":"2025-07-04T05:51:50Z"}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:50 +0000] "POST /gotrue/token?grant_type=password HTTP/1.0" 200 1112 "-" "-"
gotrue-1           | {"component":"api","duration":8354962,"level":"info","method":"GET","msg":"request completed","path":"/user","referer":"appflowy-flutter://","remote_addr":"172.18.0.8","request_id":"eea13afa-ffd9-456c-86e5-c7f8a0007bf2","status":200,"time":"2025-07-04T05:51:50Z"}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:50 +0000] "GET /api/user/verify/redact-token HTTP/1.0" 200 80 "-" "-"
gotrue-1           | {"action":"login","instance_id":"00000000-0000-0000-0000-000000000000","level":"info","login_method":"token","metering":true,"msg":"Login","time":"2025-07-04T05:51:51Z","user_id":"redact-user-id"}
gotrue-1           | {"auth_event":{"action":"token_revoked","actor_id":"redact-user-id","actor_username":"redact@email","actor_via_sso":false,"log_type":"token"},"component":"api","duration":40194625,"level":"info","method":"POST","msg":"request completed","path":"/token","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"24eb8b09-f1fd-4c64-889d-4b577df65a44","status":200,"time":"2025-07-04T05:51:51Z"}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "POST /gotrue/token?grant_type=refresh_token HTTP/1.0" 200 1109 "-" "-"
gotrue-1           | {"component":"api","duration":9159943,"level":"info","method":"GET","msg":"request completed","path":"/user","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"50bdd1e1-789e-4f47-a48f-044bca77577e","status":200,"time":"2025-07-04T05:51:51Z"}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "GET /gotrue/user HTTP/1.0" 200 437 "-" "-"
gotrue-1           | {"component":"api","duration":8671314,"level":"info","method":"GET","msg":"request completed","path":"/user","referer":"appflowy-flutter://","remote_addr":"172.18.0.8","request_id":"a5566f08-c11a-40c6-babb-06fa5cb69ea9","status":200,"time":"2025-07-04T05:51:51Z"}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "GET /api/user/verify/redact-token HTTP/1.0" 200 80 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "GET /api/user/workspace HTTP/1.0" 200 1077 "-" "-"
appflowy_cloud-1   | {"timestamp":"2025-07-04T05:51:51.408674Z","level":"INFO","fields":{"message":"Join(uid: 406207877313728512, session_id: 1639608116, workspace_id: f3064185-36ec-44a0-858d-d47812c6dcff) joined"},"target":"appflowy_collaborate::ws2::actors::server","filename":"services/appflowy-collaborate/src/ws2/actors/server.rs","line_number":71}
appflowy_web-1     | 172.18.0.3 - - [04/Jul/2025:05:51:54 +0000] "GET /geoserver/web/ HTTP/1.0" 200 2904 "-" "Mozilla/5.0 (Windows NT 10.0.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.63 Chrome/124.0.6367.63 Not-A.Brand/99  Safari/537.36"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:51:54 +0000] "GET /geoserver/web/ HTTP/1.0" 200 2904 "-" "Mozilla/5.0 (Windows NT 10.0.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.63 Chrome/124.0.6367.63 Not-A.Brand/99  Safari/537.36"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:52:51 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-"
postgres-1         | 2025-07-04 05:53:23.027 UTC [27] LOG:  checkpoint starting: time
postgres-1         | 2025-07-04 05:53:25.283 UTC [27] LOG:  checkpoint complete: wrote 23 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=2.237 s, sync=0.005 s, total=2.257 s; sync files=22, longest=0.003 s, average=0.001 s; distance=50 kB, estimate=259 kB; lsn=0/4E50CD0, redo lsn=0/4E50C98
nginx-1            | x.x.x.y - - [04/Jul/2025:05:53:53 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:54:57 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-"

Logs from shutting the client down:

nginx-1            | x.x.x.y - - [04/Jul/2025:05:55:52 +0000] "GET /ws/v2/f3064185-36ec-44a0-858d-d47812c6dcff?clientId=1639608116&deviceId={redact-device}&token=redact-token&lastMessageId=1751602918064-0 HTTP/1.1" 101 218 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:55:52 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-"

Logs from next (successful) startup:

appflowy_web-1     | 2025/07/04 05:56:25 [error] 26#26: *4 access forbidden by rule, client: 172.18.0.3, server: , request: "GET /.git/config HTTP/1.0", host: "10.1.1.110"
appflowy_web-1     | 172.18.0.3 - - [04/Jul/2025:05:56:25 +0000] "GET /.git/config HTTP/1.0" 403 153 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:25 +0000] "GET /.git/config HTTP/1.0" 403 153 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0"
appflowy_cloud-1   | {"timestamp":"2025-07-04T05:56:32.772009Z","level":"INFO","fields":{"message":"Join(uid: 406207877313728512, session_id: 1639608116, workspace_id: f3064185-36ec-44a0-858d-d47812c6dcff) joined"},"target":"appflowy_collaborate::ws2::actors::server","filename":"services/appflowy-collaborate/src/ws2/actors/server.rs","line_number":71}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:32 +0000] "GET /api/user/profile HTTP/1.0" 200 348 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/usage-and-limit HTTP/1.0" 404 0 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace?include_member_count=true&include_role=true HTTP/1.0" 200 403 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/usage-and-limit HTTP/1.0" 404 0 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace?include_member_count=true&include_role=true HTTP/1.0" 200 403 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/sharing/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/view HTTP/1.0" 200 94 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "POST /api/sharing/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/view/d2f30c9e-9a19-4ab0-8a0d-fb5800d2bb0e/access-details HTTP/1.0" 200 94 "-" "-"
gotrue-1           | {"component":"api","duration":15877123,"level":"info","method":"GET","msg":"request completed","path":"/user/auth-info","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"d9f935dd-21eb-400a-93bc-91edf5ff3a41","status":200,"time":"2025-07-04T05:56:33Z"}
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /gotrue/user/auth-info HTTP/1.0" 200 97 "-" "Dart/3.6 (dart:io)"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace/v1/published-info/d2f30c9e-9a19-4ab0-8a0d-fb5800d2bb0e HTTP/1.0" 200 428 "-" "-"
nginx-1            | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace?include_member_count=true&include_role=true HTTP/1.0" 200 403 "-" "-"
Originally created by @rockerest on GitHub (Jul 4, 2025). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8105 ### Bug Description When signing in with password, successfully submitting the email + password form hangs forever with the "Verifying..." spinner button. ### How to Reproduce - Set up a password in the client - Log out - Log in with email & password ### Expected Behavior Client signs in and displays the workspace. ### Operating System Windows (Also occurs on Ubuntu Linux) ### AppFlowy Version(s) 0.9.4 + 0.9.64 ### Screenshots _No response_ ### Additional Context Full logs from the login: ``` gotrue-1 | {"action":"login","instance_id":"00000000-0000-0000-0000-000000000000","level":"info","login_method":"password","metering":true,"msg":"Login","time":"2025-07-04T05:51:50Z","user_id":"redact-user-id"} gotrue-1 | {"auth_event":{"action":"login","actor_id":"redact-user-id","actor_username":"redact@email","actor_via_sso":false,"log_type":"account","traits":{"provider":"email"}},"component":"api","duration":328065963,"level":"info","method":"POST","msg":"request completed","path":"/token","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"95a06d75-f6ea-4b82-b5db-332b41d9c37d","status":200,"time":"2025-07-04T05:51:50Z"} nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:50 +0000] "POST /gotrue/token?grant_type=password HTTP/1.0" 200 1112 "-" "-" gotrue-1 | {"component":"api","duration":8354962,"level":"info","method":"GET","msg":"request completed","path":"/user","referer":"appflowy-flutter://","remote_addr":"172.18.0.8","request_id":"eea13afa-ffd9-456c-86e5-c7f8a0007bf2","status":200,"time":"2025-07-04T05:51:50Z"} nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:50 +0000] "GET /api/user/verify/redact-token HTTP/1.0" 200 80 "-" "-" gotrue-1 | {"action":"login","instance_id":"00000000-0000-0000-0000-000000000000","level":"info","login_method":"token","metering":true,"msg":"Login","time":"2025-07-04T05:51:51Z","user_id":"redact-user-id"} gotrue-1 | {"auth_event":{"action":"token_revoked","actor_id":"redact-user-id","actor_username":"redact@email","actor_via_sso":false,"log_type":"token"},"component":"api","duration":40194625,"level":"info","method":"POST","msg":"request completed","path":"/token","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"24eb8b09-f1fd-4c64-889d-4b577df65a44","status":200,"time":"2025-07-04T05:51:51Z"} nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "POST /gotrue/token?grant_type=refresh_token HTTP/1.0" 200 1109 "-" "-" gotrue-1 | {"component":"api","duration":9159943,"level":"info","method":"GET","msg":"request completed","path":"/user","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"50bdd1e1-789e-4f47-a48f-044bca77577e","status":200,"time":"2025-07-04T05:51:51Z"} nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "GET /gotrue/user HTTP/1.0" 200 437 "-" "-" gotrue-1 | {"component":"api","duration":8671314,"level":"info","method":"GET","msg":"request completed","path":"/user","referer":"appflowy-flutter://","remote_addr":"172.18.0.8","request_id":"a5566f08-c11a-40c6-babb-06fa5cb69ea9","status":200,"time":"2025-07-04T05:51:51Z"} nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "GET /api/user/verify/redact-token HTTP/1.0" 200 80 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:51 +0000] "GET /api/user/workspace HTTP/1.0" 200 1077 "-" "-" appflowy_cloud-1 | {"timestamp":"2025-07-04T05:51:51.408674Z","level":"INFO","fields":{"message":"Join(uid: 406207877313728512, session_id: 1639608116, workspace_id: f3064185-36ec-44a0-858d-d47812c6dcff) joined"},"target":"appflowy_collaborate::ws2::actors::server","filename":"services/appflowy-collaborate/src/ws2/actors/server.rs","line_number":71} appflowy_web-1 | 172.18.0.3 - - [04/Jul/2025:05:51:54 +0000] "GET /geoserver/web/ HTTP/1.0" 200 2904 "-" "Mozilla/5.0 (Windows NT 10.0.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.63 Chrome/124.0.6367.63 Not-A.Brand/99 Safari/537.36" nginx-1 | x.x.x.y - - [04/Jul/2025:05:51:54 +0000] "GET /geoserver/web/ HTTP/1.0" 200 2904 "-" "Mozilla/5.0 (Windows NT 10.0.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.63 Chrome/124.0.6367.63 Not-A.Brand/99 Safari/537.36" nginx-1 | x.x.x.y - - [04/Jul/2025:05:52:51 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-" postgres-1 | 2025-07-04 05:53:23.027 UTC [27] LOG: checkpoint starting: time postgres-1 | 2025-07-04 05:53:25.283 UTC [27] LOG: checkpoint complete: wrote 23 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=2.237 s, sync=0.005 s, total=2.257 s; sync files=22, longest=0.003 s, average=0.001 s; distance=50 kB, estimate=259 kB; lsn=0/4E50CD0, redo lsn=0/4E50C98 nginx-1 | x.x.x.y - - [04/Jul/2025:05:53:53 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:54:57 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-" ``` Logs from shutting the client down: ``` nginx-1 | x.x.x.y - - [04/Jul/2025:05:55:52 +0000] "GET /ws/v2/f3064185-36ec-44a0-858d-d47812c6dcff?clientId=1639608116&deviceId={redact-device}&token=redact-token&lastMessageId=1751602918064-0 HTTP/1.1" 101 218 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:55:52 +0000] "GET /api/workspace/v1/f3064185-36ec-44a0-858d-d47812c6dcff/collab/f3064185-36ec-44a0-858d-d47812c6dcff?collab_type=3 HTTP/1.0" 499 0 "-" "-" ``` Logs from next (successful) startup: ``` appflowy_web-1 | 2025/07/04 05:56:25 [error] 26#26: *4 access forbidden by rule, client: 172.18.0.3, server: , request: "GET /.git/config HTTP/1.0", host: "10.1.1.110" appflowy_web-1 | 172.18.0.3 - - [04/Jul/2025:05:56:25 +0000] "GET /.git/config HTTP/1.0" 403 153 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:25 +0000] "GET /.git/config HTTP/1.0" 403 153 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0" appflowy_cloud-1 | {"timestamp":"2025-07-04T05:56:32.772009Z","level":"INFO","fields":{"message":"Join(uid: 406207877313728512, session_id: 1639608116, workspace_id: f3064185-36ec-44a0-858d-d47812c6dcff) joined"},"target":"appflowy_collaborate::ws2::actors::server","filename":"services/appflowy-collaborate/src/ws2/actors/server.rs","line_number":71} nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:32 +0000] "GET /api/user/profile HTTP/1.0" 200 348 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/usage-and-limit HTTP/1.0" 404 0 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace?include_member_count=true&include_role=true HTTP/1.0" 200 403 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/usage-and-limit HTTP/1.0" 404 0 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace?include_member_count=true&include_role=true HTTP/1.0" 200 403 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/sharing/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/view HTTP/1.0" 200 94 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "POST /api/sharing/workspace/f3064185-36ec-44a0-858d-d47812c6dcff/view/d2f30c9e-9a19-4ab0-8a0d-fb5800d2bb0e/access-details HTTP/1.0" 200 94 "-" "-" gotrue-1 | {"component":"api","duration":15877123,"level":"info","method":"GET","msg":"request completed","path":"/user/auth-info","referer":"appflowy-flutter://","remote_addr":"x.x.x.y","request_id":"d9f935dd-21eb-400a-93bc-91edf5ff3a41","status":200,"time":"2025-07-04T05:56:33Z"} nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /gotrue/user/auth-info HTTP/1.0" 200 97 "-" "Dart/3.6 (dart:io)" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace/v1/published-info/d2f30c9e-9a19-4ab0-8a0d-fb5800d2bb0e HTTP/1.0" 200 428 "-" "-" nginx-1 | x.x.x.y - - [04/Jul/2025:05:56:33 +0000] "GET /api/workspace?include_member_count=true&include_role=true HTTP/1.0" 200 403 "-" "-" ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#3560
No description provided.