mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-14 10:41:23 +00:00
* fix(msteams): resolve Graph chat ID for personal DM media downloads (#62219) Bot Framework personal DM conversation IDs use an opaque `a:...` format that the Graph `/chats/{chatId}/messages` endpoint rejects as "Invalid ThreadId". When the direct Bot Framework attachment download fails and the code falls back to the Graph API path, inbound media (images, files) is silently dropped. Resolve the real Graph chat ID via `resolveGraphChatId()` before constructing Graph message URLs, with conversation-store caching so subsequent messages skip the API lookup. * fix(msteams): preserve graphChatId across conversation store upserts mergeStoredConversationReference only preserved timezone from the existing entry — graphChatId was silently overwritten on every activity-triggered upsert, defeating the cache and causing repeated Graph API lookups on every DM turn. Mirror the existing timezone guard so graphChatId survives upserts that don't carry it.