## Summary by Sourcery
为 MirrorChyan OTA 更新新增等待与重试支持:当初始仅有整包可用时,可以等待 OTA 包上线后再使用。同时重构
MirrorChyan 更新检查逻辑,以提升复用性和错误处理能力。
新功能:
- 支持在延迟一段时间后重试 MirrorChyan 更新检查,这样当 OTA 包变得可用时可以使用 OTA 包,而不是立即回退到整包。
改进:
- 将 MirrorChyan 的 HTTP 请求和 JSON 解析抽取到一个共享的辅助工具中,以集中管理日志与错误处理。
- 将 MirrorChyan 的错误码处理抽取到专用辅助工具中,以简化更新检查流程,并在不同分支中保持 toast 和设置更新行为的一致性。
文档:
- 更新本地化字符串,以支持在所有受支持语言中新增 MirrorChyan OTA 构建与重试相关的用户通知。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add support for waiting and retrying MirrorChyan OTA updates when only a
full package is initially available, while refactoring the MirrorChyan
update-check logic for better reuse and error handling.
New Features:
- Support retrying MirrorChyan update checks after a delay so that OTA
packages can be used when they become available instead of immediately
falling back to full packages.
Enhancements:
- Extract MirrorChyan HTTP request and JSON parsing into a shared helper
to centralize logging and error handling.
- Extract MirrorChyan error-code handling into a dedicated helper to
simplify the update check flow and keep toast/setting updates consistent
across paths.
Documentation:
- Update localized strings for the new MirrorChyan OTA-building and
retry user notifications across supported languages.
</details>
## Summary by Sourcery
添加新的操作员框导出格式,并提升带掩膜模板匹配的精度和日志记录,同时进行一些配置和通知方面的小改动。
新功能:
- 为操作员框引入可配置的导出格式,包括剪贴板、JSON、Markdown 和 CSV,并持久化用户选择的选项。
改进:
- 通过使用带类型的枚举来表示导出格式,优化仓库导出处理逻辑。
- 通过使用更高精度的 DFT 缓冲区和方差处理,提高带掩膜的互相关模板匹配的数值稳定性和精度。
- 调整匹配日志和键生成的格式,使其更清晰易读。
- 优化“任务卡住”处理逻辑:始终显示本地 UI 通知,而外部通知则根据用户设置有条件触发。
- 在配置键中记录所选的操作员框导出格式。
- 在任务队列视图模型中记录招募确认次数的日志。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add new operator box export formats and improve masked template matching
precision and logging, along with minor configuration and notification
tweaks.
New Features:
- Introduce configurable export formats for the operator box, including
clipboard, JSON, Markdown, and CSV, with persistence of the selected
option.
Enhancements:
- Refine depot export handling by using typed enums for export formats.
- Improve numerical stability and precision of masked cross-correlation
template matching by using higher-precision DFT buffers and variance
handling.
- Adjust match logging and key generation formatting for clarity.
- Refine stalled task handling to always show local UI notifications
while making external notifications conditional on user settings.
- Track the selected operator box export format in configuration keys.
- Log recruit confirmation counts in the task queue view model.
</details>
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
添加新的操作员框导出格式,并提升带掩膜模板匹配的精度和日志记录,同时进行一些配置和通知方面的小改动。
新功能:
- 为操作员框引入可配置的导出格式,包括剪贴板、JSON、Markdown 和 CSV,并持久化用户选择的选项。
改进:
- 通过使用带类型的枚举来表示导出格式,优化仓库导出处理逻辑。
- 通过使用更高精度的 DFT 缓冲区和方差处理,提高带掩膜的互相关模板匹配的数值稳定性和精度。
- 调整匹配日志和键生成的格式,使其更清晰易读。
- 优化“任务卡住”处理逻辑:始终显示本地 UI 通知,而外部通知则根据用户设置有条件触发。
- 在配置键中记录所选的操作员框导出格式。
- 在任务队列视图模型中记录招募确认次数的日志。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add new operator box export formats and improve masked template matching
precision and logging, along with minor configuration and notification
tweaks.
New Features:
- Introduce configurable export formats for the operator box, including
clipboard, JSON, Markdown, and CSV, with persistence of the selected
option.
Enhancements:
- Refine depot export handling by using typed enums for export formats.
- Improve numerical stability and precision of masked cross-correlation
template matching by using higher-precision DFT buffers and variance
handling.
- Adjust match logging and key generation formatting for clarity.
- Refine stalled task handling to always show local UI notifications
while making external notifications conditional on user settings.
- Track the selected operator box export format in configuration keys.
- Log recruit confirmation counts in the task queue view model.
</details>
</details>
### 新增
1. 干员识别支持导出 Json/Markdown/CSV文件
2. 优化导出按钮布局与交互
3. 任务运行时也可以导出列表了
### 截图
<img width="783" height="662" alt="image"
src="https://github.com/user-attachments/assets/bc4536ba-1041-4ca3-b0a1-a5a321d55fde"
/>
### 重要事项
**我没有牛牛😭**
## Summary by Sourcery
为算子框识别结果新增多种导出格式和导出方式选择,并优化导出界面。
New Features:
- 支持将算子框识别数据导出为 JSON 文件。
- 支持将算子框识别数据导出为 Markdown 文件。
- 支持将算子框识别数据导出为 CSV 文件。
- 在配置中持久化上一次选择的算子框导出格式。
Enhancements:
- 通过用户可选择的导出格式,将单一导出操作路由到不同的导出方式,从而优化算子框导出交互。
- 通过对剪贴板导出和文件导出使用通知反馈,提升算子框导出时的用户反馈体验。
- 更新算子框工具箱的 UI 布局和本地化资源,以便在所有受支持语言中呈现新的导出选项。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add multiple export formats and selection for operator box recognition
results and refine the export UI.
New Features:
- Support exporting operator box recognition data as JSON files.
- Support exporting operator box recognition data as Markdown files.
- Support exporting operator box recognition data as CSV files.
- Persist the last selected operator box export format in configuration.
Enhancements:
- Refine the operator box export interaction by routing a single export
action through a user-selectable export format.
- Improve user feedback on operator box export by using notifications
for clipboard and file exports.
- Update operator box toolbox UI layout and localization resources to
surface the new export options across supported languages.
</details>
## Summary by Sourcery
引入任务停滞检测与通知,增强成就界面交互,并接入相关设置和视图组件。
New Features:
- 为运行中的任务添加可配置的停滞超时检测,当检测不到输出活动时,重复发送提醒通知。
- 允许在任务停滞时发送外部通知,由一个新的设置项进行控制。
- 支持从 growl 通知直接导航到特定成就,以及在成就列表中通过 ID 搜索并跳转到对应成就。
Enhancements:
- 追踪并同步成就搜索文本,以便可以通过代码触发搜索,同时保持 UI 状态一致。
- 优化任务队列日志记录,使日志写入可以选择性地抑制用于停滞检测的活动通知。
- 添加一个 RootView 的 code-behind 类,用于初始化主 WPF 视图。
Chores:
- 引入用于停滞超时和停滞通知设置的新配置键和值绑定,并更新相关的 XAML 和本地化资源。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Introduce task stall detection and notifications, enhance achievement UI
interactions, and wire up supporting settings and view components.
New Features:
- Add configurable stall timeout detection for running tasks with
repeated reminder notifications when no output activity is detected.
- Allow external notifications to be sent when tasks are stalled,
controlled by a new setting.
- Enable navigating directly to a specific achievement from growl
notifications and by ID-based searching in the achievement list.
Enhancements:
- Track and synchronize achievement search text so searches can be
triggered programmatically while keeping the UI in sync.
- Refine task queue logging so log writes can optionally suppress
activity notifications used by stall detection.
- Add a RootView code-behind class to initialize the main WPF view.
Chores:
- Introduce new configuration keys and bindings for stall timeout and
stall notification settings, and update related XAML and localization
resources.
</details>
### 改动
可以通过点击右上角弹出的成就横幅跳转至成就设置,并自动打开成就列表并筛选对应成就
## Summary by Sourcery
为成就通知横幅添加导航功能,可跳转到对应的设置部分和成就列表条目。
New Features:
- 允许点击成就的提示(growl)横幅,以打开成就设置页面,并聚焦到相关成就。
- 使成就列表对话框在打开时或加载完成后,可以直接滚动到指定成就。
Enhancements:
- 跟踪提示(growl)通知,将其与特定成就关联起来,并绑定点击处理程序,同时不影响现有按钮的行为。
- 引入一个 `RootView` 代码隐藏文件,用于初始化根视图组件。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add navigation from achievement notification banners to the
corresponding settings section and achievement list entry.
New Features:
- Allow clicking achievement growl banners to open the achievement
settings page focused on the relevant achievement.
- Enable the achievement list dialog to scroll directly to a specific
achievement when opened or once loaded.
Enhancements:
- Track growl notifications to associate them with specific achievements
and wire up click handlers without interfering with existing buttons.
- Introduce a RootView code-behind file to initialize the root view
component.
</details>
### 改动
1. 增加了“任务日志输出停滞时发送通知“功能,具体表现为:当任务日志在设定时间内没有发生更新时,进行日志输出和外部通知推送
2. 修改了选项“任务超时时间(分钟)”的最小值为1
3. 删除了旧有的通知方式
### 关联issue
#13271
## Summary by Sourcery
为停滞的任务日志输出添加可配置的检测与通知功能,并将其接入现有的运行状态与任务队列流程中。
新功能:
- 引入“停滞超时时间”设置:当任务日志输出在配置的时间段内没有更新时,触发警告和外部通知。
- 添加用户可配置开关:在任务发生停滞时,可选择在现有超时通知的基础上同时发送外部通知。
增强内容:
- 从任务队列中跟踪日志输出活动,以重置停滞检测计时器,避免误报的停滞告警。
- 将新的停滞超时和通知偏好持久化到配置中,并在游戏内及外部通知设置的 UI 中对其进行暴露。
- 调整超时通知处理逻辑,在记录日志和发送通知之前,先遵从对应的外部通知设置。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add configurable detection and notification for stalled task log output
and wire it into the existing running state and task queue flow.
New Features:
- Introduce a stall timeout setting that triggers warnings and external
notifications when task log output has no updates for a configured
period.
- Add a user-configurable switch to send external notifications on task
stalls alongside existing timeout notifications.
Enhancements:
- Track log output activity from the task queue to reset stall detection
timers and avoid false-positive stall alerts.
- Persist the new stall timeout and notification preferences in
configuration and expose them in the game and external notification
settings UI.
- Adjust timeout notification handling to respect the corresponding
external notification setting before logging and sending notifications.
</details>