it0/deploy/docker
hailin 8751c85881 feat(dingtalk): unified DingTalk bot router with binding flow
- Add DingTalkRouterService: maintains single DingTalk Stream WS
  connection, handles binding codes, routes messages to agent containers
- Add AgentChannelController: POST bind/:id, GET status/:id, POST unbind/:id
- Add findByDingTalkUserId() to AgentInstanceRepository
- Add dingTalkUserId field to AgentInstance entity + migration 011
- Register DingTalkRouterService + AgentChannelController in AgentModule
- Add IT0_DINGTALK_CLIENT_ID/SECRET env vars to docker-compose.yml
- Flutter: DingTalk bind UI in _InstanceCard (bottom sheet with code
  display, countdown, auto-poll, open DingTalk deep link, bound badge)

Robustness improvements in DingTalkRouterService:
  - Concurrent connect guard (connecting flag)
  - Periodic cleanup timer for dedup/rateWindows/bindingCodes maps
  - Non-text message graceful reply
  - Empty senderStaffId guard
  - serverHost null guard before bridge call
  - unref() cleanup timers from event loop

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 08:12:27 -07:00
..
nginx feat: add deployment scripts with SSL support for production 2026-02-09 17:44:27 -08:00
scripts . 2026-02-19 20:37:19 +08:00
.env.example Initial commit: IT0 AI-powered server cluster operations platform 2026-02-08 22:54:37 -08:00
deploy.sh . 2026-02-19 20:37:19 +08:00
docker-compose.ssl.yml fix: add Dockerfiles and fix docker-compose build configuration 2026-02-19 04:31:23 -08:00
docker-compose.voice.yml fix: add Dockerfiles and fix docker-compose build configuration 2026-02-19 04:31:23 -08:00
docker-compose.yml feat(dingtalk): unified DingTalk bot router with binding flow 2026-03-08 08:12:27 -07:00
livekit.yaml fix: set LiveKit node_ip to China IP for domestic WebRTC connectivity 2026-03-01 21:51:17 -08:00