BigUncle
27882dc73e
feat(feishu): add quota optimization flags (openclaw#10513) thanks @BigUncle
...
Verified:
- pnpm build
- pnpm check
- pnpm vitest run --config vitest.extensions.config.ts extensions/feishu/src/config-schema.test.ts extensions/feishu/src/reply-dispatcher.test.ts extensions/feishu/src/bot.test.ts
Co-authored-by: BigUncle <9360607+BigUncle@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 23:05:54 -06:00
Rohin
e0b1b48be3
feishu: fall back to user_id for inbound sender identity (openclaw#26703) thanks @NewdlDewdl
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: NewdlDewdl <230946873+NewdlDewdl@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 22:59:42 -06:00
Clawborn
10f1be1072
fix(feishu): replace console.log with runtime log for typing indicator errors (openclaw#18841) thanks @Clawborn
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Clawborn <135319479+Clawborn@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 22:57:16 -06:00
YAXUAN
8beb048a84
test(feishu): add regression for audio download resource type=file (openclaw#16311) thanks @Yaxuan42
...
Verified:
- pnpm build
- pnpm check
- pnpm vitest run --config vitest.extensions.config.ts extensions/feishu/src/bot.test.ts extensions/feishu/src/media.test.ts
Co-authored-by: Yaxuan42 <184813557+Yaxuan42@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 22:49:05 -06:00
青雲
b28344eacc
fix(feishu): insert document blocks sequentially to preserve order ( #26022 ) (openclaw#26172) thanks @echoVic
...
Verified:
- pnpm build
- pnpm check
- pnpm vitest run --config vitest.extensions.config.ts extensions/feishu/src/docx.test.ts
Co-authored-by: echoVic <16428813+echoVic@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 22:48:14 -06:00
傅洋
e4cb6a88be
fix(feishu): handle message_type "media" for video downloads (openclaw#25502) thanks @4ier
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: 4ier <5648066+4ier@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 22:28:37 -06:00
Yihao
d9230b13a4
feat(feishu): skip reply-to in DM conversations ( #13211 )
...
In DM (p2p) chats, use message.create instead of message.reply
so that bot responses don't show a 'Reply to' quote. Group chats
retain the reply-to behavior for context clarity.
The typing indicator (emoji reaction on the user's message) is
preserved in DMs — only the reply reference in sent messages is
removed.
Changes:
- Add skipReplyToInMessages param to createFeishuReplyDispatcher
- In bot.ts, set skipReplyToInMessages: !isGroup for both dispatch sites
- In reply-dispatcher.ts, use sendReplyToMessageId (undefined for DMs)
for message sending while keeping replyToMessageId for typing indicator
2026-02-27 22:24:42 -06:00
Haitian
107be4e909
feat(feishu): add global groupSenderAllowFrom for sender-level group access control (openclaw#29174) thanks @1MoreBuild
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: 1MoreBuild <11406106+1MoreBuild@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 21:49:47 -06:00
Tak Hoffman
aef5355102
fix(feishu): add reactionNotifications mode gating (openclaw#29388) thanks @Takhoffman
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 21:47:12 -06:00
TIHU
0e4c24ebe2
fix(feishu): auto-convert local image path text to image message in outbound (openclaw#29264) thanks @paceyw
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: paceyw <44923937+paceyw@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 21:29:11 -06:00
tsu-builds
f53ef73a2b
feat(feishu): add support for merge_forward message parsing (openclaw#28707) thanks @tsu-builds
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: tsu-builds <264409075+tsu-builds@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 20:57:18 -06:00
Lin Z
8241145ada
feat(feishu): add reaction event support (created/deleted) (openclaw#16716) thanks @schumilin
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: schumilin <2003498+schumilin@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 20:54:24 -06:00
Sid
4221b5f809
fix: pass rootId to streaming card in Feishu topic groups (openclaw#28346) thanks @Sid-Qin
...
Verified:
- pnpm check
- pnpm test extensions/feishu/src/reply-dispatcher.test.ts
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 20:20:53 -06:00
Shawn
da00ead652
fix(feishu): parse code blocks and share_chat messages (openclaw#28591) thanks @kevinWangSheng
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: kevinWangSheng <118158941+kevinWangSheng@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 20:15:48 -06:00
kcinzgg
89669a33bd
feat(feishu): add replyInThread configuration for message replies (openclaw#27325) thanks @kcinzgg
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: kcinzgg <13964709+kcinzgg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 19:53:02 -06:00
拐爷&&老拐瘦
36d69d05e2
feat(feishu): support sender/topic-scoped group session routing (openclaw#17798) thanks @yfge
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: yfge <1186273+yfge@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 19:26:36 -06:00
icesword0760
a509154be5
Feishu: send media payloads as attachments (openclaw#28959) thanks @icesword0760
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: icesword0760 <23316247+icesword0760@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 19:06:27 -06:00
Madoka
32ee2f0109
fix(feishu): break infinite typing-indicator retry loop on rate-limit / quota errors (openclaw#28494) thanks @guoqunabc
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: guoqunabc <9532020+guoqunabc@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 18:41:08 -06:00
Glucksberg
0e755ad99a
fix(feishu): use msg_type "audio" for opus files instead of "media" (openclaw#28269) thanks @Glucksberg
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 18:23:19 -06:00
Glucksberg
60ef923051
fix(feishu): cache probeFeishu() results with 10-min TTL to reduce API calls (openclaw#28907) thanks @Glucksberg
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 18:15:28 -06:00
XuHao
56fa05838a
feat(feishu): support Docx table create/write + image/file upload actions in feishu_doc ( #20304 )
...
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 18:00:56 -06:00
OfflynAI
ad804b0356
fix(feishu): propagate mediaLocalRoots for local file sends ( #27884 ) (openclaw#27928) thanks @joelnishanth
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: joelnishanth <140015627+joelnishanth@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 17:43:57 -06:00
zhoulc777
bf9585d056
PR: Feishu Plugin - Auto-grant document permissions to requesting user (openclaw#28295) thanks @zhoulongchao77
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: zhoulongchao77 <65058500+zhoulongchao77@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 17:34:18 -06:00
bmendonca3
f943c76cde
security(feishu): bound unauthenticated webhook rate-limit state (openclaw#26050) thanks @bmendonca3
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: bmendonca3 <208517100+bmendonca3@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-27 13:22:24 -06:00
Rishabh Jain
6675aacb5e
feat(memory-lancedb): Custom OpenAI BaseURL & Dimensions Support ( #17874 )
...
* feat(memory-lancedb): add custom baseUrl and dimensions support
* fix(memory-lancedb): strict model typing and safe dimension resolution
* style: fix formatting in memory-lancedb config
* fix(memory-lancedb): sync manifest schema with new embedding options
---------
Co-authored-by: OpenClaw Bot <bot@openclaw.ai >
2026-02-27 07:56:09 -08:00
Peter Steinberger
fe807e4bed
chore(release): bump 2026.2.27 and split changelog
2026-02-27 16:09:28 +01:00
Peter Steinberger
31c0b04c49
fix(nextcloud-talk): keep startAccount pending until abort ( #27897 )
2026-02-26 22:00:25 +00:00
Peter Steinberger
53575f2013
fix: add googlechat lifecycle regression test ( #27384 ) (thanks @junsuwhy)
2026-02-26 21:49:26 +00:00
Chang Shu-Huai
eb6fa0dacf
fix(googlechat): keep startAccount pending until abort to prevent restart loop
2026-02-26 21:49:26 +00:00
Peter Steinberger
564be6b402
refactor(channels): unify dm pairing policy flows
2026-02-26 22:36:20 +01:00
Peter Steinberger
c53b11dccd
test: fix pairing/daemon assertion drift
2026-02-26 21:24:50 +00:00
Peter Steinberger
a0c5e28f3b
refactor(extensions): use scoped pairing helper
2026-02-26 21:57:52 +01:00
Peter Steinberger
192df12d60
test(voice-call): cover verification key and header helpers
2026-02-26 21:54:09 +01:00
Peter Steinberger
535ef8991c
refactor(voice-call): enforce verified webhook key contract
2026-02-26 21:54:09 +01:00
Peter Steinberger
6f0b4caa26
refactor(voice-call): share header and guarded api helpers
2026-02-26 21:54:09 +01:00
Peter Steinberger
1aadf26f9a
fix(voice-call): bind webhook dedupe to verified request identity
2026-02-26 21:43:51 +01:00
Vincent Koc
5a453eacbd
chore(onboarding): add explicit account-risk warning for Gemini CLI OAuth and docs ( #16683 )
...
* docs: add account-risk caution to Google OAuth provider docs
* docs(plugin): add Gemini CLI account safety caution
* CLI: add risk hint for Gemini CLI auth choice
* Onboarding: require confirmation for Gemini CLI OAuth
* Tests: cover Gemini CLI OAuth risk confirmation flow
2026-02-26 15:25:42 -05:00
Vincent Koc
764cd5a310
fix(gemini-oauth): align OAuth project discovery metadata and endpoint fallbacks ( #16684 )
...
* fix(gemini-oauth): align loadCodeAssist metadata and endpoint fallback
* test(gemini-oauth): cover endpoint fallback and env project fallback
* fix(gemini-oauth): route timed fetches through ssrf guard
* test(gemini-oauth): mock guarded fetch in oauth tests
2026-02-26 15:24:35 -05:00
Peter Steinberger
8483e01a68
refactor(matrix): dedupe sender label resolution for inbound bodies
2026-02-26 20:57:05 +01:00
Peter Steinberger
01b4f42f9a
fix(matrix): preserve sender labels in Matrix BodyForAgent
2026-02-26 20:57:05 +01:00
Peter Steinberger
dc6e4a5b13
fix: harden dm command authorization in open mode
2026-02-26 19:49:36 +01:00
Peter Steinberger
d6eefe2e75
style: format auth boundary updates
2026-02-26 18:50:47 +01:00
Peter Steinberger
64de4b6d6a
fix: enforce explicit group auth boundaries across channels
2026-02-26 18:49:16 +01:00
Peter Steinberger
cd80c7e7ff
refactor: unify dm policy store reads and reason codes
2026-02-26 17:47:57 +01:00
Peter Steinberger
273973d374
refactor: unify typing dispatch lifecycle and policy boundaries
2026-02-26 17:36:16 +01:00
Shakker
b044c149c1
Mattermost: avoid raw fetch in monitor media download
2026-02-26 16:03:39 +00:00
Peter Steinberger
37a138c554
fix: harden typing lifecycle and cross-channel suppression
2026-02-26 17:01:09 +01:00
Peter Steinberger
57334cd7d8
refactor: unify channel/plugin ssrf fetch policy and auth fallback
2026-02-26 16:44:13 +01:00
Peter Steinberger
2e97d0dd95
fix: finalize teams file-consent timeout landing ( #27641 ) (thanks @scz2011)
2026-02-26 15:42:08 +00:00
AI Assistant
773ab319ef
fix(msteams): Fix code formatting
...
Remove trailing whitespace to pass oxfmt format check.
2026-02-26 15:42:08 +00:00