Skip to content

fix: repair dingtalk stream callbacks and replies#10369

Closed
junwu168 wants to merge 1 commit into
NousResearch:mainfrom
junwu168:fix/dingtalk-stream-callback-replies
Closed

fix: repair dingtalk stream callbacks and replies#10369
junwu168 wants to merge 1 commit into
NousResearch:mainfrom
junwu168:fix/dingtalk-stream-callback-replies

Conversation

@junwu168

@junwu168 junwu168 commented Apr 15, 2026

Copy link
Copy Markdown

Summary

  • unwrap DingTalk callback payloads into ChatbotMessage objects before processing
  • handle async DingTalk stream startup and callback dispatch for the current SDK
  • authorize DingTalk users via alternate staff IDs and preserve session webhooks for reply routing
  • add regression tests for callback handling, alternate ID authorization, and webhook caching

Testing

  • venv/bin/python -m pytest tests/test_dingtalk_adapter.py tests/gateway/test_unauthorized_dm_behavior.py -q
  • venv/bin/python -m py_compile gateway/platforms/dingtalk.py gateway/run.py

Notes

  • keeps the unrelated scripts/whatsapp-bridge/package-lock.json change out of this PR

- unwrap CallbackMessage payloads into ChatbotMessage objects
- handle async DingTalk stream startup correctly
- authorize DingTalk users via alternate staff IDs
- preserve session webhooks for DM reply routing
- add regression coverage for callback handling and webhook caching
@teknium1

Copy link
Copy Markdown
Contributor

Closing as superseded by #11471 (#11471) which salvaged @kevinskysunny's minimal fix (#11257) and added a follow-up for the broken _extract_text() path found during E2E testing.

Thanks for the fix — a lot of contributors hit this SDK break at the same time. Your investigation helped confirm the root cause.

@teknium1 teknium1 closed this Apr 17, 2026
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.

2 participants