Skip to content

fix(workbuddy): 401→refresh 非 auth 不再假升格 login_required - #371

Merged
caigee-cmd merged 1 commit into
mainfrom
fix/workbuddy-401-refresh-false-auth
Oct 23, 2026
Merged

caigee-cmd merged 1 commit into
mainfrom
fix/workbuddy-401-refresh-false-auth

Conversation

@caigee-cmd

Copy link
Copy Markdown
Owner

Summary

  • A:sendChat 在 chat 401 后 Refresh 失败时,仅当 refreshErr 为 KindAuth / session-dead(含既有 session dead 文案、12153)才保持 KindAuth + token refresh after 401 failed; re-login required;运输错误 / 5xx / 其它非 auth 改为返回 KindUnavailable(池短冷却 + failover),不再写 re-login 文案,也不因此 Observe(login_required)。真 auth 仍走 Refresh 内既有 Observe(login_required)。
  • B:非 auth Refresh 失败时 Observe(error, KindUnavailable),带上 refresh 失败原因摘要,便于控制台/DB 诊断。
  • 测试:保留并收紧 TestChat401RefreshFailureSurfacesAuthForFailover;新增 refresh 5xx → Unavailable、session-dead body → Auth。
  • 未做:不改控制台「刷新」= Probe;不上 singleflight;不动其它 provider;不 merge。

Test plan

  • go test ./internal/providers/workbuddy/...
  • python3 scripts/release-notes.py validate
  • PR CI 绿

…uired

Chat 401 → Refresh used to surface KindAuth for any refresh error, so
transport/5xx refresh failures falsely marked accounts login_required.
Only session-dead / KindAuth refresh failures keep that path; other
failures return KindUnavailable with Observe(error) for diagnostics.
@caigee-cmd
caigee-cmd merged commit 2cddd4f into main Oct 23, 2026
6 checks passed
@caigee-cmd
caigee-cmd deleted the fix/workbuddy-401-refresh-false-auth branch October 23, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant