Skip to content

fix(feishu): add reactionNotifications mode gating#29388

Merged
Takhoffman merged 1 commit intomainfrom
feat/feishu-reaction-notification-mode
Feb 28, 2026
Merged

fix(feishu): add reactionNotifications mode gating#29388
Takhoffman merged 1 commit intomainfrom
feat/feishu-reaction-notification-mode

Conversation

@Takhoffman
Copy link
Copy Markdown
Contributor

Summary

  • add channels.feishu.reactionNotifications config (off | own | all) with default own
  • gate reaction synthetic-event dispatch in monitor.ts by that mode
  • add focused reaction-mode regression tests
  • update changelog

Why

Verification

  • pnpm test extensions/feishu/src/monitor.reaction.test.ts

@openclaw-barnacle openclaw-barnacle bot added channel: feishu Channel integration: feishu size: S maintainer Maintainer-authored PR labels Feb 28, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3b21068775

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

}

const account = resolveFeishuAccount({ cfg, accountId });
const reactionNotifications = account.config.reactionNotifications ?? "own";
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Fail closed for unknown reaction notification modes

Treating account.config.reactionNotifications as-is means any unexpected value (for example a typo like "onw") bypasses the "own" checks and is effectively handled as "all", because only "off" and "own" are gated later in this function. Since extension channel configs are accepted via passthrough in src/config/zod-schema.providers.ts, this malformed input is reachable and can unintentionally widen reaction ingress to non-bot messages; the mode should be normalized to the known enum and default to "own" on unknown values.

Useful? React with 👍 / 👎.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Feb 28, 2026

Greptile Summary

Added configuration option channels.feishu.reactionNotifications with three modes (off, own, all) to control reaction event processing. The default own mode preserves existing secure behavior (only bot-authored message reactions), while off disables reaction ingress entirely and all allows all verified reactions.

Key changes:

  • Config schema properly defines the new option with appropriate defaults
  • monitor.ts gates reaction processing based on the selected mode
  • Maintains backward compatibility with secure-by-default own mode
  • Focused regression tests cover all three modes
  • Message verification still occurs in all non-off modes for security

Minor observations:

Confidence Score: 5/5

  • This PR is safe to merge with no security or correctness concerns
  • Clean implementation with proper security defaults, comprehensive test coverage for main scenarios, and maintains backward compatibility. The default own mode preserves existing secure behavior while new modes are opt-in. All reaction events still undergo message verification.
  • No files require special attention

Last reviewed commit: 3b21068

@Takhoffman Takhoffman merged commit aef5355 into main Feb 28, 2026
31 checks passed
@Takhoffman Takhoffman deleted the feat/feishu-reaction-notification-mode branch February 28, 2026 03:47
@Takhoffman
Copy link
Copy Markdown
Contributor Author

PR #29388 - fix(feishu): add reactionNotifications mode gating (#29388)

Merged via squash.

  • Merge commit: aef5355
  • Verified: pnpm build, pnpm check, pnpm test:macmini
  • Changelog: CHANGELOG.md updated=true required=true opt_out=false

Thanks @Takhoffman!

Copy link
Copy Markdown

@nikolasdehor nikolasdehor left a comment

Choose a reason for hiding this comment

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

Clean implementation with secure defaults. The three-mode approach (off/own/all) gives operators good control without breaking existing behavior. One minor observation: when reactionNotifications is 'all' and botOpenId is unavailable, the guard is bypassed (correct — operator opted in). But a debug-level log for this case would help operators understand why reactions are processed without bot identity verification. Not a blocker. LGTM.

r4jiv007 pushed a commit to r4jiv007/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
mylukin pushed a commit to mylukin/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit da8f870)
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit da8f870)
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit da8f870)
vincentkoc pushed a commit to Sid-Qin/openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
vincentkoc pushed a commit to rylena/rylen-openclaw that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
newtontech pushed a commit to newtontech/openclaw-fork that referenced this pull request Feb 28, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Mar 1, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Mar 1, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 1, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)

# Conflicts:
#	CHANGELOG.md
#	extensions/feishu/src/config-schema.ts
ansh pushed a commit to vibecode/openclaw that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
steipete pushed a commit to Sid-Qin/openclaw that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
safzanpirani pushed a commit to safzanpirani/clawdbot that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
steipete pushed a commit to Sid-Qin/openclaw that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
venjiang pushed a commit to venjiang/openclaw that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
robertchang-ga pushed a commit to robertchang-ga/openclaw that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
execute008 pushed a commit to execute008/openclaw that referenced this pull request Mar 2, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 3, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)

# Conflicts:
#	CHANGELOG.md
#	extensions/feishu/src/config-schema.ts
dorgonman pushed a commit to kanohorizonia/openclaw that referenced this pull request Mar 3, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
eminemead pushed a commit to eminemead/evi that referenced this pull request Mar 3, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
sachinkundu pushed a commit to sachinkundu/openclaw that referenced this pull request Mar 6, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
alexey-pelykh pushed a commit to remoteclaw/remoteclaw that referenced this pull request Mar 15, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
alexey-pelykh added a commit to remoteclaw/remoteclaw that referenced this pull request Mar 15, 2026
…hanks @Takhoffman (#1463)

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini



(cherry picked from commit aef5355)

Co-authored-by: Tak Hoffman <[email protected]>
eminemead pushed a commit to eminemead/evi that referenced this pull request Mar 27, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
eminemead pushed a commit to eminemead/evi that referenced this pull request Mar 27, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
eminemead pushed a commit to eminemead/evi that referenced this pull request Mar 27, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
eminemead pushed a commit to eminemead/evi that referenced this pull request Mar 27, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
eminemead pushed a commit to eminemead/evi that referenced this pull request Mar 27, 2026
…hanks @Takhoffman

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: Takhoffman <[email protected]>
Co-authored-by: Tak Hoffman <[email protected]>
(cherry picked from commit aef5355)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: feishu Channel integration: feishu maintainer Maintainer-authored PR size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants