Skip to content

fix: 补充修复组队邀请UI状态识别问题 (#1881) - #1925

Closed
allesgutefy wants to merge 1 commit into
runhey:masterfrom
allesgutefy:fix/invite-default-checkbox-v3
Closed

allesgutefy wants to merge 1 commit into
runhey:masterfrom
allesgutefy:fix/invite-default-checkbox-v3

Conversation

@allesgutefy

@allesgutefy allesgutefy commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Issue #1881 补充修复

问题背景

PR #1886 合入 master 后,经本地实测发现:

  • 仅完成 I_I_NO_DEFAULT → interval=3 仍无法解决组队邀请确认弹窗无法关闭的问题
  • 同时完成 I_GI_SURE → interval=3 后问题解决

另外,PR #1886 未合入 dev 分支。

修复内容

  1. 代码修改(仅队长端 check_and_invite 函数):

    • I_I_NO_DEFAULT 的 appear_then_click 改为 interval=3
    • I_GI_SURE 的 appear_then_click 改为 interval=3
    • 队员端 check_then_accept 不需修改
  2. 素材更新:适配10月10日游戏UI更新

    • gi_i_default.png(已勾选状态)
    • gi_i_no_default.png(未勾选状态)
    • gi_gi_sure.png(确定按钮)
    • gi_cancel.png(取消按钮)

本地验证

  • 不加 I_GI_SURE interval=3:点击确认按钮后弹窗无法关闭
  • 加 I_GI_SURE interval=3 后:流程正常

Fixes #1881

Summary by Sourcery

修复组队邀请流程中队长端弹窗状态识别和关闭异常。

Bug Fixes:

  • 修复队长端组队邀请确认弹窗无法正常关闭的问题。

Enhancements:

  • 调整邀请状态识别与确认操作的等待间隔,以适配更新后的游戏界面状态。
Original summary in English

Summary by Sourcery

修复组队邀请流程中队长端弹窗状态识别和关闭异常。

Bug Fixes:

  • 修复队长端组队邀请确认弹窗无法正常关闭的问题。

Enhancements:

  • 调整邀请状态识别与确认操作的等待间隔,以适配更新后的游戏界面状态。

Summary by CodeRabbit

  • 改进
    • 点击“不默认邀请”和确认按钮后的重试间隔从 1 秒调整为 3 秒。

- Add I_I_NO_DEFAULT interval=3 (remove sleep(0.8))
- Add I_GI_SURE interval=3 in check_and_invite
- Update 4 GI assets for new UI
- Fixes runhey#1881

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

您好——我发现了 1 个问题

面向 AI Agent 的提示
请处理本次代码审查中的评论:

## 单独评论

### 评论 1
<location path="tasks/Component/GeneralInvite/general_invite.py" line_range="552" />
<code_context>
             if not self.appear(self.I_GI_SURE):
                 break
-            if self.appear_then_click(self.I_GI_SURE, interval=1):
+            if self.appear_then_click(self.I_GI_SURE, interval=3):
                 continue

</code_context>
<issue_to_address>
**确认对话框仍处于打开状态**

当 Bondling Fairyland 的首领到达受影响的邀请确认弹窗时,`BondlingFairyland.ScriptTask` 会将 `check_and_invite` 解析为其自身的 `GeneralInvite` 覆盖实现,其中 `I_I_NO_DEFAULT` 和 `I_GI_SURE` 仍以 `interval=1` 的间隔点击;旧的重试行为会使确认对话框保持打开状态。

请更新 Bondling Fairyland 的覆盖实现,使这两个点击都使用更长的重试间隔。
</issue_to_address>

Sourcery 评估

等待批准。 请先处理 1 个发现的问题。

阻塞性发现:tasks/Component/GeneralInvite/general_invite.py:552


Sourcery 对开源项目免费——如果您喜欢我们的审查结果,请考虑分享它们 ✨
Original comment in English

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="tasks/Component/GeneralInvite/general_invite.py" line_range="552" />
<code_context>
             if not self.appear(self.I_GI_SURE):
                 break
-            if self.appear_then_click(self.I_GI_SURE, interval=1):
+            if self.appear_then_click(self.I_GI_SURE, interval=3):
                 continue

</code_context>
<issue_to_address>
**Confirmation dialog remains open**

When a Bondling Fairyland leader reaches the affected invitation confirmation popup, `BondlingFairyland.ScriptTask` resolves `check_and_invite` to its own `GeneralInvite` override, where `I_I_NO_DEFAULT` and `I_GI_SURE` are still clicked with `interval=1`; the old retry behavior leaves the confirmation dialog open.

Update the Bondling Fairyland override to use the longer retry interval for both clicks.
</issue_to_address>

Sourcery assessment

Approval pending. 1 finding to address first.

Blocking findings: tasks/Component/GeneralInvite/general_invite.py:552


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

if not self.appear(self.I_GI_SURE):
break
if self.appear_then_click(self.I_GI_SURE, interval=1):
if self.appear_then_click(self.I_GI_SURE, interval=3):

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 高优先级 · 确认对话框仍处于打开状态

当 Bondling Fairyland 的首领到达受影响的邀请确认弹窗时,BondlingFairyland.ScriptTask 会将 check_and_invite 解析为其自身的 GeneralInvite 覆盖实现,其中 I_I_NO_DEFAULT 和 I_GI_SURE 仍以 interval=1 的间隔点击;旧的重试行为会使确认对话框保持打开状态。

请更新 Bondling Fairyland 的覆盖实现,使这两个点击都使用更长的重试间隔。

面向 AI Agent 的提示
在 `tasks/Component/GeneralInvite/general_invite.py` 第 552 行:

**确认对话框仍处于打开状态**

当 Bondling Fairyland 的首领到达受影响的邀请确认弹窗时,`BondlingFairyland.ScriptTask` 会将 `check_and_invite` 解析为其自身的 `GeneralInvite` 覆盖实现,其中 `I_I_NO_DEFAULT` 和 `I_GI_SURE` 仍以 `interval=1` 的间隔点击;旧的重试行为会使确认对话框保持打开状态。

请更新 Bondling Fairyland 的覆盖实现,使这两个点击都使用更长的重试间隔。
Original comment in English

🟠 High · Confirmation dialog remains open

When a Bondling Fairyland leader reaches the affected invitation confirmation popup, BondlingFairyland.ScriptTask resolves check_and_invite to its own GeneralInvite override, where I_I_NO_DEFAULT and I_GI_SURE are still clicked with interval=1; the old retry behavior leaves the confirmation dialog open.

Update the Bondling Fairyland override to use the longer retry interval for both clicks.

Prompt for AI agents
In `tasks/Component/GeneralInvite/general_invite.py` at line 552:

**Confirmation dialog remains open**

When a Bondling Fairyland leader reaches the affected invitation confirmation popup, `BondlingFairyland.ScriptTask` resolves `check_and_invite` to its own `GeneralInvite` override, where `I_I_NO_DEFAULT` and `I_GI_SURE` are still clicked with `interval=1`; the old retry behavior leaves the confirmation dialog open.

Update the Bondling Fairyland override to use the longer retry interval for both clicks.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 76f41b1f-d12f-489e-9915-ce8fb34e2a07

📥 Commits

Reviewing files that changed from the base of the PR and between fc68a2a and c24ad89.


⛔ Files ignored due to path filters (4)
  • tasks/Component/GeneralInvite/gi/gi_cancel.png is excluded by !**/*.png
  • tasks/Component/GeneralInvite/gi/gi_gi_sure.png is excluded by !**/*.png
  • tasks/Component/GeneralInvite/gi/gi_i_default.png is excluded by !**/*.png
  • tasks/Component/GeneralInvite/gi/gi_i_no_default.png is excluded by !**/*.png

📒 Files selected for processing (1)
  • tasks/Component/GeneralInvite/general_invite.py

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.



Walkthrough

GeneralInvite.check_and_invite 中点击“不默认邀请”和确认按钮的重试间隔从 1 秒改为 3 秒。按钮检测、循环退出条件和返回流程未变。

关联问题评估

Objective Addressed Explanation
[#1881] 默认邀请勾选后无法识别时,应退出循环并避免任务卡死。 ❌ 循环退出条件和循环次数限制未变;调整重试间隔不能解决识别失败导致的无限循环。

Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to c24ad

The invite flow uses a longer retry interval; available evidence does not establish a concrete merge-blocking failure.

✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch fix/invite-default-checkbox-v3

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

我是小兔,蹦过邀请按钮旁,
三秒一等,耳朵轻轻晃。
未勾选时,再点一下忙,
确认按钮,也放慢步伐。
愿每次点击,都有清楚回响,
我抱着胡萝卜,跳回月光。

Comment @coderabbitai help to get the list of available commands.

@runhey

runhey commented Oct 11, 2026

Copy link
Copy Markdown
Owner

84eda19 确认一下这个,你是master

@runhey

runhey commented Oct 11, 2026

Copy link
Copy Markdown
Owner

不过确实勾选框没更

@allesgutefy

Copy link
Copy Markdown
Contributor Author

@runhey 提交错了,已提交修改后的新PR #1928

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

八岐大蛇组队:默认邀请勾选后识别不到已勾选状态,check_and_invite 死循环卡死

2 participants