Repository navigation
Conversation
added 3 commits
September 25, 2026 20:19
Use root message identity for native topics and ordinary messages promoted by threaded replies. Reuse validated parent message mappings for replies without root_id. Refs #1
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.
群聊不同话题分别建立 surface,避免共用选择的会话和入站队列;文字、卡片及媒体回复留在来源话题内。群工作区恢复和 callback 校验仍使用真实 chat ID,私聊路由保持原行为。
身份统一基于根消息:首条使用自身 message_id,回复使用 root_id 或同群可信父消息映射。这样普通消息被回复成话题后,即使新增 thread_id,也继续使用原来的会话。thread ID 不被当作消息 ID 传给飞书。没有显式回复锚点时使用同一 surface 已观测到的消息;话题回复失败时保留错误,避免回落到群主聊天。工具的图片、文件、视频发送同样覆盖;接口显式指定其他聊天时保留目标,并且不改写来源话题的锚点。
验证:
go test ./...、scripts/check/pre-commit.sh、独立只读验收通过。锚点缓存保存在 gateway 内存中;重建后由新入站消息或可信 callback 恢复,已有显式 ReplyToMessageID 仍可使用。缺少真实锚点时返回错误。没有把旧的群级会话选择自动迁移到每个新话题。
未做真实飞书端到端发送或服务部署。前置检查清理见 #917;建议先合并,功能提交为
6b947884(话题路由与发送)和3ae4131f(原生/新建话题身份连续性)。CI 状态(2026-09-26 核验):工作流 为
action_required,等待具有上游仓库写权限的维护者批准。测试 job 尚未执行;本地验证结果与上游 CI 结果分别记录。