fix(channel): record last_message_at for all channels including DingTalk#134
Merged
fix(channel): record last_message_at for all channels including DingTalk#134
Conversation
xiami762
approved these changes
Apr 16, 2026
last_message_at was always null because record_message() was never
called by the inbound pipeline. This caused the "最近消息" field to
permanently show "暂无" for all channels.
- Fix timestamp source: use time.time() (unix epoch) instead of
time.monotonic() so the frontend can interpret it correctly
- Wrap the dispatcher callback in GatewayManager to automatically
call record_message() on each inbound message (Feishu/WeCom/Telegram)
- Add POST /{channel_id}/record-inbound endpoint for out-of-process
bridges that bypass InboundDispatcher
- Call record-inbound from DingTalk runner.ts on each incoming message
Made-with: Cursor
- Replace 3 direct `self._status.last_message_at = time.monotonic()` assignments in FeishuChannel with `self.record_message()` so all channels use the same epoch-second timestamp from base class - Move DingTalk record-inbound call before session creation so the timestamp is recorded even when downstream API calls fail Made-with: Cursor
a37c4ac to
f1da52d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
last_message_at was always null because record_message() was never called by the inbound pipeline. This caused the "最近消息" field to permanently show "暂无" for all channels.