Skip to content

Tell a friend DM when the remote Bot's turn fails - #1084

Merged
Birfy merged 1 commit into
mainfrom
cursor/fix-1068-remote-dm-failure-1d32
Oct 25, 2026
Merged

Birfy merged 1 commit into
mainfrom
cursor/fix-1068-remote-dm-failure-1d32

Conversation

@Birfy

@Birfy Birfy commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Written-by: Dev
Owner: Dev
Reviewer: Reviewer

Fixes #1068

What changed

A friend DM stayed on "Weighing the options…" when the other home's turn died (for example MISSING_CREDENTIAL) and nothing came back. That home now sends one of two fixed sentences — no model set up, or could not answer — and never the provider text. The social plugin lets that notice through the reply hold and clears a blanket server hold. A lookalike, the same words on an auto-reply, and a hold with a finding of its own still wait for the owner. A notice that comes back does not earn another.

Verification at the tip

Tip SHA: 58cf42ec0e220d019aafb7ab30dec3f1a90b1323

Ran:

  • TZ=UTC npm run verify at this tip → pass (core 1417, social 456, tree 125, timeline 125, github scripts 417, interop 37, live-e2e 16; patch check inside it)
  • node core/scripts/check-arch-docs.mjs at this tip → pass (11 changed files)
  • node .github/scripts/changelog.mjs check at this tip → pass
  • node --import ./test/harness-resolve.mjs --test --test-name-pattern '#1068' test/bot-messages.test.js (core) at this tip → 6 pass
  • node --import ./test/resolve.mjs --test --test-name-pattern '#1068' test/social.test.js at this tip → 3 pass

Not run:

  • Smoke bench (dev/bench.sh): no deepseek-harness checkout here. The change is the remote-reply path, covered by the unit tests above.
  • GitHub tests-ok: not this run.

Red at base c062fb02c3317990e77c1abb273e1350546136db (defect tests, before the fix):

  • Core #1068: 5 fail (sent.length 0; a hard failure called no flybotReplyRemote). Green at the tip (6 pass).
  • Social #1068: the notice was hold, not allow. Green at the tip (3 pass).
Open in Web Open in Cursor 

A remote turn that fails hard sent nothing back, so the sender's chat
stayed on "Weighing the options…" until the wait expired. The home now
sends one of two fixed sentences (no provider text) and the social
plugin lets that notice through, including a blanket server hold.

Co-authored-by: Danyang Chen <birfychen@gmail.com>
@Birfy Birfy added the agent-pr Pull request opened by an agent label Oct 25, 2026 — with Cursor
@cursor

cursor Bot commented Oct 25, 2026

Copy link
Copy Markdown

Verdict: PASS at 58cf42e
Written-by: Reviewer

Ran:

  • TZ=UTC npm run verify → pass (core 1417, social 456, tree 125, timeline 125, github scripts 417, interop 37, live-e2e 16; patch check ok)
  • node core/scripts/check-arch-docs.mjs → pass (11 changed files)
  • node .github/scripts/changelog.mjs check → pass
  • node --import ./test/harness-resolve.mjs --test --test-name-pattern '#1068' test/bot-messages.test.js (core) → 6 pass
  • node --import ./test/resolve.mjs --test --test-name-pattern '#1068' test/social.test.js → 3 pass

Not run:

  • Smoke bench (dev/bench.sh) — no deepseek-harness checkout in this environment. The change is the remote-reply path, covered by the unit tests above.
  • GitHub tests-ok — not this run.

Defect tests were red on base c062fb02c3317990e77c1abb273e1350546136db before the fix (core: 5 fail, no flybotReplyRemote on a hard failure; social: the notice was hold, not allow) and green at this tip.

No actionable findings. The notice is one of two fixed sentences; the provider text is not copied, so a missing-key failure cannot echo part of a key. AUTH stays the generic sentence. The same words on auto-reply, or any other text on turn-failed, stay held. A Bot Social hold with a finding of its own keeps its card. A line whose body is already a notice does not earn another.

This PASS is not merge authority. Enqueue waits on tests-ok green at this tip.

@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at 58cf42e
Written-by: Reviewer

Fixes #1068. Hard remote DM failure sends a fixed notice and clears the weighing hold instead of hanging on "Weighing the options…".

Ran:

@Birfy
Birfy added this pull request to the merge queue Oct 25, 2026
@github-actions github-actions Bot added the pass label Oct 25, 2026
Merged via the queue into main with commit 2e54119 Oct 25, 2026
12 of 14 checks passed
@Birfy
Birfy deleted the cursor/fix-1068-remote-dm-failure-1d32 branch October 25, 2026 02:10
Birfy added a commit that referenced this pull request Oct 25, 2026
…1048)

Rebuilt on 2e54119: `store.js` keeps #1041's `announceTakeover`, `core-host.md` carries the #1041, #1084 and #1048 lines, and the patch series is regenerated against the current `store.js`/`turns.js`/`hooks.js`.
Birfy added a commit that referenced this pull request Oct 25, 2026
…1048)

Rebuilt on 300cbbe: `store.js` keeps #1041's `announceTakeover`, `core-host.md` carries the #1041, #1084 and #1048 lines, and the patch series is regenerated against the current `store.js`/`turns.js`/`hooks.js`.
Birfy added a commit that referenced this pull request Oct 25, 2026
…1048)

Rebuilt on 3f7e951: `store.js` keeps #1041's `announceTakeover`, `core-host.md` carries the #1041, #1084 and #1048 lines, and the patch series is regenerated against the current `store.js`/`turns.js`/`hooks.js`.
@github-actions github-actions Bot removed the agent-pr Pull request opened by an agent label Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Friend DM stays on "Weighing the options…" when remote Bot turn fails

2 participants