fix(ui): humanize provider retry delay in the banner copy - #3402
Open
me2seeks wants to merge 1 commit into
Open
Conversation
A subscription quota window hands the runtime an hour-scale Retry-After,
and the desktop banner rendered it as a raw five-digit second count
('13565 秒后重试(2/10)') that reads as a frozen hang. Format the delay
in d/h/m/s units per locale ('4小时 28分 3秒后重试', 'Retrying in 4h 28m
3s') so the countdown stays legible and keeps ticking every second,
unlike the goal chip's minute-granularity ladder.
jackwener
reviewed
Aug 21, 2026
jackwener
left a comment
Member
There was a problem hiding this comment.
Automated review of exact head ef7097b50a91c7dc5284f00180db0ffe15a95fa4.
I confirmed the current main copy still renders provider waits as raw seconds, and the patch fixes that at the presentation boundary without changing retry policy. The d/h/m/s formatter is bounded, locale-specific, and the focused UI build plus new locale test passed locally (1/1). I found no P0-P2 correctness issue.
Merge readiness: not ready yet. This head has no hosted check result and still requires an independent human review; both gates should be present on this exact head before merge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3401.
Problem
With a long provider
Retry-After(subscription quota window reset, e.g. kimi-k3 / OpenCode Go 5h quota), the desktop retry banner renders a raw five-digit second count —13565 秒后重试(2/10)— illegible and visually indistinguishable from a hang. The TUI strip already humanizes the same wait as4h 28m 3s(#3393).Fix
Format
providerRetryScheduledin d/h/m/s units per locale:4小时 28分 3秒后重试(2/10)Retrying in 4h 28m 3s (2/10)One-second granularity is kept so the banner visibly ticks every second — the goal chip's minute-granularity ladder would reintroduce the frozen look between minute boundaries. Short delays keep the familiar seconds-only form (
45秒后重试/Retrying in 45s).Tests
New
conversation-copy.test.tspins both locales across second/minute/hour/day scales. Full ui suite (184) passes; biome lint/format clean.Note: independent of #3400 (countdown ticking); either merge order works.