Skip to content

feat(chat): display elapsed time in minutes hours and days - #213

Open
3316891527 wants to merge 1 commit into
devfrom
feat/chat-duration-units
Open

3316891527 wants to merge 1 commit into
devfrom
feat/chat-duration-units

Conversation

@3316891527

Copy link
Copy Markdown
Owner

变更说明 / Description

背景与动机 / Context and motivation

聊天统计和消息信息把长耗时显示为累计秒数,例如 111.32 s;工具执行标题也只显示秒或毫秒。统一使用紧凑的 ms/s/m/h/d 表示,让同一耗时在消息详情、生成统计和执行标题中保持一致,例如 1m51.32s。

改动范围 / Changes

  • 提取共用耗时格式化函数,接入首包等待、生成耗时、消息信息等待/输出、回复过程“用时”和工具运行/完成/停止标题。
  • 不足一秒保留整数毫秒;一秒起保留两位小数,按分钟、小时、天进位,最大单位为天;省略为零的天/时/分,保留秒。
  • 在拆分单位之前按百分之一秒四舍五入,防止边界显示 60.00s;整数运算避免超长耗时溢出。
  • 更新工具标题的九组语言资源及中英文回复过程标题,删除旧单位专用文案;补充进位、舍入和超长耗时回归用例。

兼容性与风险 / Compatibility and risks

仅调整显示格式,计时来源、历史记录、数据库、时间戳、Token 数量和 tokens/s 计算保持原值。消息信息继续显示括号内原始毫秒数,例如 1m51.32s (111,315 ms)。运行中的工具沿用现有刷新频率。独立于目录整理 PR #212,目标分支为 dev。

关联 Issue / Related issue

N/A:维护者根据聊天界面截图提出的耗时显示改进。

验证方式 / Verification

Android 设备上的 Ubuntu 工作树,仅执行静态检查:

  • git diff --check origin/dev HEAD:通过。
  • python -B ci/script/check_repo_hygiene.py --base origin/dev --candidate HEAD:errors=0、warnings=0,覆盖 21 个变更文件。
  • python -B ci/script/check_localizations.py --base origin/dev --candidate HEAD:同一源码树的本地化检查无新增错误或警告。
  • 变更 Markdown 链接有效,旧格式化函数和删除的字符串键无引用残留。
  • 更新 MessageStatsFormattingTest,新增 DurationFormattingTest,覆盖示例、分钟/小时/天的舍入进位、设备区域设置和 Long 上限。
  • 本地未执行编译、构建或测试;Kotlin/JVM 执行结果以本 PR 的远程检查为准,尚未进行设备 UI 验证。

证据 / Evidence

预期显示规则:

毫秒输入 显示
999 999ms
10,242 10.24s
111,315 1m51.32s
3,661,315 1h1m1.32s
90,061,315 1d1h1m1.32s
59,995 1m0.00s

实施记录:docs/TODO/feat/chat-duration-units/index.md。

检查清单 / Checklist

  • 已记录静态验证和未运行项
  • 日常开发 PR 目标为 dev
  • 已提供本地化和回归源码,远程检查负责执行
  • 差异没有临时脚本、二进制或敏感配置
  • 已说明显示规则和数据兼容性

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