merge: 額度卡與雲端連線兩則假訊息改口(arcrun-rag#59)
總管 2026-08-11 審過後併入: - 額度訊息不再指向無效的出口(換模型解不掉被向量化吃掉的額度) - 多帳號時雲端狀態不再永遠停在零值 false - 含對照修改前程式碼會 FAIL 的回歸測試 - 總管實跑 go test ./...:collector 全過 ◐ 用戶手上仍是舊訊息:daemon 未重打、未出貨
This commit is contained in:
@@ -792,12 +792,31 @@ func RunDirectOnce(cfg *DirectConfig, dryRun bool) ([]DirectResult, int, *Trigge
|
||||
if len(st.Failures) > MaxSkippedListed {
|
||||
st.Failures = st.Failures[:MaxSkippedListed]
|
||||
}
|
||||
// 單帳號時把 cloud version 也填頂層(向後相容)
|
||||
if len(accountDetails) == 1 {
|
||||
for _, v := range accountDetails {
|
||||
st.CloudVersion = v.CloudVersion
|
||||
st.CloudCheckOK = v.CloudCheckOK
|
||||
break
|
||||
// 頂層 cloud version/cloud_check_ok 給「只認得到一份版本號」的舊消費端
|
||||
// (向後相容;t103 時代單帳號才有這兩個頂層欄位)。
|
||||
//
|
||||
// 🔴 arcrun-rag#59 相關實查(2026-08-10,總管/leo 對照 curl,三台 /health 全部 200;
|
||||
// 詳見頂層 wiki `system-dev/wiki/status.md`「畫面在說謊」段):以前這裡**只有剛好
|
||||
// 一個帳號**才填,2+ 帳號(leo 自己的常態)時 `st.CloudCheckOK` 停在 Go 零值
|
||||
// `false` 沒人填過 ⇒ 讀這個頂層欄位的地方會看到「沒連上雲端」,**即使每一個
|
||||
// 帳號都連得上**。改成:不論帳號數,只要**任一**帳號連得上就算連得上;
|
||||
// `CloudVersion` 取第一個非空版本代表(按 key 排序,同一份輸入永遠同一個輸出),
|
||||
// 不是宣稱所有帳號版本一致——**多帳號時真正該看的是各帳號自己的
|
||||
// AccountDetails,這裡只是不讓頂層欄位繼續說反話**。
|
||||
if len(accountDetails) > 0 {
|
||||
hosts := make([]string, 0, len(accountDetails))
|
||||
for h := range accountDetails {
|
||||
hosts = append(hosts, h)
|
||||
}
|
||||
sort.Strings(hosts)
|
||||
for _, h := range hosts {
|
||||
v := accountDetails[h]
|
||||
if v.CloudCheckOK {
|
||||
st.CloudCheckOK = true
|
||||
}
|
||||
if st.CloudVersion == "" && v.CloudVersion != "" {
|
||||
st.CloudVersion = v.CloudVersion
|
||||
}
|
||||
}
|
||||
}
|
||||
// 🔴 2026-08-05(leo:「自始至終都顯示『等待中』…實際上已經做完了,這個 status 是壞的」):
|
||||
|
||||
Reference in New Issue
Block a user