Skip to content

v0.1.5

Choose a tag to compare

@notload notload released this 24 Aug 14:49
· 5 commits to main since this release

修复

#3 服务端来源鉴权缺失(安全)

  • 新增请求来源校验:/session-toc/questions 拒绝无浏览器信号(sec-fetch-site 或同源 Origin)的裸 HTTP 请求。
  • curl / 脚本 / 局域网主机等非浏览器客户端一律返回 403(FORBIDDEN),即使 sessionId 真实存在也不再返回会话提问全文。
  • 保留原有会话归属校验(isSessionVisible)作为第二道防线。

#4 client 端 UI 性能

  • 移除 findScrollContainer 的全页 querySelectorAll('*') + 逐元素 getComputedStyle 扫描(首次点击主线程阻塞的主因),改为候选 class 选择器 + 挂载时预热缓存。
  • loadOlder 补加载由逐页 await rAF 改为 requestIdleCallback 分帧,并新增「定位中…」标题占位。
  • 跳转滚动由 smooth 改为 auto(即时跳转,去掉超大 DOM 上的平滑滚动开销)。
  • 新增客户端 entries 缓存(LRU 上限 32),切换回已打开会话先命中缓存秒开、再后台刷新。

测试

  • 新增 test/auth.test.js(8 用例)+ 裸请求 403 回归用例。
  • 全部 34 个用例通过(node --test --test-isolation=none)。