Commit Graph

2356 Commits

Author SHA1 Message Date
uye
ec41e33ea8 feat: MuMu 截图增强支持 emulator-5xxx 格式端口 (#17255)
* feat: MuMu 截图增强支持 emulator-5xxx 格式端口

* chore: review
2026-07-04 04:06:48 +08:00
github-actions[bot]
01d80e9458 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28622519749
[skip changelog]
2026-07-02 21:26:20 +00:00
Aliothmoon
7897839948 fix: DBNet UnClip 用 MaaDeps polyclipping 替换近似偏移 (#17227)
* fix: ncnn DBNet UnClip 对齐 fastdeploy 多边形偏移

* chore: use maadeps polyclipping

* chore: bump MaaDeps version
2026-07-03 01:09:07 +08:00
uye
a49bca5844 feat: 增加当前模拟器设置帧率检测与提示 (#17219) 2026-07-02 14:53:52 +08:00
Drest
252e3aa954 fix: 修复 MuMu 模拟器下第 32 个及以后多开模拟器的编号计算错误 (#17112)
* fix: 修复 MuMu 模拟器下第 32 个及以后多开模拟器的编号计算错误

* perf: 优化编号计算代码

* chore: 修改注释

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-07-02 14:37:44 +08:00
Aliothmoon
72c68bd1e0 chore: 补点注释 (#17205) 2026-06-27 13:53:32 +08:00
github-actions[bot]
5bfbd22215 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28130848588
[skip changelog]
2026-06-24 21:31:18 +00:00
Aliothmoon
418a4aa0e0 fix: ncnn 对齐 fastdeploy 的 det 缩放与 rec 预处理 (#17182)
* fix: 对齐 OcrPackNcnn det 缩放算法与 fastdeploy

- 小 ROI 下 ceil 直接就爆了,识别会出现问题

* fix: ncnn 对齐 fastdeploy de1通道序/打分/裁剪

* fix: OcrPackNcnn det 无框兜底走整图 rec,尺寸过滤对齐 fastdeploy
2026-06-24 10:58:22 +08:00
status102
ba47dd16cf fix: 猪猪 2026-06-22 12:24:31 +08:00
Status102
8f860635aa fix: 错误短路 2026-06-21 16:05:40 +08:00
github-actions[bot]
6b7ec43006 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27721405857
[skip changelog]
2026-06-17 21:41:25 +00:00
status102
0d66797b34 fix: 漏了 2026-06-17 18:21:06 +08:00
Aliothmoon
9097d4e1c1 feat: Android OCR 推理使用 NCNN (#17133) 2026-06-17 16:56:03 +08:00
status102
0b281e6ff6 fix: 自动战斗导航retry异常, 跳过作业 2026-06-17 14:24:55 +08:00
Halo
a73ce8efeb fix: respect timeout while waiting for macOS socket data (#17027)
fix: respect timeout while waiting for POSIX socket data
2026-06-12 01:35:09 +08:00
uye
562ff75c5a chore: 简化 external_renderer_ipc 加载成功的日志 2026-06-12 00:27:03 +08:00
status102
263a84831d fix: 自动战斗导航选错关卡无法重选 2026-06-11 21:09:30 +08:00
status102
e44ccffe0e perf: 不再使用不必要的子任务 2026-06-11 21:09:29 +08:00
uye
d900c20b65 chore: 加两个提前返回 2026-06-11 21:02:20 +08:00
status102
d373e3a094 fix: 多作业模式关卡名复核失效 2026-06-11 20:41:04 +08:00
status102
9b51d03415 fix: 有小猪 2026-06-11 13:10:41 +08:00
status102
54d00e741d perf(core): OCRer DEBUG下m_image_draw绘制增加结果文本 2026-06-11 13:08:39 +08:00
uye
4245829444 Revert "chore: 删除多余验证"
This reverts commit e208a2f94e.
2026-06-10 00:56:33 +08:00
uye
127e84462e Revert "fix: Potential fix for pull request finding"
This reverts commit 588bfb3778.
2026-06-10 00:56:33 +08:00
uye
e208a2f94e chore: 删除多余验证 2026-06-10 00:36:35 +08:00
uye
588bfb3778 fix: Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-10 00:35:07 +08:00
Rin
0b3f97dea9 fix: 增加贸易站订单切换重试和产物确认逻辑 (#16954) 2026-06-09 11:25:39 +08:00
github-actions[bot]
605b1518b4 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27168308205
[skip changelog]
2026-06-08 21:34:20 +00:00
Status102
f3df45bac4 feat: 理智药使用增加使用中的药品信息 (#17034)
- 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>
2026-06-09 02:05:32 +08:00
status102
9b951cbabf perf: 优化部分情况下自动战斗导航OCR结果中会出现误识别的前缀 2026-06-09 01:54:04 +08:00
uye
edeaeeba49 feat: 支持 mumu 6.0 截图增强路径 (#16994)
* feat: 支持 mumu 6.0 截图增强路径

* chore: Update src/MaaCore/Controller/MumuExtras.cpp

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: 示例路径

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2026-06-09 01:52:02 +08:00
status102
6e1f9e0fce feat: 理智药使用增加使用中的药品信息 2026-06-07 18:03:17 +08:00
uye
0a551b95f9 feat: 切换主题时保存当前画面截图 (#16993)
* feat: 切换主题时保存当前画面截图

* chore: SwitchTheme tasks 定义移到子文件夹中
2026-06-07 00:17:54 +08:00
Status102
bba3f3281a rft: 基于灰度阈值预处理的自动战斗导航, 适配H关及怪猎2期 (#16990)
* rft: 基于灰度阈值的自动战斗导航, 适配H关及怪猎2期

* perf: 清理

* fix: replace

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: loule

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-04 09:54:16 +08:00
Status102
4843310bec feat: 悖论模拟支持跳过战斗失败的作业, 自动战斗作业增加对应结构 (#16985)
feat: 悖论模拟支持跳过战斗失败的作业
2026-06-04 09:53:56 +08:00
Aliothmoon
77612daaeb fix: MaskedCcoeffMatcher 稀疏路径累加器改用 CV_64F 防止大数相减精度损失 (#16983) 2026-06-04 00:54:19 +08:00
github-actions[bot]
c5d4ceb7e4 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/26784708703
[skip changelog]
2026-06-01 22:03:47 +00:00
status102
e7151cdf8d rft: 悖论模拟作业列表变量名与实际不符 2026-06-01 17:40:14 +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
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
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]
2026-05-29 21:35:11 +00: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
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
status102
9c91b666cb fix: 避免多次correct_rect后返回全图rect 2026-05-27 12:58:08 +08:00
status102
7a33b92d58 fix: 避免多次correct_rect后返回全图rect 2026-05-27 12:46:58 +08:00
status102
b48c640119 fix: LogWarn 等宏在 Release 下依旧输出scope导致额外间隔 2026-05-27 12:46:57 +08:00
uye
0289fa0381 feat: 公招保留指定词条 (#16586)
* feat: 保留指定词条

* chore: wpf 不再传递 skip_robot

* rft: 提取共用方法

* perf: 传参

* rft: 统一使用 PreserveTags

* fix: NameOrTaskType

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2026-05-27 00:46:02 +08:00
Alex Gu
45aefd30d7 fix: filenum_ctrl SIGABRT (#16233) + PosixIO fork _exit + CI action SHA pin (#16502)
* fix: PosixIO::call_command 中 fork 后 child 缺少 _exit 导致 unwind 进 parent 代码

当 execlp 失败时,child 分支走 `return std::nullopt`,该子进程会从
PosixIO::call_command 一路 unwind 回 AdbController::call_command 及其
caller,跟 parent 同时跑:

- 在 child 地址空间副本中释放 m_callcmd_mutex(caller 处持有的 unique_lock)
- 后续命中 `kill(m_child, SIGTERM)` 时 child 视角 m_child==0
  → POSIX `kill(0, SIG)` 给整个进程组发信号 → 把 parent 一并杀掉
- 析构时双 close 同一 fd 号(kernel 已重用给别处)→ 关掉 parent 的
  socket / log fd → 后续 read/write 错乱

查看 git 历史发现回归引入于 #7748(perf: update PosixIO::call_command, 2023-12)。
当时 perf 重构把 child 分支结尾的 `::exit(exit_ret)` 替换成
`Log.error(...) + return std::nullopt`。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci: 将第三方 action 钉到 commit SHA,符合 GitHub 安全建议

https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: filenum_ctrl 中 std::filesystem 调用缺 error_code 导致 SIGABRT

Windows 上 debug 截图被另一进程占用时,std::filesystem 多个调用会抛 filesystem_error。
异常未被 filenum_ctrl / save_debug_image / AbstractTask::run 任一层
捕获,沿任务栈一路冒到 MaaCore 顶层(issue #16233)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: 清理 PosixIO 子分支 execlp 死赋值

按 Sourcery review 清掉死代码。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: restore release package workflow

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 22:20:33 +08:00
status102
81b71409a8 Revert "fix: 任务匹配进入onErrorNext时, cur_task_ptr错误置空"
This reverts commit c27cefa307.
2026-05-25 18:33:37 +08:00