Commit Graph

19235 Commits

Author SHA1 Message Date
status102
fbf66862b3 perf(wpf): PostAction清空按钮新增仅一次状态同步 2026-06-02 01:43:59 +08:00
uye
4aa5d0c330 Revert "perf: 仅在LinkStart时执行完成后动作, 避免单次运行时触发"
This reverts commit b3801e64ee.
2026-06-02 00:27:06 +08:00
uye
66f2e9e752 chore: 调整吐司通知禁用说明 2026-06-02 00:26:40 +08:00
DavidWang19
067fdab400 feat: 支持 ImageCropper 截取 PC 窗口 (#16969) 2026-06-01 16:51:55 +01:00
SherkeyXD
c277a69110 feat: 界面主题「出猎」 2026-06-01 22:19:04 +08:00
uye
7bca192a21 fix: roi 2026-06-01 21:22:48 +08:00
github-actions[bot]
b2510df2ed feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26757428388
[skip changelog]
2026-06-01 13:19:48 +00:00
Rin
1d46ff16a1 feat: 增加怪猎联动二期 TD-6/7/8 (#16962)
* feat: 增加怪猎联动二期 TD-6/7/8

* chore: revert stage.json

* chore: 移除多余逻辑

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-06-01 21:18:32 +08:00
Aliothmoon
c8d6d99010 chore: update MaaDeps version to v2.11.0 (#16961)
see https://github.com/MaaAssistantArknights/MaaDeps/pull/36
2026-06-01 20:42:37 +08:00
github-actions[bot]
3a4e2ebd53 chore: Auto Update Game Resources - 2026-06-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26750150948

[skip changelog]
2026-06-01 10:46:42 +00:00
status102
d4ce454114 i18n: 修改描述文本 过期关卡重置为 -> 过期活动关卡重置为 以更加符合当前重置范围 2026-06-01 17:50:04 +08:00
status102
90cd87d7f3 perf(wpf): 临期药下拉框显示24h x n 2026-06-01 17:42:57 +08:00
status102
e7151cdf8d rft: 悖论模拟作业列表变量名与实际不符 2026-06-01 17:40:14 +08:00
github-actions[bot]
d0d492b5b3 chore: Auto Templates Optimization
Triggered by 857742dfdc

[skip changelog]
2026-06-01 09:24:06 +00:00
momomochi987
857742dfdc docs: 帳號切換手冊與整合協議補上繁中服說明
- manual/introduction/startup.md:example 區加入繁中服 Email 帳號範例
- protocol/integration.md:account_name 範例區加入繁中服說明
- ko-kr/manual/introduction/startup.md:移除『不支援全球服 (CN만 가능)』
  字樣,並對齊其他語系的條列範例格式
- zh-tw / zh-cn / en-us / ja-jp / ko-kr 五個語系同步更新
2026-06-01 17:17:17 +08:00
momomochi987
9f16ccd95f docs: 更新帳號切換小提示,加入繁中服 Email 帳號說明
- 將支援客戶端清單從『官服、B服』擴充為『官服、B服、繁中服』
- 新增繁中服 Email 帳號的填寫範例,建議使用不含星號的明文片段
- 將原本『不支援登入帳號』改為更精準的『不支援第三方登入方式』
- zh-tw / zh-cn / en-us / ja-jp / ko-kr 五個語系同步更新
2026-06-01 17:11:28 +08:00
momomochi987
c20c103176 feat: GUI 啟動設定支援繁中服顯示帳號名欄位
- StartUpTaskUserControl.xaml:帳號名 TextBox 與『立即切換』按鈕的 Visibility 條件加入 txwy
- StartUpSettingsUserControlModel.cs:序列化時將 Txwy 視為支援帳號切換的客戶端類型
2026-06-01 17:09:47 +08:00
momomochi987
db665d52a9 feat: 繁中服資源補上帳號切換流程與模板
- tasks.json 新增帳號切換相關 task override:
  - LoginOther 加入 AccountManagerTxwy 為候選入口
  - AccountManagerTxwy 設定 ROI (供 template match 使用)
  - Settings 改成直接接 LogoutOCR/Logout,跳過繁中沒有的 UserCenter/ExitOld 中間層
  - LogoutOCR / LogoutConfirm / AccountCurrentOCR / AccountManagerLoginButton /
    AccountManagerListAccount / AccountManagerTrashButton / AccountManager
    依繁中介面位置調整 ROI 與識別文字
  - AccountManager 改用 OCR detect 偵測「帳號管理」,避開原 template 比 ROI 大的問題
  - LogoutConfirm 直接 reuse 既有的 PopupConfirm.png
- 新增 AccountManagerTxwy.png:繁中服帳號管理頁的 GRYPHLINE 標誌特徵塊
2026-06-01 17:09:18 +08:00
momomochi987
9237dddda4 feat: AccountSwitchTask 支援繁中服客戶端
- 在 _run/select_account 將 txwy 視為與 Official 同類,套用 char model OCR
- navigate_to_start_page 認得 AccountManagerTxwy 作為登入頁入口
- SupportedClientType 將 txwy 從註解移到實際列表
2026-06-01 17:08:26 +08:00
Saratoga-Official
22635a7b60 fix: 御龙装置识别 2026-06-01 14:19:30 +08:00
github-actions[bot]
cae85ce6da chore: Auto Update Game Resources - 2026-05-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26727125523

[skip changelog]
2026-05-31 23:08:28 +00:00
github-actions[bot]
b1436cb7c7 chore: Auto Update Game Resources - 2026-05-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26723878173

[skip changelog]
alpha/v6.11.0-beta.2.d015.gb1436cb7c7
2026-05-31 20:41:18 +00:00
Rin
9bd27f7968 Revert "fix: 调整基建干员名 OCR 区域" (#16937)
* Revert "fix: 调整基建干员名 OCR 区域 (#16905)"

This reverts commit 89377eba94.

* revert: EN changes no longer needed

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2026-05-31 22:34:18 +08:00
github-actions[bot]
3ebdd1f03f feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26696235621
[skip changelog]
alpha/v6.11.0-beta.2.d013.g3ebdd1f03f
2026-05-30 22:10:57 +00:00
github-actions[bot]
4496d5c9da chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26695211011
[skip changelog]
2026-05-30 21:21:39 +00:00
Rin
137f7764bd fix: 优化追加自定干员弹窗删除时的布局 (#16921)
* fix: 优化追加自定干员弹窗删除时的布局

* refactor: 统一追加自定干员列表高度配置
2026-05-30 23:53:43 +08:00
github-actions[bot]
6c4527e00d chore: Auto Update Game Resources - 2026-05-30
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26682018364

[skip changelog]
2026-05-30 10:55:40 +00:00
Constrat
127ef87f9c fix: revert OCR changes 2026-05-30 12:37:41 +02:00
status102
b3801e64ee perf: 仅在LinkStart时执行完成后动作, 避免单次运行时触发 2026-05-30 17:51:11 +08:00
Status102
7d6ad3b4c1 rft: 水月萨卡兹肉鸽 关闭next弹窗 (#16918)
* rft: 水月肉鸽 关闭next弹窗

* rft: 萨卡兹part

* perf: 简化模板声明
2026-05-30 17:21:21 +08:00
uye
a10391e9d4 perf: 优化信用商店复核逻辑 (#16932)
* perf: 优化信用商店复核逻辑

* chore: 增加对 OCR 结果为空的处理
2026-05-30 17:12:59 +08:00
github-actions[bot]
5f1869ab46 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26663324632
[skip changelog]
alpha/v6.11.0-beta.2.d005.g5f1869ab46
2026-05-29 21:35:11 +00:00
Rin
89377eba94 fix: 调整基建干员名 OCR 区域 (#16905)
- 扩大笑脸锚点派生的干员名识别范围
2026-05-30 01:10:32 +08:00
Rin
4b520aaac9 fix: 修复宿舍自定义干员+信赖补位的bug&外服同步修复&提升代码可读性 (#16659)
* fix: 修复宿舍自定义干员+信赖补位的bug

* chore: EN

* fix: 补充宿舍筛选全部按钮的日韩识别文本

补充日服“全て”和韩服“전부”,用于取消宿舍“未进驻”筛选时点击“全部”选项。

* refactor: improve infrast dorm task readability

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: Roland125 <oroland125@outlook.com>
2026-05-30 00:56:57 +08:00
status102
0f25895c6d feat(wpf): CustomWebhook支持自定义Headers 2026-05-30 00:25:48 +08:00
github-actions[bot]
5681d6a37e chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26603778911
[skip changelog]
alpha/v6.11.0-beta.2.d001.g5681d6a37e
2026-05-28 21:39:41 +00:00
uye
23ad7fd301 Release v6.11.0-beta.2 (#16919) v6.11.0-beta.2 2026-05-29 01:46:14 +08:00
uye
ed817cce19 fix: changelog 猪了 2026-05-29 01:45:36 +08:00
uye
854b9ec9b0 Release v6.11.0-beta.2 (#16916)
## Summary by Sourcery

通过将串口配置与命令执行分离,并对共享客户端实例的访问强制使用互斥锁保护,改进 ADB-lite 客户端管理。

改进内容:
- 添加锁定辅助工具,在执行 connect、shell、exec、push 和交互式 shell 命令之前,验证并保护对共享 ADB-lite
客户端的访问。
- 在 PlatformIO/AdbLiteIO 上引入可配置的 ADB
串口,并在客户端(重新)初始化时提供安全机制,同时在客户端创建失败时记录错误日志。
- 调整 ADB 释放逻辑,仅在存在 ADB-lite 客户端时才发出释放命令,从而减少不必要的操作。
- 连接 AdbController,将设备地址向下传递到平台 I/O 层,以在各类命令中实现 ADB-lite 客户端的一致使用。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Improve ADB-lite client management by separating serial configuration
from command execution and enforcing mutex-guarded access to the shared
client instance.

Enhancements:
- Add a locking helper to validate and guard access to the shared
ADB-lite client before executing connect, shell, exec, push, and
interactive shell commands.
- Introduce a configurable ADB serial on PlatformIO/AdbLiteIO with safe
client (re)initialization and error logging when client creation fails.
- Adjust ADB release logic to only issue release commands when an
ADB-lite client is present, reducing unnecessary operations.
- Wire AdbController to propagate the device address into the platform
I/O layer for consistent ADB-lite client usage across commands.

</details>
2026-05-29 01:42:01 +08:00
uye
b3eb6cbbc5 ai: changelog details 增加日期 2026-05-29 01:41:21 +08:00
uye
f4fafde9bf docs: changelog 2026-05-29 01:33:56 +08:00
github-actions[bot]
952c97d9a6 chore: Auto Update Game Resources - 2026-05-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26589446911

[skip changelog]
2026-05-28 17:00:23 +00:00
Loong
b2fa9a1c3e fix: 显式声明 adb-lite client 对应的 serial (#16853)
## 概述

- 在 `AdbController::connect` 确定目标 address/serial 后,通过
`PlatformIO::set_adb_serial` 显式声明当前 adb 设备。
- NativeIO 默认忽略该调用;AdbLiteIO 使用该 serial 初始化或切换内部 adb-lite client。
- adb-lite 的 `shell`、`exec-out`、`push` 和交互式 shell 只使用已声明的
client,不再从命令路径里隐式初始化 client。
- AdbLiteIO 内部集中校验 client/serial,并用 mutex 覆盖 `m_adb_client` /
`m_adb_serial` 以及对 adb-lite client 的调用,避免 `call_command` 与
`interactive_shell` 并发访问同一状态。

## 背景

#16850 已修复 `adb connect` 被跳过后 adb-lite client 未初始化的问题,并补充了内部锁保护。这个 PR
是后续调整:把 client 初始化入口从命令执行路径挪到连接生命周期中,让状态声明更明确。

## 修复方式

连接阶段已经知道当前 address/serial,所以在设置 connect/release 命令后调用:

```cpp
m_platform_io->set_adb_serial(address);
```

对 NativeIO 来说这是 no-op;对 AdbLiteIO 来说,这是初始化或切换 `adb::client` 的入口。

后续 adb-lite 命令路径通过 `lock_adb_client(serial)` 统一校验命令中的 `-s <serial>` 与当前
client 对应的 serial 一致,并在同一把锁仍然持有时调用 adb-lite client。这样避免在
`interactive_shell` 中隐式写入 client/serial 状态,也避免把 `m_adb_client` 暴露给无锁调用。

`set_adb_serial` 也改为先创建临时 `adb::client`,创建成功后再提交 `m_adb_serial` /
`m_adb_client` 状态;如果创建失败则记录错误并清空 adb-lite client 状态,避免 serial 已切换但
client 仍指向旧对象的不一致状态。

## 验证

- `git diff --check --cached`
- `cmake --build /private/tmp/maa-build-8599-core --parallel 8`
- `cmake --install /private/tmp/maa-build-8599-core --config
RelWithDebInfo`
- 本机 `maa` CLI + Android 35 arm64 AVD:
  - `maa run connect-only -p adb-lite-test --no-summary -vvv`
  - 日志显示 `Loading MaaCore from: /private/tmp/maa-test-data-8599/lib`
  - 日志显示 `Setting adb lite enabled to true`
  - 日志到达 `Connected`
  - 日志到达 `FastestWayToScreencap Encode`
  - 未出现 `adb client not initialized`
  - 未出现 `failed to create adb-lite client`
  - 未出现 `fallback to NativeIO`
2026-05-29 00:46:30 +08:00
uye
5a4c3fe7b4 fix: 修复开启基建退出提醒时无法退出基建
fix #16913
2026-05-29 00:04:39 +08:00
github-actions[bot]
e8a6d8b063 chore: Auto Update Game Resources - 2026-05-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26584047595

[skip changelog]
2026-05-28 15:22:16 +00:00
uye
6ed2275197 fix: 修复快捷切换在遇到 LoadingText 时无法跳出循环
fix #16910
2026-05-28 23:03:18 +08:00
github-actions[bot]
35a92857d1 chore: Auto Update Game Resources - 2026-05-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26559057935

[skip changelog]
2026-05-28 06:40:01 +00:00
uye
e6360ac8a8 Release v6.11.0-beta.1 (#16906)
## Summary by Sourcery

在提供的 resource/tasks/tasks.json
差异中看不到任何功能性更改;根据现有信息,此次发布似乎不包含代码、配置或文档方面的修改。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

No functional changes are visible in the provided diff for
resource/tasks/tasks.json; the release appears to contain no code,
config, or documentation modifications based on the available
information.

</details>
v6.11.0-beta.1
2026-05-28 14:07:30 +08:00
uye
046459acee fix: 信用收支卡在商店里 2026-05-28 14:05:56 +08:00
uye
50814459f0 Release v6.11.0-beta.1 (#16895)
## Sourcery 总结


为作战任务新增基于仓库库存的掉落目标模式,重做自动公招标签偏好及保留逻辑,改进任务队列交互体验和通知处理,并增强平台与文件系统工具的健壮性,同时更新配置处理方式和文档。

新功能:
- 为作战任务中指定掉落物新增“按仓库库存为目标”的模式,包括按核心任务的运行时追踪,以及展示当前库存和有效刷取数量的 UI。
- 新增对可配置公招标签(包括机器人)的保留支持,通过开关 UI 和回调实现,取代旧的“1 级干员跳过”行为。
- 允许在任务队列中通过新的复制操作来重复已有任务。
- 暴露通知可用状态,并在启动时以及启用通知时展示 toast 通知健康检查结果。
- 新增可复用的公招标签列表归一化工具,以及用于迁移旧版公招保留标签配置的 JSON 转换器。

缺陷修复:
- 在视觉辅助工具中避免出现无效的零大小 ROI:将全零矩形视为对整张图片的请求,并仅记录真正的空区域日志。
- 修复子进程中的 POSIX shell 命令执行行为,避免在 `exec` 失败后返回并破坏父进程状态。
- 通过使用错误码和受保护的目录遍历,使调试图像维护对权限与文件系统错误更加健壮。
- 确保任务索引在选择变更后保持一致,并在任务队列日志及 UI 绑定中统一使用正确的任务显示名称属性。
- 正确处理仓库识别更新和任务状态变化,使基于库存的掉落目标能正确刷新,同时在任务运行时避免修改配置。
- 在加载与序列化过程中对公招标签进行归一化,避免重复或空标签项。
- 在存在备用基础 URL 时,避免意外退回到使用缓存的 API 响应。

优化改进:
- 优化作战设置的用户体验:提供更清晰的中文 XML 注释,重命名拖拽状态属性,并改进掉落相关绑定的更新逻辑。
- 重做自动公招参数以支持偏好的 3★ 标签和独立的保留标签,调整 toast 行为,并将旧的 `skip_robot`
仅保留在协议层以保证向后兼容。
- 清理重复的布尔配置解析逻辑,在多个设置视图模型和服务中统一使用强类型的 `ConfigurationHelper.GetValue` 调用。
- 改进 tooltip 基础设施,以支持自定义 tooltip 内容、启用状态以及更丰富的绑定。
- 调整内部日志辅助工具和基础设施生产任务日志,使日志信息更清晰、更结构化,并统一日志记录器用法。
- 改善启动行为,将配置恢复和 toast 通知检查拆分为后台任务,并更新高级设置可见性逻辑。
- 收紧 adb-lite shell 封装及其他一些基础设施代码路径,使其更清晰和更健壮。

CI:
- 在多个工作流中将第三方 GitHub Actions(push 和 AI 分析)固定到具体的提交 SHA,以提升 CI 行为的可复现性。

文档:
- 更新所有支持语言的集成协议文档,弃用 `skip_robot`,记录新的 `skip_tags` 参数,并调整公招示例。
- 在所有支持语言中扩展回调模式文档,加入新的 `RecruitPreservedTag` 通知说明。
- 明确自动公招手册内容,描述偏好 3★ 标签、保留标签行为以及更新后的通知触发条件。

<details>
<summary>Original summary in English</summary>

## Sourcery 总结


为战斗任务引入基于仓库库存的目标掉落模式,重构自动公招偏好与保留标签配置,改进任务队列交互体验和通知健康检查,并加强平台、文件系统与配置处理的健壮性。

新特性:
- 为战斗任务新增“基于仓库库存的目标掉落模式”,包括按核心任务进行运行时追踪,以及在 UI 中展示当前库存和有效刷取数量。
- 为自动公招新增“偏好 3★ 标签”和“保留标签”配置,包含新的 UI 控件、核心支持和回调通知。
- 允许在任务队列中通过“复制”操作复用现有任务。
- 暴露 toast 通知的可用性,并向用户展示启动时的健康检查结果。
- 引入可复用的助手工具,用于公招标签列表的规范化处理以及旧版公招配置的迁移。

缺陷修复:
- 在视觉助手中避免出现无效的零尺寸 ROI:将全零矩形视为“全图请求”,只对真正为空的区域进行日志记录。
- 修复子进程中 POSIX Shell 命令执行的问题,确保 exec 失败会正确终止子进程,而不会破坏父进程状态。
- 通过受保护的目录遍历和支持错误码的日志记录,提高调试图像维护在面对文件系统和权限错误时的健壮性。
- 当选择变化时,保持任务队列模型、日志和绑定中的任务索引与显示名称一致。
- 修正仓库识别更新与任务状态变更的处理逻辑,确保基于库存的掉落目标能够正确刷新且不会在运行过程中修改配置。
- 在加载与序列化时规范化公招标签,避免出现重复或空标签项。
- 当为 Maa API 请求配置了备用基础 URL 时,避免回退到缓存的 API 响应。
- 改进基建任务中的产品变更与无人机使用流程,更好地处理产品识别不稳定和产品变更失败的情况,避免阻塞干员上岗。
- 确保肉鸽藏品刷取在退出“最后领奖”流程时正确重置配置标记。

改进与优化:
- 优化战斗设置相关的交互体验:提供更清晰的中文 XML 注释,重命名拖拽状态属性,并改进与运行时状态绑定的掉落绑定刷新逻辑。
- 重构自动公招参数,使其支持“偏好 3★ 标签”和“独立的保留标签”,同时将传统的 `skip_robot` 限制在协议层用于兼容旧版。
- 通过统一使用 `ConfigurationHelper.GetValue`
替代临时的布尔解析逻辑,实现强类型的集中化配置访问,覆盖各项设置与服务代码。
- 扩展工具提示(tooltip)基础设施,以支持自定义内容、启用状态以及更丰富的数据绑定。
- 精简内部日志助手工具,生成更清晰、更结构化的日志并简化日志记录调用方式。
- 调整启动流程,将配置恢复与 toast 通知检查放入后台任务执行,并优化高级设置的显示逻辑。
- 收紧 adb-lite shell 封装及相关平台代码,使执行路径更清晰、更可靠。
- 更新窗口、托盘、睡眠管理及其他 GUI 行为,以更稳定地遵循新的配置默认值。
- 改进基建产物与无人机插件的行为,提供更清晰的日志,并采用更严格的产品识别置信度阈值。

持续集成(CI):
- 将用于 push 和 AI 分析的第三方 GitHub Actions 固定到具体的提交 SHA,以提升 CI 行为的可复现性。

文档:
- 更新所有支持语言的对接协议文档,弃用 `skip_robot`,补充新的 `skip_tags` 参数,并刷新自动公招示例。
- 在所有支持语言中扩展回调协议文档,新增 `RecruitPreservedTag` 通知说明。
- 明确自动公招说明文档,对“偏好 3★ 标签”、保留标签的行为以及更新后的通知触发条件进行详细说明。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce inventory-based target drop mode for fight tasks, rework auto
recruitment preferences and preserved tags, improve task queue UX and
notification health checks, and harden platform, filesystem, and
configuration handling.

New Features:
- Add inventory-based target drop mode for fight tasks, including
runtime tracking per core task and UI display of current inventory and
effective farming quantity.
- Add preferred 3★ tag and preserved tag configuration for auto
recruitment, with new UI controls, core support, and callback
notifications.
- Allow duplicating existing tasks in the task queue via a copy action.
- Expose toast notification availability and surface a startup health
check to users.
- Introduce reusable helpers for recruitment tag list normalization and
migration of legacy recruitment configuration.

Bug Fixes:
- Prevent invalid zero-size ROIs in vision helpers by treating all-zero
rectangles as full-image requests and logging only truly empty regions.
- Fix POSIX shell command execution in child processes so exec failures
terminate the child without corrupting the parent process state.
- Harden debug image maintenance against filesystem and permission
errors through guarded directory traversal and error-code-aware logging.
- Keep task indices and display names consistent across task queue
models, logs, and bindings when the selection changes.
- Correct handling of depot recognition updates and task state changes
so inventory-based drop targets refresh correctly without mutating
configuration during runs.
- Normalize recruitment tags on load and serialization to avoid
duplicate or empty items.
- Avoid falling back to cached API responses when a fallback base URL is
configured for Maa API requests.
- Improve product change and drone-usage workflows in infrastructure
tasks to better handle weak product detection and product-change
failures without blocking staffing.
- Ensure roguelike collectible runs reset configuration flags correctly
when exiting last-reward handling.

Enhancements:
- Refine fight settings UX with clearer Chinese XML comments, renamed
drag state properties, and improved drop-binding refresh logic tied to
runtime state.
- Rework auto recruitment parameters to support preferred 3★ tags and
independent preserved tags while keeping legacy `skip_robot` only at the
protocol layer for backward compatibility.
- Centralize strongly typed configuration access by replacing ad-hoc
boolean parsing with `ConfigurationHelper.GetValue` across settings and
services.
- Extend tooltip infrastructure to support custom content, enabled
state, and richer bindings.
- Streamline internal logging helpers to produce clearer, more
structured logs and simplify logger usage.
- Adjust startup behavior to run config recovery and toast notification
checks in background tasks and refine advanced settings visibility.
- Tighten adb-lite shell wrapping and related platform code for clearer,
more robust execution paths.
- Update window, tray, sleep management, and other GUI behaviors to
respect new configuration defaults more reliably.
- Improve infrastructure production and drone plugins with clearer
logging and stricter product verification confidence thresholds.

CI:
- Pin third-party GitHub Actions used for pushes and AI analysis to
specific commit SHAs for more reproducible CI behavior.

Documentation:
- Update integration protocol docs in all supported languages to
deprecate `skip_robot`, document the new `skip_tags` parameter, and
refresh auto recruit examples.
- Extend callback schema documentation in all supported languages with
the new `RecruitPreservedTag` notification.
- Clarify auto recruitment manuals to describe preferred 3★ tags,
preserved tag behavior, and updated notification triggers.

</details>

</details>
2026-05-28 13:32:02 +08:00