Skip to content

v2.3.2 - 关键问题修复与调试增强

Choose a tag to compare

@00OO666 00OO666 released this 04 Jan 17:32
· 120 commits to main since this release

Fangyu Code v2.3.2 - 关键问题修复与调试增强

🐛 核心改进:修复多个关键显示和计费问题 + 添加调试功能


🎯 核心修复

1. 🔍 消息聚合调试功能

问题背景:

  • 用户反馈 Claude Code 的说明文字在渲染后立刻消失
  • 文本内容先显示,然后淡出不见,只留下工具调用记录

解决方案:

  • 在 subagentGrouping.ts 添加文本检测调试日志
  • 追踪消息内容、文本长度、聚合判断逻辑
  • 帮助定位文本消失的根本原因

技术实现:

// src/lib/subagentGrouping.ts
if (import.meta.env.DEV && item.text) {
  console.log('[getTechnicalMessageType] Text content:', {
    raw: item.text,
    trimmed: item.text.trim(),
    length: item.text.length,
    trimmedLength: item.text.trim().length,
    hasText
  });
}

2. 📊 成本显示格式修复

问题背景:

  • 成本显示出现混合符号:$+0.61¢(同时显示美元和美分符号)
  • 用户期望统一使用美元符号格式

解决方案:

  • 移除美分符号显示逻辑
  • 统一使用美元格式:$0.0061
  • 保持 4 位小数精度

修改文件:

  • src/components/ClaudeStatusIndicator.tsx

3. 🎯 会话标题显示优化

问题背景:

  • 会话标题显示技术 ID:日切版测试会 876f4d4e
  • 用户难以记住和识别会话

解决方案:

  • 显示 first_message 内容作为标题
  • 无内容时显示"未命名会话"占位符
  • 不再显示技术 ID

修改文件:

  • src/components/SessionList.tsx

4. 💰 计费逻辑修复

问题背景:

  • Fangyu Code 使用 API 返回的 cost 字段
  • Any Code 使用本地计算,两者不一致

解决方案:

  • 移除 API cost 字段检查
  • 统一使用 calculateMessageCost() 本地计算
  • 与 Any Code 保持一致

修改文件:

  • src/lib/sessionCost.ts

5. 📝 任务列表文本重叠修复

问题背景:

  • GitHub Flavored Markdown (GFM) 任务列表复选框与文本重叠
  • 影响阅读体验

解决方案:

  • 添加 .prose li.task-list-item CSS 样式
  • 调整复选框和文本的间距、对齐方式

修改文件:

  • src/styles/typography.css

6. ✂️ 输出截断问题修复

问题背景:

  • Claude Code 输出在句子中间停止
  • maxTokens: 4000 限制过小

解决方案:

  • 提升 maxTokens 到 8192(Claude 的最大输出限制)
  • 确保完整输出不被截断

修改文件:

  • src/lib/claudeSDK.ts

7. 🚦 窗口指示器优化

问题背景:

  • 正常状态下仍显示"正常 (聚焦)"浮动指示器
  • 占用屏幕空间,影响视觉体验

解决方案:

  • 只在窗口不可见或被节流时显示指示器
  • 正常状态不显示任何指示器

修改文件:

  • src/components/WindowAttentionIndicator.tsx

8. 👁️ 默认显示设置优化

问题背景:

  • 系统消息、Warmup 消息默认隐藏
  • 用户看不到完整的 Claude Code 输出

解决方案:

  • 修改默认设置,显示所有内容:
    • showAllMessages: true
    • showSystemMessages: true
    • showWarmupMessages: true

修改文件:

  • src/hooks/useOutputDisplaySettings.ts

🔧 技术细节

修改文件列表

  1. src/lib/sessionCost.ts - 计费逻辑修复
  2. src/styles/typography.css - GFM 任务列表样式
  3. src/lib/claudeSDK.ts - maxTokens 提升
  4. src/components/ClaudeStatusIndicator.tsx - 成本格式统一
  5. src/components/WindowAttentionIndicator.tsx - 指示器显示逻辑
  6. src/components/SessionList.tsx - 会话标题显示
  7. src/hooks/useOutputDisplaySettings.ts - 默认显示设置
  8. src/lib/subagentGrouping.ts - 调试日志

版本号更新

  • package.json: 2.3.1 → 2.3.2
  • src-tauri/tauri.conf.json: 2.3.1 → 2.3.2
  • src-tauri/Cargo.toml: 2.3.1 → 2.3.2
  • useFirstLaunchChangelog.ts: 添加 v2.3.2 更新公告

📊 影响范围

  • 用户体验:修复多个显示问题,提升可用性
  • 计费准确性:统一计费逻辑,与 Any Code 保持一致
  • 调试能力:添加调试日志,便于追踪问题

🚀 升级建议

  1. 立即升级:本版本修复多个关键问题,建议所有用户升级
  2. 检查成本显示:升级后检查成本显示是否正常
  3. 测试消息显示:发送包含工具调用的提示,确认文本正常显示
  4. 查看调试日志:如遇到消息显示问题,打开开发者工具查看日志

🔮 下一步计划

  • 彻底解决消息文本消失问题(根据调试日志分析)
  • 优化消息聚合逻辑,避免误判
  • 添加更多调试工具,提升问题定位效率

感谢使用 Fangyu Code! 🎉

如有问题或建议,请在 GitHub Issues 中反馈。