Dashboard: a session check in flight at logout can briefly bring the previous user back
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript
- Lĩnh vực
- authentication, frontend
Hướng nghiên cứu
The race involves the dashboard's user loader for /auth/me, the logout handler, the storage-event listener that reloads the user, and refresh() after SSO sign-in; start by finding where each of these sets the user and the token. Reproduce with the jsdom probe described in the issue: hold /auth/me open, log out, then let it answer 200. Done means a stale answer from before logout is dropped, and a test covers the storage sign-in resetting the post-logout ?next= landing page.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
After #1577, logging out clears the dashboard's session at once instead of waiting for the server. A session check that was already in flight at that moment can still answer afterwards and put the previous user back in the dashboard's memory, with no token.
How it is reached: only while a /auth/me check is outstanding when the user clicks Log out. That happens when another tab changed the stored token (the storage listener reloads the user) or right after an SSO sign-in (refresh()).
What the user sees: the previous user's name for a moment. Nothing loads, because the next API call has no token, answers 401, and the dashboard goes to the sign-in page. The same can happen on main, but less often, because main cleared the session only after the logout request answered.
Measured in jsdom by holding /auth/me open, logging out, then letting it answer 200: the user comes back as signed in with no token, on main and on #1577.
Suggested fix: a generation counter that logout and sign-in bump, with the user loader dropping any answer from an older generation. The probe above becomes its test.
Also a test gap from the same review: nothing pins that a sign-in arriving through another tab (the storage event) resets the post-logout landing page. A test that logs out, fires a storage sign-in, then drops the token and expects ?next= again would cover it.
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 4
- Merge trung bình
- 5 giờ 36 phút
- Pull request đã merge (30 ngày)
- 509
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Controlvar/controlvar
-
Dashboard: an archived flag shows Off with an on/off switch the API refusesCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Controlvar/controlvar#1748 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Controlvar/controlvar#1737 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
dashboard: a split URL draft's variant edit shows generic copy when the API refuses itCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Controlvar/controlvar#1562 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
Controlvar/controlvar#1447 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug post-launch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Controlvar/controlvar#1428 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Controlvar/controlvar
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
FinanceFlash/unvibecode#577 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/test type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Clodmony/starship-coop#70 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
punitarani/fli#270 ·
-
🐛 Bug 🔔 Pending processing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
jumpserver/jumpserver#17980 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
community enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày