openclaw - ✅(Solved) Fix [Bug]: feishu createScopedPairingAccess [2 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#74138Fetched 2026-04-30 06:28:05
View on GitHub
Comments
1
Participants
2
Timeline
7
Reactions
0
Author
Timeline (top)
cross-referenced ×3commented ×1labeled ×1mentioned ×1

After upgrade to latest version, my feishu channel broken.My message can be processed.even if revert the change of the channel config

Error Message

error

Root Cause

After upgrade to latest version, my feishu channel broken.My message can be processed.even if revert the change of the channel config

Fix Action

Fix / Workaround

After upgrade to latest version, my feishu channel broken.My message can be processed.even if revert the change of the channel config

1.upgrade to latest version 2.config multi accounts

14:05:15 info [info]: [ '[ws]', 'ws client ready' ] [info]: [ '[ws]', 'ws client ready' ] 14:06:13 info gateway/ws ⇄ res ✓ config.openFile 78ms conn=79c5422b…0f76 id=eaa1d169…1d4e 14:07:10 info gateway/channels/feishu feishu[default]: received message from ou_1d6652c4fd501068d66c18cb2c8137ca in oc_cba239e67811408d32e4a89aeacf075b (p2p) 14:07:10 error gateway/channels/feishu feishu[default]: failed to dispatch message: TypeError: (0 , _feishu.createScopedPairingAccess) is not a function

PR fix notes

PR #74219: fix(plugin-sdk): restore feishu compatibility facades

Description (problem / solution / changelog)

Summary

Restores the openclaw/plugin-sdk/feishu (and helper feishu-setup, feishu-conversation) subpath facades that were removed in 1e3ce10e2.

Root Cause

The published @openclaw/[email protected] imports from openclaw/plugin-sdk/feishu, which was removed in the refactor(plugin-sdk): remove unused reserved helper exports commit. After upgrading to [email protected], the import fails at runtime:

TypeError: (0 , _feishu.createScopedPairingAccess) is not a function

This is the same class of regression as #73685 (Discord facade removal).

Changes

  • src/plugin-sdk/feishu.ts — Restored facade with all exports needed by @openclaw/[email protected], including:
    • createScopedPairingAccess (from ./pairing-access.js)
    • issuePairingChallenge (from ../pairing/pairing-challenge.js)
    • createTypingCallbacks (from ../channels/typing.js)
    • splitOnboardingEntries (alias for splitSetupEntries)
    • ChannelOnboardingAdapter / ChannelOnboardingDmPolicy (type aliases for renamed types)
  • src/plugin-sdk/feishu-setup.ts — Restored lazy facade loader for feishu setup wizard
  • src/plugin-sdk/feishu-conversation.ts — Restored lazy facade loader for feishu conversation/thread binding helpers
  • scripts/lib/plugin-sdk-entrypoints.json — Added feishu entry
  • src/plugin-sdk/entrypoints.ts — Added feishu to supportedBundledFacadeSdkEntrypoints
  • package.json — Synced exports map via sync-plugin-sdk-exports.mjs

Fixes #74138

Changed files

  • package.json (modified, +4/-0)
  • scripts/lib/plugin-sdk-entrypoints.json (modified, +1/-0)
  • src/plugin-sdk/entrypoints.ts (modified, +1/-0)
  • src/plugin-sdk/feishu-conversation.ts (added, +109/-0)
  • src/plugin-sdk/feishu-setup.ts (added, +25/-0)
  • src/plugin-sdk/feishu.ts (added, +157/-0)

PR #74223: plugin-sdk: restore Feishu pairing facade

Description (problem / solution / changelog)

Summary

Describe the problem and fix in 2–5 bullets:

If this PR fixes a plugin beta-release blocker, title it fix(<plugin-id>): beta blocker - <summary> and link the matching Beta blocker: <plugin-name> - <summary> issue labeled beta-blocker. Contributors cannot label PRs, so the title is the PR-side signal for maintainers and automation.

  • Problem: npm-installed legacy Feishu plugins could import openclaw/plugin-sdk/feishu, but the host no longer exported that subpath.
  • Why it matters: affected Feishu/Lark installs failed during module linking before pairing or startup could run.
  • What changed: restored a scoped Feishu compatibility SDK facade, added it to SDK export wiring, updated API baseline/docs, and added a regression contract test for the legacy export surface.
  • What did NOT change (scope boundary): no Feishu runtime behavior, config format, pairing storage, auth flow, or network behavior changed.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #74138
  • Related #
  • This PR fixes a bug or regression

Root Cause (if applicable)

For bug fixes or regressions, explain why this happened, not just what changed. Otherwise write N/A. If the cause is unclear, write Unknown.

  • Root cause: Feishu’s historical package used a Feishu-specific SDK subpath, but later SDK export cleanup removed openclaw/plugin-sdk/feishu without leaving a compatibility facade.
  • Missing detection / guardrail: SDK contract tests did not cover the published Feishu package’s legacy named imports from that subpath.
  • Contributing context (if known): newer bundled Feishu code had moved to focused SDK subpaths, so local/current tests missed older npm-installed package compatibility.

Regression Test Plan (if applicable)

For bug fixes or regressions, name the smallest reliable test coverage that should catch this. Otherwise write N/A.

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
    • Target test or file: src/plugins/contracts/plugin-sdk-subpaths.test.ts
    • Scenario the test should lock in: openclaw/plugin-sdk/feishu remains importable and exposes the legacy runtime names used by published Feishu packages.
    • Why this is the smallest reliable guardrail: it validates the public SDK subpath contract directly without needing to boot a full Feishu channel runtime.
    • Existing test that already covers this (if any): none before this PR.
    • If no new test is added, why not: N/A

User-visible / Behavior Changes

Users with older npm-installed Feishu/Lark plugin packages can start the plugin again after upgrading the host.

Diagram (if applicable)

N/A.

Security Impact (required)

  • New permissions/capabilities? (Yes/No) No
  • Secrets/tokens handling changed? (Yes/No) No
  • New/changed network calls? (Yes/No) No
  • Command/tool execution surface changed? (Yes/No) No
  • Data access scope changed? (Yes/No) No
  • If any Yes, explain risk + mitigation: N/A

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: local repo with pnpm
  • Model/provider: N/A
  • Integration/channel (if any): Feishu/Lark
  • Relevant config (redacted): N/A

Steps

  1. Install or run a legacy Feishu package that imports from openclaw/plugin-sdk/feishu.
  2. Start the host with that plugin available.
  3. Import/link the Feishu runtime.

Expected

  • The Feishu SDK subpath resolves and exposes the legacy named exports required by the published plugin package.

Actual

  • Before this PR, openclaw/plugin-sdk/feishu was missing or too narrow, causing ESM import/ link failures.

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios:
    • pnpm test -- src/plugins/contracts/plugin-sdk-subpaths.test.ts -t "Feishu pairing compatibility"
    • pnpm test -- src/plugins/contracts/plugin-sdk-subpaths.test.ts
    • pnpm plugin-sdk:api:check
    • pnpm build
    • pnpm check:changed
    • pnpm dlx codex review --base origin/main
  • Edge cases checked: the compatibility facade includes the broader legacy Feishu named export set, not only createScopedPairingAccess.
  • What you did not verify: live Feishu/Lark API traffic with real credentials.

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

Compatibility / Migration

  • Backward compatible? (Yes/No) Yes
  • Config/env changes? (Yes/No) No
  • Migration needed? (Yes/No) No
  • If yes, exact upgrade steps: N/A

Risks and Mitigations

List only real risks for this PR. Add/remove entries as needed. If none, write None.

  • Risk: the restored Feishu facade could accidentally become a new general-purpose SDK surface.
    • Mitigation: the file is documented as a legacy compatibility facade, scoped to historical Feishu package imports, and covered by a focused contract test.

Built with Codex

Changed files

  • docs/.generated/plugin-sdk-api-baseline.sha256 (modified, +2/-2)
  • docs/plugins/sdk-migration.md (modified, +6/-4)
  • docs/plugins/sdk-subpaths.md (modified, +1/-0)
  • package.json (modified, +4/-0)
  • scripts/lib/plugin-sdk-entrypoints.json (modified, +1/-0)
  • src/plugin-sdk/entrypoints.ts (modified, +1/-0)
  • src/plugin-sdk/feishu.ts (added, +121/-0)
  • src/plugins/contracts/plugin-sdk-subpaths.test.ts (modified, +60/-0)
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

Yes

Summary

After upgrade to latest version, my feishu channel broken.My message can be processed.even if revert the change of the channel config

Steps to reproduce

1.upgrade to latest version 2.config multi accounts

Expected behavior

can works well

Actual behavior

The log as below:


14:05:15 info [info]: [ '[ws]', 'ws client ready' ] [info]: [ '[ws]', 'ws client ready' ] 14:06:13 info gateway/ws ⇄ res ✓ config.openFile 78ms conn=79c5422b…0f76 id=eaa1d169…1d4e 14:07:10 info gateway/channels/feishu feishu[default]: received message from ou_1d6652c4fd501068d66c18cb2c8137ca in oc_cba239e67811408d32e4a89aeacf075b (p2p) 14:07:10 error gateway/channels/feishu feishu[default]: failed to dispatch message: TypeError: (0 , _feishu.createScopedPairingAccess) is not a function

OpenClaw version

2026.4.26

Operating system

macOS 15.3.1

Install method

npm

Model

qwen3.6-plus

Provider / routing chain

bailian

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

extent analysis

TL;DR

The issue is likely due to a compatibility problem with the latest version, causing a TypeError when trying to dispatch a message, and reverting the channel config change does not resolve the issue.

Guidance

  • The error message (0 , _feishu.createScopedPairingAccess) is not a function suggests that the createScopedPairingAccess function is not defined or has been removed in the latest version.
  • Verify that the createScopedPairingAccess function is still supported in the latest version and check the documentation for any changes to the API.
  • Check the version history to see if there were any breaking changes related to the feishu module.
  • Try to identify if there are any other users experiencing similar issues with the latest version.

Example

No code snippet can be provided without more information about the feishu module and its API.

Notes

The issue seems to be related to a regression in the latest version, and without more information about the feishu module, it's difficult to provide a more specific solution.

Recommendation

Apply workaround: Try to downgrade to a previous version where the issue was not present, or wait for an update that fixes the compatibility issue. This is because the error message suggests a breaking change in the latest version.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

can works well

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Bug]: feishu createScopedPairingAccess [2 pull requests, 1 comments, 2 participants]