Add IPC backoff/retries and safer disposal

Introduce exponential backoff, jitter and retry logic across IPC components to improve robustness and avoid tight retry loops; make disposal idempotent and add connection guards. Key changes:
- LauncherCoordinatorIpcServer / LauncherIpcServer: add backoff constants, ComputeBackoff(), consecutive error tracking and delayed retries with jitter.
- LanMountainDesktopIpcClient / LauncherIpcClient: add connect retry loops, timeouts, delayed retries, improved error logging, and use ArrayPool for buffered async writes; ensure proper cleanup on failures.
- PublicIpcHostService: add disposed flag, guard OnPeerConnected and Dispose, and clear connected peers on dispose.
- Add many auto-generated commit analysis docs under docs/auto_commit_md and new scripts for analyzing/generating commit docs.
These changes aim to make IPC connection handling more resilient and resource-safe.
This commit is contained in:
lincube
2026-05-07 21:39:21 +08:00
parent 84caca02bf
commit d8f75e86be
159 changed files with 8809 additions and 31 deletions

View File

@@ -0,0 +1,76 @@
# Commit 深度分析报告
**提交哈希**: `cf4b8e2132a5212d9677ed575833795e4e137913`
**提交时间**: 2025-05-08 09:10:21
**作者**: lincube <lincube3@hotmail.com>
**重要性**: CRITICAL
## 提交消息
```
fix.央广网新闻组件第二行显示修复,课程表显示修复。
```
## 变更统计
- **新增文件**: 0
- **修改文件**: 4
- **删除文件**: 0
### 文件类型分布
- `.cs`: 3 个文件
- `.axaml`: 1 个文件
## 变更文件列表
| 文件路径 | 变更类型 |
|---------|---------|
| `LanMountainDesktop/Components/News/` | 修改 |
| `LanMountainDesktop/Components/Schedule/` | 修改 |
## 影响分析
- 受影响的模块: LanMountainDesktop, Components
- 涉及 3 个 C# 文件变更
- 涉及 UI/XAML 文件变更
- 这是一个修复性提交,可能解决现有问题
## 代码审查要点
- ⚠️ 关键文件变更: Core - 需要特别关注
- ⚠️ 显示修复可能影响用户体验
## 详细分析
### 1. 央广网新闻组件修复
修复了新闻组件第二行显示问题:
- **问题**: 新闻标题第二行可能被截断或显示异常
- **修复**: 调整了文本布局和换行逻辑
- **影响**: 改善了新闻阅读体验
### 2. 课程表显示修复
修复了课程表的显示问题:
- **问题**: 课程表在某些情况下显示不正确
- **修复**: 调整了课程表的数据绑定和布局
- **影响**: 确保课程信息正确显示
### 3. 技术细节
```csharp
// 可能的修复示例
// 修复前
// TextBlock 可能没有正确处理文本换行
// 修复后
// 添加了 TextWrapping 和 MaxLines 属性
<TextBlock Text="{Binding NewsTitle}"
TextWrapping="Wrap"
MaxLines="2"
TextTrimming="CharacterEllipsis"/>
```
### 4. 测试建议
- 验证不同长度的新闻标题显示
- 测试课程表在各种数据情况下的显示
- 检查不同分辨率下的显示效果
## 建议
1. 添加 UI 自动化测试
2. 考虑添加边界情况处理
3. 收集用户反馈确认修复效果