From 5320213b7a8e463477239608c2b1d6456616fdf6 Mon Sep 17 00:00:00 2001 From: QLHazyCoder <2825305047@qq.com> Date: Sun, 10 May 2026 00:21:06 +0800 Subject: [PATCH] feat: update signup flow to include 3-second wait before clicking registration entry --- content/signup-page.js | 10 ++++++---- 开发者AI开发与PR提交流程.md | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/content/signup-page.js b/content/signup-page.js index 625955c..5b8cbd3 100644 --- a/content/signup-page.js +++ b/content/signup-page.js @@ -1021,8 +1021,9 @@ async function waitForSignupEntryState(options = {}) { if (logDiagnostics) { log(`步骤 ${step}:正在点击官网注册入口(第 ${clickAttempts} 次):"${getActionText(snapshot.signupTrigger).slice(0, 80)}"`); } - log('步骤 2:正在点击官网注册入口...'); - await humanPause(350, 900); + log('步骤 2:已找到官网注册入口,等待 3 秒后点击...'); + await sleep(3000); + throwIfStopped(); simulateClick(snapshot.signupTrigger); } } @@ -2246,8 +2247,9 @@ async function waitForSignupPhoneEntryState(options = {}) { if (snapshot.state === 'entry_home' && snapshot.signupTrigger) { if (Date.now() - lastTriggerClickAt >= 1500) { lastTriggerClickAt = Date.now(); - log(`步骤 ${step}:正在点击官网注册入口...`); - await humanPause(350, 900); + log(`步骤 ${step}:已找到官网注册入口,等待 3 秒后点击...`); + await sleep(3000); + throwIfStopped(); simulateClick(snapshot.signupTrigger); } await sleep(250); diff --git a/开发者AI开发与PR提交流程.md b/开发者AI开发与PR提交流程.md index 3621588..49b8bff 100644 --- a/开发者AI开发与PR提交流程.md +++ b/开发者AI开发与PR提交流程.md @@ -58,6 +58,10 @@ gh auth login 10. 如果是前端改动且没有新增依赖,只提醒开发者自己测试即可;如果新增了依赖并完成安装,可以自行验证能否启动,验证后要关闭启动占用的端口,并提醒开发者重新启动。 11. PR 标题、PR 正文、PR 评论都用自然中文直接表达,不要写“自动回复”“AI 分析结果如下”这种固定机器人腔。 12. 没有开发者明确授权时,AI 不得擅自合并 PR、关闭 PR、删除远端分支。 +13. 必须严格区分“同步 PR 分支”和“合并 PR 到 `dev`”: + - `git merge origin/dev`、`git rebase origin/dev`、把最新 `dev` 推回 PR 源分支,只是让 PR 分支吸收最新基线,不等于合并 PR。 + - 只有通过 GitHub PR 合并动作,例如 `gh pr merge --merge`,并确认 `origin/dev` 已前进到合并提交,才算“合并到 `dev`”。 +14. 如果开发者明确说“合并进 dev”“合到 dev”“通过就合”“没问题就合并”“处理完直接合并”这类表达,AI 必须执行阶段 8 的真实 PR 合并流程;不能只更新 PR 分支后声称已经合并。 ## 开发者需要提供给 AI 的信息 @@ -308,6 +312,30 @@ git log --oneline HEAD..origin/dev gh pr merge --merge --delete-branch ``` +注意: + +1. 这一步才是“把 PR 合并到 `dev`”。把 `origin/dev` 合并到功能分支、把功能分支推回 PR、让 PR 变成可合并,都不算已经合并到 `dev`。 +2. 如果不打算删除 PR 源分支,可以去掉 `--delete-branch`,但仍然必须执行 `gh pr merge`。 +3. `gh pr merge` 成功后,必须立刻验证 PR 和本地 `dev`: + +```powershell +gh pr view --json number,state,mergedAt,mergedBy,baseRefName,url,mergeCommit +git fetch origin +git switch dev +git pull --ff-only origin dev +git rev-parse HEAD origin/dev +git log --oneline -1 +``` + +验证要求: + +1. `state` 必须是 `MERGED`。 +2. `baseRefName` 必须是 `dev`。 +3. `mergeCommit.oid` 必须存在。 +4. `git rev-parse HEAD origin/dev` 输出的两个提交必须一致。 +5. 本地 `dev` 的最新提交必须是该 PR 的合并提交,或包含该 PR 合并结果的后续 `dev` 提交。 +6. 如果本地有无关脏改动导致不能切回或快进 `dev`,必须明确告诉开发者“远端 PR 已合并,但本地 `dev` 尚未更新”,不能说本地也已经完成。 + 限制: 1. AI 只能把自己的 PR 合并到 `dev`。 @@ -352,6 +380,7 @@ gh pr merge --merge --delete-branch - PR 标题和正文与真实改动一致 - 如有评论,内容为自然中文,不用固定机器人模板 - 如果未跑测试,已明确提醒开发者测试 +- 如果开发者授权合并,已确认 PR 状态为 `MERGED`,且本地 `dev` 与 `origin/dev` 指向同一提交 ## 最终反馈给开发者时必须说明 @@ -366,6 +395,7 @@ AI 完成后,至少要向开发者明确反馈下面这些信息: 7. 是否改了 SQL 并同步了本地数据库 8. 是否运行过测试;如果没跑,要明确提醒开发者自行测试 9. 是否已经合并;如果已合并,要明确说明是合并到 `dev` +10. 如果已合并,必须说明 PR 状态是否为 `MERGED`、合并提交是什么、本地 `dev` 和 `origin/dev` 是否已经一致 ## 一句话执行要求