fix(Task#1602): 过去日期时间戳放行bug导致md表格残留漏网

- _ocr_text_has_fresh_timestamp 中 has_past=True 时不应放行
- 根因:OCR抓取历史md表格(含旧时间戳如10:20:26),'新鲜时间戳'检查误放行
- 修复:有过去日期→直接丢弃(与has_today逻辑一致),不检查时间戳
- 前置修复:Task#1601 CUDA子进程探针(gui.py _probe_cuda_safety)
- commit eef3e08 已推 git.ypshidifu.cn
This commit is contained in:
youpaishidifu
2026-08-25 10:42:15 +08:00
parent eef3e08f8f
commit ce6ff1a830
+4 -11
View File
@@ -6410,17 +6410,10 @@ class MessageMonitor:
logger.debug(f"[ocr] 过滤器1结果: 检测到今天日期,丢弃历史消息: {text[:80]!r}")
return False
if has_past:
# 有过去日期:检查是否有新鲜时间戳(可能OCR拼接了今天的独立时间戳)
if timestamps:
for ts in timestamps:
try:
if not self._is_timestamp_old(ts, 300):
logger.debug(f"[ocr] 过滤器1结果: 过去日期+新鲜时间戳{ts}(≤300s),放行")
return True
except Exception:
pass
# 无新鲜时间戳:丢弃
logger.debug(f"[ocr] 过滤器1结果: 过去日期+无新鲜时间戳,丢弃: {text[:80]!r}")
# ⭐ Task #1602 修复:过去日期=历史消息,时间戳再"新鲜"也丢弃
# 根因:OCR把历史md表格(含旧时间戳如"10:20:26")当成新消息放行
# 解决:有过去日期→直接丢弃,不检查时间戳新鲜度
logger.debug(f"[ocr] 过滤器1结果: 检测到过去日期,丢弃历史消息: {text[:80]!r}")
return False
# 其他情况:丢弃(理论上不会到这里)
logger.debug(f"[ocr] 过滤器1结果: 检测到清晰年月日,丢弃历史消息: {text[:80]!r}")