Skip to content

feat(messaging): answer native questions from a paired Lark DM - #3314

Merged
DoodleBears merged 5 commits into
mainfrom
claude/project-thread-vobbht
Nov 2, 2026
Merged

DoodleBears merged 5 commits into
mainfrom
claude/project-thread-vobbht

Conversation

@DoodleBears

Copy link
Copy Markdown
Contributor

Requested by Vain

Refs #1031 | Provider DoodleBears/dsh-im#14 at f671b673

Why the change

A Human paired to a Bot in a Lark DM can answer that Bot's native questions without opening Web. The original session stays the one authority, and an unconfirmed submission is never replayed. This rebuilds the closed #1104 on current main.

Special things to note

  • Merge risk: schema generation 116 adds messaging_question_deliveries, so a rollback must keep that generation. Native Human answers and live sessions are the authority boundary; review the actor, account, receipt and pairing fences.
  • Draft. Real Lark form submission and the final card are not yet verified, and an earlier platform attempt failed on a 1000-character input limit that is now fixed. Provider is pinned for development only, with no product pin or publication.
  • Questions asked from a group also notify the paired DM, which is new compared with feat: answer native Human questions from checked Lark DM #1104.
  • Timed questions are marked answered once the native owner accepts the submission.
  • Local plugin.test.ts has 7 hook timeouts, and the same 7 fail without this change.
  • No light and dark screenshots yet for the Notifications panel section; they are owed with the native run.

Change outline

native ask_user_question → committed Channel request → ChannelUserQuestions.observe
  → QuestionMessaging → checked private Lark form (Provider questionCardChecked)
Lark form / quoted reply / /answer <reference> <text>
  → actor, account, pairing and receipt fences → original owner accepts one answer
  → card shows Answered, Cancelled, Expired or Web-required
uncertain submission → question-retry / Notifications panel → reconcile, never replay

CLI: question-deliveries, question-retry.

🤖 Generated with Claude Code

Send checked private forms, accept one answer through the original question owner, and expose explicit repair for uncertain submissions.

Refs #1031

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

coderabbitai Bot commented Nov 2, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • 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

DoodleBears and others added 4 commits November 2, 2026 21:22
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@DoodleBears
DoodleBears marked this pull request as ready for review November 2, 2026 18:53
@DoodleBears
DoodleBears merged commit d677d83 into main Nov 2, 2026
19 checks passed
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.

1 participant