Skip to content

fix(feishu): reduce API calls with webhook config lookup and caching#251

Draft
ringotypowriter wants to merge 1 commit intomemohai:mainfrom
ringotypowriter:fix/feishu-webhook-cache-stream-regressions
Draft

fix(feishu): reduce API calls with webhook config lookup and caching#251
ringotypowriter wants to merge 1 commit intomemohai:mainfrom
ringotypowriter:fix/feishu-webhook-cache-stream-regressions

Conversation

@ringotypowriter
Copy link
Copy Markdown
Collaborator

  • Add GetConfigByID SQL query and Store method; webhook handler now looks up config directly by UUID instead of listing all configs
  • Cache bot open_id per config ID to avoid repeated DiscoverSelf calls on every webhook request
  • Cache sender profiles (display name / username) with 5-min TTL to avoid per-message Contact.User and ChatMembers API calls
  • Extract feishuStreamMessageAPI interface in stream.go to improve testability; fix tool-call boundary so card persists across tool calls
  • Add tests for stream tool-call boundaries, sender profile lookup order, and cache sweep behavior

- Add GetConfigByID SQL query and Store method; webhook handler now
  looks up config directly by UUID instead of listing all configs
- Cache bot open_id per config ID to avoid repeated DiscoverSelf calls
  on every webhook request
- Cache sender profiles (display name / username) with 5-min TTL to
  avoid per-message Contact.User and ChatMembers API calls
- Extract feishuStreamMessageAPI interface in stream.go to improve
  testability; fix tool-call boundary so card persists across tool calls
- Add tests for stream tool-call boundaries, sender profile lookup
  order, and cache sweep behavior
@sheepbox8646 sheepbox8646 force-pushed the main branch 3 times, most recently from 88957cd to b1df4a5 Compare April 1, 2026 17:52
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