Rhex 论坛系统

做爱做的事!

关于小黑屋帮助FAQ协议Rss赞助
Rhex 论坛系统 @ 2026·Powered by Rhex 1.0.41
🏠首页
摸鱼
吹牛逼
Rhex讨论
程序发布建议/Bug插件发布🪐优秀站点
测试区
测试画廊测试节点
10

知名开源论坛Rhex创始用户 合伙挑刺人

回复讨论
0

Rhex 论坛系统

登录后即可签到、查看积分与快捷发帖

Rhex 论坛系统是一个适合开源部署的现代论坛基础站点

相关主题

【插件发布】Rhex快捷回复插件 V1.0.1从1.0.37开始 回帖不定位到楼层了 通知链接也不带楼层参数帖子卡片测试帖子卡片会出现两条【BUG 反馈】提交评论这里有个小 BUG

主题标签

全部标签
暂无标签

登录后可参与回复讨论。

当前还没有回复,欢迎成为第一个参与讨论的人。

文明发言,理性讨论
首页
Rhex讨论
Rhex讨论 节点
程序发布帖 61插件发布帖 33🪐优秀站点帖 8

修复通知链接不能定位到位置的BUG 同时解决AI回复不更新缓存的问题

@熊猫 我自己动手解决了 测试通过。你检查一下,合并过去吧。

核心修复共 4 个文件

  1. src/components/comment/comment-thread.tsx

修复通知链接定位参数被过早清理:

  • 不再页面刚渲染就删除 highlight
  • 等目标评论完成渲染、展开和滚动稳定后再清理
  • 最多重试约 3.2 秒
  • 清理时只删除 highlight
  • 保留其他查询参数及 #comment-评论ID
  • 使用 window.history.state,避免破坏 Next 路由状态
  • 找不到评论时保留定位参数,避免永久丢失
  1. src/components/notification/notification-list-item.tsx

修复通知点击后的二次刷新和客户端旧缓存:

  • 通知链接从 Next.js <Link> 改为原生 <a>
  • 未读通知先调用标记已读接口
  • 成功后使用 window.location.assign(href) 完整导航
  • 避免 router.push() 命中预取的旧 RSC/Router Cache
  • Ctrl/Command 点击、新窗口打开仍保持浏览器原生行为
  1. src/db/notification-read-queries.ts

新增:

ts
findNotificationTargetById(userId, notificationId)

用于读取通知的:

text
relatedType relatedId
  1. src/app/api/notifications/read/route.ts

点击评论通知并标记已读时:

  • 查询通知关联的评论
  • 查询评论所属帖子
  • 调用 revalidatePostCommentCache({ postId, slug })
  • 再返回未读通知数量

这样 AI/Worker 刚写入回复后,即使之前的缓存失效存在延迟,用户点击通知时也会再次清理对应帖子评论缓存。

问题根因

通知点击使用 Next 客户端导航时,可能同时发生:

  • 预取的帖子 RSC 数据已经过期
  • highlight 被评论组件过早删除
  • 评论树尚未展开或布局尚未稳定
  • 客户端导航、刷新和 URL 清理互相竞争

所以当前窗口点击会出现二次刷新、定位参数消失或看不到最新回复,而新窗口完整加载通常正常。

附件列表

共 1 项
站内附件

rhex-1.0.41-notification-navigation-cache-fix-files-20260620-223723.zip

ZIP · 14 KB · 下载 0 · 可下载公开下载
Rhex
Rhex
建议/Bug
帖 141
建议/Bug
·2小时前
秦始黄
💬🧠