Remaining edge paths for an instance with no address
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 53/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ệ
- react, typescript
- Lĩnh vực
- authentication, frontend
Hướng nghiên cứu
Start with src/features/auth/ClusterInstanceSignIn.tsx, src/features/instance/instanceLayoutRoute.ts, src/features/cluster/Instances.tsx, useInstanceMenuItems.tsx, and ClusterHome.tsx; trace the URL helper and byInstanceFqdnThenPort mentioned in the issue. Check the sign-in, remembered connection, URL display and copy, sorting, and Disconnect paths for address-less instances, while preserving Local Studio's fallback. Done when each path handles missing or invalid addresses consistently and the existing behavior is checked.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Some edge paths around an instance Studio has no address for are still unhandled. Both predate the #2020 fix and were found by code trace during its review; neither is observed in production.
1. The sign-in health probe fires before it knows where to go
ClusterInstanceSignIn (src/features/auth/ClusterInstanceSignIn.tsx) runs getInstanceHealthQueryOptions whenever the cluster isn't terminated. Two states send that GET /health somewhere unintended:
- While the cluster query is still loading,
operationsUrlisnull, sogetInstanceClientfalls back to a stored sign-in URL or the page's own origin. - When the route's
instanceIdisn't incluster.instances, the memo takes the cluster branch and probes the cluster's URL instead.
A plain !!operationsUrl gate would break Local Studio, which has no cluster and relies on the same fallback, so the gate needs to keep that case (for example isLocalStudio || !!operationsUrl).
2. A remembered sign-in reopens an instance that has lost its address
On reload, checkClusterInstanceAuthenticationBeforeLoad (src/features/instance/instanceLayoutRoute.ts) resumes a remembered connection before it reaches the Fabric Connect attempt that now refuses an address-less instance. So an instance that was signed in while it had an FQDN still opens after central manager stops listing one, through the stored URL or the proxy, while its row on the Instances list shows —.
3. Raw FQDN checks disagree with the URL helper
getOperationsUrlForInstance returns null for an FQDN that new URL rejects (whitespace-only, a bare https://), but the self-hosted URL column (src/features/cluster/Instances.tsx), the menu's copy actions (useInstanceMenuItems.tsx) and byInstanceFqdnThenPort still test the raw field for truthiness. Such a value gets a garbled URL cell, copy actions, and a sort position ahead of real addresses. Hypothetical (central manager has not been seen to send one) and cosmetic; nothing throws. Fix by normalising the address once.
4. Self-hosted Disconnect with an address-less first instance
ClusterHome.tsx's Disconnect passes getOperationsUrlForInstance(firstInstance), which can now be null, so getInstanceClient falls back to the stored sign-in URL. A connected instance always has one, so this looks correct; recorded so it gets checked rather than assumed.
Related: #2021 (cluster sign-out can't clear such an instance).
Review-Deferral: b326cc50556fa97a severity=nit category=correctness
Review-Deferral: aa30a9bb10d1ee30 severity=nit category=correctness
Review-Deferral: d4ecec465c740ecf severity=nit category=correctness
Review-Deferral: 1e45c35cbd41a55f severity=nit category=reliability
🤖 Generated by Claude Code (Claude Opus 5.5); posted via @dawsontoth.
- Ngôn ngữ chính
- TypeScript
- Star
- 5
- Fork
- 4
- Merge trung bình
- 1 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 144
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không 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 HarperFast/studio
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
HarperFast/studio#2070 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
HarperFast/studio#2067 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
HarperFast/studio#2053 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
HarperFast/studio#2026 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
HarperFast/studio#2021 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của HarperFast/studio
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
home-assistant/frontend#55841 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
lingdojo/kana-dojo#33905 · 1 bình luận · 5 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug(semester-planning): the edit application dialog cannot save with an empty «Annet fra bedriften»Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
blocklist removal
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
MetaMask/eth-phishing-detect#311215 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Explore filter: multi-select value list with allowNewOptions stops accepting values and drops earlier onesCó thể đã có người làm @isaac-jaynes-imperva đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/superset#46146 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày