完善消息去重并增加说明文档#576
Conversation
🤖 Augment PR SummarySummary: This PR tightens NotificationCenterService message de-duplication to reduce repeated popups in high-frequency plugin scenarios. Changes:
🤖 Was this summary useful? React with 👍 or 👎 |
| if (_lastMessage.Title == message.Title && totalSeconds <= DeduplicationWindowSeconds && message.Source == _lastMessage.Source && message.Summary == _lastMessage.Summary) | ||
| { | ||
| _lastMessage.Time = message.CreatedAt; | ||
| Console.WriteLine("[info]标题" + message.Title + "已被自动去重" + "发送方" + message.Source); |
There was a problem hiding this comment.
对于插件或程序运行错误导致的大批量的通知,如果直接记录日志会导致日志体积快速膨胀,有计划在以后对于拦截采用日志记录(但要加重复的只记录一次的逻辑)
| ## 描述 | ||
| 为避免插件在短时间内高频推送相同通知(例如网络重连、循环异常等)干扰课堂体验,"NotificationCenterService" 内置了 滑动窗口去重 策略。符合去重条件的消息将被静默抑制,不会重复弹出。 | ||
| ## 触发条件 | ||
| ### 要同时满足以下条件才会被去重 |
|
我来补几句吧,首先,插件应该是没办法发通知的(除非它用反射)所以这个防重多半是个兜底的防呆机制,然后,经过测试防重机制运行无误,经观察在实验功能中同时开启启用DPIChangeDetection以及ForceFullScreen会出现大量重复停止(疑似死循环)消息去重机制成功拦截,日志如下
|
|
直接 @CJK_mkp ,机器人的review他自己都不看)
…---原始邮件---
发件人: ***@***.***>
发送时间: 2026年7月6日(周一) 中午12:11
收件人: ***@***.***>;
抄送: ***@***.***>;
主题: Re: [InkCanvasForClass/community] 完善消息去重并增加说明文档 (PR #576)
chenjei2011 left a comment (InkCanvasForClass/community#576)
我来补几句吧,首先,插件应该是没办法发通知的(除非它用反射)所以这个防重多半是个兜底的防呆机制,然后,经过测试防重机制运行无误,经观察在实验功能中同时开启启用DPIChangeDetection以及ForceFullScreen会出现大量重复停止(疑似死循环)消息去重机制成功拦截,日志如下
[Ink_Canvas.Helpers.NotificationCenterService.IsDuplicate] local发送的标题为检测到窗口大小变化,已自动恢复到全屏:1366x768(缩放比例为1x1)的消息已被消息去重拦截
2026-07-06T11:28:01.2428943+08:00 [T1] [Info]
[Ink_Canvas.Helpers.NotificationCenterService.IsDuplicate] local发送的标题为系统DPI发生变化,从 1x1 变化为 1.5x1.5的消息已被消息去重拦截
***@***.*** 审核
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
1 修改相关变量名等
2 使去重条件更加严格
3 增加说明文档
JudgeRepeatMessageStruct改为类LastMessageInfoSummary字段的比较,使得标题相同但内容不同的通知不会被误判为重复。Title非空的消息才会更新去重相关变量,避免无标题消息干扰消息去重说明.md