Skip to content

feat(lark): support Lark international domain alongside Feishu#602

Open
loind wants to merge 1 commit into
iOfficeAI:mainfrom
loind:feat/lark-region
Open

feat(lark): support Lark international domain alongside Feishu#602
loind wants to merge 1 commit into
iOfficeAI:mainfrom
loind:feat/lark-region

Conversation

@loind

@loind loind commented Jul 11, 2026

Copy link
Copy Markdown

Summary

Support the Lark international domain (open.larksuite.com) alongside Feishu (open.feishu.cn) in the Lark channel plugin. The domain was previously hardcoded to Feishu, so Lark international apps could not connect (WebSocket long-connection returned Incorrect domain name).

Changes

  • Add domain ("feishu" | "lark") to PluginCredentials and TestPluginExtraConfig.
  • Introduce a LarkDomain enum; LarkApi is domain-aware (replaces the hardcoded open.feishu.cn constants) for token, bot-info, WS endpoint, and message APIs.
  • initialize() reads the stored domain, defaulting to Feishu for backward compatibility.
  • build_test_config maps extra_config.domain for the lark plugin.
  • Expose the stored domain in plugin status (PluginStatusResponse + status view) so the UI can restore the selected region after reload.

Testing

  • cargo test -p aionui-channel -p aionui-api-types --features lark — all green.
  • End-to-end with a real Lark (larksuite) app: bot init succeeds and Lark WebSocket connected.

Compatibility

Default is Feishu, so existing Feishu setups are unaffected. The lark module remains behind the lark feature.

Pairs with

Frontend: iOfficeAI/AionUi#3559

Add a domain field ("feishu"|"lark") to Lark plugin credentials and
test config so the API host is selectable (open.feishu.cn vs
open.larksuite.com). LarkApi is now domain-aware (replaces hardcoded
consts); initialize() reads the stored domain, defaulting to Feishu
for backward compatibility. Expose the stored domain in plugin status
so the UI can restore the selected region after reload.
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