Symptom
When a provider returns a long Retry-After (subscription quota window reset, e.g. kimi-k3 / OpenCode Go 5h quota), the desktop retry banner renders the delay as a raw five-digit second count: 13565 秒后重试(2/10) / Retrying in 13565s (2/10). It is illegible and reads as a frozen hang.
The TUI activity strip already humanizes the same wait as 4h 28m 3s (#3393).
Fix
Format providerRetryScheduled in d/h/m/s units per locale (4小时 28分 3秒后重试, Retrying in 4h 28m 3s). The countdown keeps one-second granularity so the banner visibly ticks — unlike the goal chip's minute-granularity elapsed ladder, which would reintroduce the frozen look between minute boundaries.
Related: #3393 (countdown ticking), which makes the number move; this issue is about the number's format.
Symptom
When a provider returns a long
Retry-After(subscription quota window reset, e.g. kimi-k3 / OpenCode Go 5h quota), the desktop retry banner renders the delay as a raw five-digit second count:13565 秒后重试(2/10)/Retrying in 13565s (2/10). It is illegible and reads as a frozen hang.The TUI activity strip already humanizes the same wait as
4h 28m 3s(#3393).Fix
Format
providerRetryScheduledin d/h/m/s units per locale (4小时 28分 3秒后重试,Retrying in 4h 28m 3s). The countdown keeps one-second granularity so the banner visibly ticks — unlike the goal chip's minute-granularity elapsed ladder, which would reintroduce the frozen look between minute boundaries.Related: #3393 (countdown ticking), which makes the number move; this issue is about the number's format.