fix: 用量行 pace 列真 0 窗口不再缺席,diff=0 三角位画等号
Claude 5h 空闲时接口回 utilization 0、resets_at null,算不出 time_pct, 渲染器整列跳过 pace 导致该行进度条比别行长。数据层对 pct=0 且无重置时刻的 窗口记 time_pct=0;基类 _usage_row 只要有百分比就画 pace(缺 time_pct 按 0)。 diff=0 时三角位由留空改为画等宽等号「=」,预留逻辑从宽版下沉到基类,小屏同样齐平。 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
4
data.py
4
data.py
@@ -334,7 +334,7 @@ GPT_WINDOWS = (
|
||||
def usage_from_raw(now, raw, windows, title):
|
||||
"""原始快照 → 渲染结构(Claude / ChatGPT 通用)。
|
||||
raw 形如 {five_hour:{utilization, resets_at, window?}, seven_day:{...}, <scoped 键>:{...}|null, updated_at?};
|
||||
utilization 为已用百分比,resets_at 为 epoch 秒或 ISO,window 为该窗口真实长度秒(缺省用 windows 表的常量);缺哪个窗口哪个显示 "--"。
|
||||
utilization 为已用百分比,resets_at 为 epoch 秒或 ISO,window 为该窗口真实长度秒(缺省用 windows 表的常量);缺哪个窗口哪个显示 "--"(宽版按 0 画);utilization 为 0 且 resets_at 为 null 的空闲窗口记 time_pct=0,保证 pace 列不缺席。
|
||||
time_pct(时间已流逝%)与 pace 按传入的 now **现算**——所以推送端只需推原始快照,服务端渲染时 pace 仍随时钟准确推进。
|
||||
结构契约(renderer 依赖):{title, warn, ok, pace_tol, updated?, bars:[{k, label, pct(0~100 或 None), time_pct?, reset?, scoped}]};
|
||||
pct ≥ warn 时该条进度条与百分比转红(宽版另按 ok/warn 分 绿/黑/红 三档,百分比随条色);
|
||||
@@ -349,6 +349,8 @@ def usage_from_raw(now, raw, windows, title):
|
||||
bar = {"k": k, "label": label, "pct": pct, "scoped": scoped}
|
||||
win = int(seg.get("window") or win)
|
||||
tp = _window_time_pct(seg.get("resets_at"), win, now)
|
||||
if pct is not None and tp is None and pct == 0:
|
||||
tp = 0 # 窗口空闲(utilization 0 且 resets_at null,5h 窗口重置后常见):窗口尚未开始,已流逝 0%、pace 持平
|
||||
if pct is not None and tp is not None:
|
||||
bar["time_pct"] = tp
|
||||
rs = _fmt_reset(seg.get("resets_at"), win)
|
||||
|
||||
Reference in New Issue
Block a user