Self-hosted cluster removal: retry a logout that failed, or one skipped because the cluster couldn't be read
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
Start with the best-effort design and its trade-offs in src/features/cluster/DESIGN.md, then find the cluster removal path and its one-attempt logout call. Decide where a credential-free "logout owed" marker is stored and when the next app sign-out checks it, and how the cluster read is retried. Done means a failed logout is retried on the next app sign-out, and the stored credential is kept until that retry.
索引モデルが issue の本文から書いたものです。
説明
What happens
After #1966, removing a self-hosted cluster from Studio sends one best-effort logout to its server and forgets the remembered sign-ins for the cluster and its instances. "Best effort" was the call on #1954: one attempt, a short timeout, and the removal never waits on it. That leaves two cases where the server-side session outlives the removal:
- The logout fails or times out. Studio has already forgotten the sign-in, so nothing retries it, not even a later app sign-out. A server that's unreachable when you remove it keeps that session until it expires.
- Studio can't read the cluster record at removal. Both reads, alongside and after the DELETE, failed. Studio can't tell whether the cluster was self-hosted, so it sends no logout. The forgetting happens on the next visit to one of the cluster's pages, as #1954 does for Fabric clusters.
Both are accepted costs of the best-effort design, recorded in src/features/cluster/DESIGN.md. Neither touches another cluster's credentials.
Possible improvement
Keep a small "logout owed" marker after a failed logout, holding no credential, so the next app sign-out retries it once. For case 2, retry the cluster read once later. Either way the stored credential has to stay until the retry, which is the trade-off the best-effort call avoided.
Review-Deferral: 360de88dc2418237 severity=minor category=security
Review-Deferral: 85883ef1b2f4b7a1 severity=nit category=reliability
Raised by the cross-model review of #1966 (#1931).
🤖 Generated by Anthropic Claude Code (Claude Opus 5.5); posted via @dawsontoth.
- 主要言語
- TypeScript
- スター
- 5
- フォーク
- 4
- 平均マージ
- 1日 19時間
- マージ済み PR(30日)
- 144
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
HarperFast/studio のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
HarperFast/studio#2070 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
HarperFast/studio#2067 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
HarperFast/studio#2053 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
HarperFast/studio#2026 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
HarperFast/studio#2021 ·
メンテナーはふだん 2 日以内に返信
HarperFast/studio の issue をすべて見る
似ている issue
-
Bug: Cloudflare Pages static _redirects identity rule causes RSC Flight to reload as HTML対応中かも @Donvero が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Mantitup-Org/vista#210 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
simstudioai/sim#9831 ·
メンテナーはふだん 1 日以内に返信
-
status: waiting for maintainer
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
mui/material-ui#49751 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
diplodoc-platform/transform#1184 ·
メンテナーはふだん 1 日以内に返信