- close#17032
@MaaAssistantArknights/i18n-dev
## Summary by Sourcery
为理智药剂使用添加详细的报告和 UI 处理,包括按药剂的使用信息,并重构处理该子任务消息的位置。
新特性:
- 在理智药剂使用的 `SubTaskExtraInfo` 消息中加入按药剂的使用详情,并在任务队列日志中展示这些信息。
增强:
- 将药剂使用子任务的处理从 `AsstProxy` 移动到
`FightSettingsUserControlModel`,并扩展以展示当前使用的药剂信息,同时保留成就追踪功能。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add detailed reporting and UI handling for sanity medicine usage,
including per-medicine information, and refactor where this subtask
message is processed.
New Features:
- Include per-medicine usage details in SubTaskExtraInfo messages for
sanity medicine usage and surface them in the task queue logs.
Enhancements:
- Move medicine usage subtask handling from AsstProxy into
FightSettingsUserControlModel and extend it to show currently used
medicine information while preserving achievement tracking.
</details>
## Summary by Sourcery
围绕共享的 `ReclamationMode` 枚举统一回收任务模式处理方式,并相应更新 UI 和配置流程。
New Features:
- 引入共享的 `ReclamationMode` 枚举,在各类回收主题和任务中统一用于表示算法模式。
Bug Fixes:
- 确保 `RelaunchAnchor` 模式选择在使用新的基于位标志(bitflag)的模式值时,仍能正确映射到 `RA-1` 和
`RA-15`,并保持已序列化配置中的现有行为不变。
Enhancements:
- 更新回收设置视图模型,使其暴露统一的模式列表;该列表会根据当前选中的主题动态重建,同时在可能的情况下保留当前选择。
- 调整 `ReclamationTask` 及相关配置类,使用新的 `ReclamationMode` 枚举来替代原先按主题划分的整型模式值。
- 在主题或底层任务数据变更时刷新回收模式选项,以保持 UI 与模型的同步。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Unify reclamation task mode handling around a shared ReclamationMode
enum and update UI and config flows accordingly.
New Features:
- Introduce a shared ReclamationMode enum used across reclamation themes
and tasks to represent algorithm modes.
Bug Fixes:
- Ensure RelaunchAnchor mode selection correctly maps to RA-1 and RA-15
using the new bitflag-based mode values while maintaining existing
behavior in serialized configs.
Enhancements:
- Update reclamation settings view model to expose a unified mode list
that is dynamically rebuilt based on the selected theme while preserving
the current selection where possible.
- Adjust ReclamationTask and related config classes to use the new
ReclamationMode enum instead of theme-specific integer modes.
- Refresh reclamation mode options whenever the theme or underlying task
data changes to keep the UI and model in sync.
</details>
增强内容:
- 将原本分别使用整数和主题特定表示的回收模式,统一替换为在任务配置和视图模型中通用的 `ReclamationMode` 枚举。
- 更新回收设置的 UI,使其根据所选主题动态生成模式列表,并在主题变化时保持已选模式同步。
- 调整配置转换和任务序列化逻辑,使其使用新的枚举来读写回收模式,同时保持现有行为不变。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
围绕共享的 `ReclamationMode` 枚举统一回收任务模式处理方式,并相应更新 UI 和配置流程。
New Features:
- 引入共享的 `ReclamationMode` 枚举,在各类回收主题和任务中统一用于表示算法模式。
Bug Fixes:
- 确保 `RelaunchAnchor` 模式选择在使用新的基于位标志(bitflag)的模式值时,仍能正确映射到 `RA-1` 和
`RA-15`,并保持已序列化配置中的现有行为不变。
Enhancements:
- 更新回收设置视图模型,使其暴露统一的模式列表;该列表会根据当前选中的主题动态重建,同时在可能的情况下保留当前选择。
- 调整 `ReclamationTask` 及相关配置类,使用新的 `ReclamationMode` 枚举来替代原先按主题划分的整型模式值。
- 在主题或底层任务数据变更时刷新回收模式选项,以保持 UI 与模型的同步。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Unify reclamation task mode handling around a shared ReclamationMode
enum and update UI and config flows accordingly.
New Features:
- Introduce a shared ReclamationMode enum used across reclamation themes
and tasks to represent algorithm modes.
Bug Fixes:
- Ensure RelaunchAnchor mode selection correctly maps to RA-1 and RA-15
using the new bitflag-based mode values while maintaining existing
behavior in serialized configs.
Enhancements:
- Update reclamation settings view model to expose a unified mode list
that is dynamically rebuilt based on the selected theme while preserving
the current selection where possible.
- Adjust ReclamationTask and related config classes to use the new
ReclamationMode enum instead of theme-specific integer modes.
- Refresh reclamation mode options whenever the theme or underlying task
data changes to keep the UI and model in sync.
</details>
</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>