Commit Graph

861 Commits

Author SHA1 Message Date
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
Kaleb Luedtke
c14685311b ci:请使用 wingetcreate 代替 winget-releaser (#16813)
* fix: Use wingetcreate instead of winget-releaser

* fix: Pin to a version and hash

* fix: Specify to use PowerShell

* fix: Use GitHub API for fetching the download URLs

* fix: Don't set GITHUB_TOKEN

* fix: Trim leading character from version

* fix: Anchor regex for safety

* chore: Use newer API version

* fix: Ensure terminating errors terminate
2026-05-23 22:33:14 +08:00
uye
c0a5cf6b1f ci: Remove issue creation step on CI failure
Removed issue creation step on failure in CI workflow.
2026-05-20 02:21:50 +08:00
uye
a3b421f948 ci: Remove issue creation on OTA release failure
Removed failure issue creation steps for OTA releases on Windows and macOS.
2026-05-20 02:21:30 +08:00
AnnAngela
0954959e00 ci: Set compression level to 0 for artifact uploads
Added compression-level parameter to artifact uploads for various platforms.
2026-05-17 23:21:13 +08:00
AnnAngela
27c1e1117c revert: Rename artifact uploads in CI workflow 2026-05-17 20:33:27 +08:00
晓丶梦丶仁
0759748e4a ci: 优化 PR commit 检查评论逻辑 (#16671)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 19:07:32 +08:00
dependabot[bot]
63d3e43eb6 ci: bump actions/upload-artifact from 6 to 7 in /.github/workflows in the github-actions group (#16642)
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-17 17:37:29 +08:00
Aliothmoon
c6f930a60d feat: support native android (#16179)
* feat: add android controller support

* feat: add android compile options and add core static options

* fix: add __ANDROID__ macro for Android platform

* fix: move switch break into macro conditional block

* ci: add Android CMake presets (arm64, x64)

* fix: add missing Android TouchMode handling

* fix: remove unnecessary pre-check in android

* fix: restore unnecessary modifications

* fix: unified use __ANDROID__

* refactor: use interpolate_swipe_with_pause in AndroidController

* feat: add Android crash logcat output and native backtrace

* feat: only copy once from external lib screencap

* feat: add Android JNI AttachThread/DetachThread to working_proc

* fix: break control in switch

* fix: update click interval & swipe interval

* ci: restore Android build job with MaaFramework download

* fix: remove thread attach

* ci: temporarily remove MaaAndroidNativeControlUnit.so

* feat(android-ctrl): SWIPE_WITH_PAUSE 由 InstanceOption DeploymentWithPause 控制

* feat: SWIPE_WITH_PAUSE 默认启用

* feat: add android compile options and add core static options

* feat: use maafw controll unit

* fix: minor adjustments

* refactor: adapt maafw android lib

* fix: remove screencap when connect

* chore: change maafw lib use

* feat: adapt maafw control unit click & click_key

* fix: address critical issues in Android native controller

- Restore InstanceOptionKey::ClientType case in set_instance_option,
  which was accidentally removed and broke client type setting on all platforms
- Enable libMaaAndroidNativeControlUnit.so copy step in CI (was commented out),
  so Android artifacts actually include the required control unit library
- Fail connect() early when screen_resolution is missing or invalid in config,
  preventing silent {0,0} resolution that would break swipe and screencap
- Check touch_down() return value in swipe() and abort on failure

* fix: correct bounds_check off-by-one and extract KEYCODE_ESCAPE constant

- bounds_check used <= which allowed coordinates equal to screen width/height
  (off-screen); use < to match the valid range [0, dimension-1]
- Extract magic number 111 into KEYCODE_ESCAPE constexpr in press_esc()

* fix: avoid heap allocation in noexcept terminate/signal handlers

format_signal_reason was returning std::string and using std::format in
its default branch. Called from noexcept custom_terminate_handler before
the outer try block, any allocation failure would throw std::bad_alloc,
triggering recursive std::terminate and aborting crash reporting.

- Change return type to const char* noexcept, returning string literals
- Replace std::format("Signal {}", sig) with "Unknown Signal" (only the
  four registered signals are ever passed, so this branch is unreachable)
- Change signal_info in custom_terminate_handler from std::string to
  const char*, eliminating all allocations on the pre-try path

* fix: suppress unused-variable warning for signal_reason on non-Android
2026-05-12 22:15:15 +08:00
Constrat
cccbef1637 ci: fix icon post design structure change 2026-05-11 14:38:19 +02:00
status102
3c20e21182 ci: 限定.Net SDK为10.0.203 2026-05-05 04:03:08 +08:00
dependabot[bot]
0518c61e87 ci: bump yogeshlonkar/wait-for-jobs from 0 to 1 in /.github/workflows in the github-actions group (#16431)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-02 22:48:32 +08:00
uye
cc0163edd9 ci: 调整资源更新环境 2026-05-01 14:31:27 +08:00
uye
a6523b01d5 ci: 任务排序支持 jsonc 2026-05-01 14:26:20 +08:00
dependabot[bot]
f733530b67 ci: bump the github-actions group in /.github/workflows with 2 updates (#16344)
Bumps the github-actions group in /.github/workflows with 2 updates: [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) and [apple-actions/download-provisioning-profiles](https://github.com/apple-actions/download-provisioning-profiles).


Updates `apple-actions/import-codesign-certs` from 6 to 7
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/v6...v7)

Updates `apple-actions/download-provisioning-profiles` from 5 to 6
- [Release notes](https://github.com/apple-actions/download-provisioning-profiles/releases)
- [Commits](https://github.com/apple-actions/download-provisioning-profiles/compare/v5...v6)

---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: apple-actions/download-provisioning-profiles
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-27 15:12:47 +08:00
MistEO
f90cc11100 ci: disable MAA cos 2026-04-24 22:21:04 +08:00
Rbqwow
3d29fcb8ed ci: 发版打包时移除 *.bak 文件 2026-04-22 14:27:20 +08:00
dependabot[bot]
3e5691fe1b ci: bump the github-actions group across 1 directory with 4 updates (#16301)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lucien Shaw <myxlc55@outlook.com>
2026-04-22 13:13:56 +08:00
uye
b7598d8f66 ci: ci 和 nightly 打出来的包不带 updater 2026-04-22 03:40:12 +08:00
uye
b355c6cbc5 ci: 单引号 2026-04-21 05:43:03 +08:00
lhhxxxxx
1a689cbf0b feat: 添加单元测试框架和验证角色分配算法的测试用例 (#16245) 2026-04-18 20:48:29 +08:00
Frog Chen
50000b988a feat: AVD截图增强的售后(文档、CI变更等) (#16031)
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
Co-authored-by: MistEO <mistereo@hotmail.com>
2026-04-17 22:38:56 +08:00
Halo
98dd6f7ba1 feat(Avalonia): V0.2 新构建跨平台前端界面MAAUnified,合并代码请求 (#16048)
* feat(MaaUnified): MaaUnified构建完成,作为submodule加入

* fix(MaaUnified): 修复自动构建时 submodule拉取错误问题

* feat(MaaUnified): MaaUnified submodule更换为组织仓库

* ci: do not fetch useless module

---------

Co-authored-by: MistEO <mistereo@hotmail.com>
2026-04-17 22:33:33 +08:00
status102
9ce2794841 ci: 将.Net SDK限制置于CI内, 以便于本地开发 2026-04-16 09:42:08 +08:00
MistEO
c373f49656 ci: 临时固定一下maafw版本 2026-04-06 21:52:00 +08:00
MistEO
5d55091a52 Revert "ci: 临时禁用 macos build"
This reverts commit b8db5f34c4.
2026-04-02 17:40:35 +08:00
MistEO
b8db5f34c4 ci: 临时禁用 macos build 2026-04-01 00:17:06 +08:00
AnnAngela
6c20cb52fa fix: 更新 MaaFramework 文件名格式和 .NET SDK 版本 2026-03-25 11:18:24 +08:00
uye
2a1f15b027 ci: 尝试固定运行库版本 2026-03-25 01:44:34 +08:00
Constrat
8185ec6081 ci: automate discord notification through release-ota 2026-03-23 13:51:48 +01:00
MistEO
b9619bc307 ci: Update workflow to include full input/output view 2026-03-22 02:54:10 +08:00
dependabot[bot]
7dc4b315d6 ci: bump the github-actions group in /.github/workflows with 5 updates (#16058)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-21 23:58:17 +08:00
Constrat
fc5e16494e ci: switch secret to prod 2026-03-20 23:28:18 +01:00
Constrat
b08316962e fix: remove link from title 2026-03-20 23:26:58 +01:00
Constrat
5ff17ab014 ci: fix color 2026-03-20 23:25:32 +01:00
Constrat
b2006831eb ci: update notification to apply embeds + testing 2026-03-20 23:22:28 +01:00
Constrat
d66324929e ci: change to prod secret from test 2026-03-20 23:10:54 +01:00
Constrat
57157e0d14 ci: add discord release notification 2026-03-20 23:05:14 +01:00
MistEO
266bc4898f ci: skip label for issue analysis bot 2026-03-21 00:33:14 +08:00
MistEO
b60589a868 ci: 放弃帕拉斯风格恢复
Updated initial comment body for AI analysis and modified prompt template.
2026-03-19 16:12:09 +08:00
MistEO
bfd6c27bdd ai: 牛牛! 2026-03-18 01:51:59 +08:00
MistEO
e5ebb49d94 ci: 加点注释 2026-03-17 16:49:34 +08:00
MistEO
e2db506bca ci: 同步AI ISSUE BOT更改 2026-03-17 15:00:46 +08:00
MistEO
437e99e069 ci: 流式 AI 分析
Added environment variables for initial comment and action link in the GitHub Actions workflow. Updated the comment body to use these variables and improved the AI analysis process with streaming updates.
2026-03-16 23:43:29 +08:00
MistEO
9b49b6a53a ci(chore): 注释给的地址没改 2026-03-16 20:34:43 +08:00
MistEO
e20dd9f3ad ai: add issue analysis 2026-03-16 16:08:57 +08:00
dependabot[bot]
e6cbd6522e ci: bump marocchino/sticky-pull-request-comment from 2 to 3 in /.github/workflows in the github-actions group (#15994)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-15 00:28:56 +08:00
MistEO
177437c1dc Revert "ci: 临时糊一下发版"
This reverts commit 41295335b7.
2026-03-14 20:07:08 +08:00
MistEO
41295335b7 ci: 临时糊一下发版 2026-03-14 17:52:54 +08:00
MistEO
894809d55f ci: new master branch 2026-03-14 17:34:27 +08:00