更新记录

更新记录以 userscript 元数据版本为事实源;关于面板用于核对当前页面实际运行的版本。
1.6.4 — Boost 回复入口兼容修复
核验日期:2026-09-04。
Boost @ 回复
- 点击带用户名 Boost 的
@操作时,规范 Markdown 引用、作者提及和目标楼层随 Topic Composer 原子建立,不再依赖空富文本编辑器出现后的 DOM 补写。 - 复用已打开的回复框切换目标楼层时,会同步更新 Composer model 并触发原生
composer:reply-reloaded生命周期;Topic 级隔离入口和宿主页面不跳转的行为保持不变。
发布状态
1.6.4已发布到 Greasy Fork:主 Loader 固定版本为1921699,加载 Core1921693、Platform1921695与 Features1921694。- 固定 Loader 原始文件为 4,173 字节,SHA-256
7b68003bd806ec1c2b0b681aee3c2b9002045c0cdcf3f6d15b1785d35c8a6de5;移除平台加入的@downloadURL none后为 4,152 字节,SHA-256f9248c55c2ab1fc86c43b028063ed0cae621afc814f3dd7fd72aaa7f95233c7f,与仓库 Loader 逐字节一致。 - Core 为 1,739,322 字节,SHA-256
aec251cdb2502211bf4add0e8abfa6d7449ecd1abcf816f89f0165d2853a5288;Platform 为 1,491,573 字节,SHA-25609b9ab7e8c567fb5645976254b61681c9f5eac01866bd514c0e95cdd7397992b;Features 为 2,022,100 字节,SHA-256734fc340bf5f3d08340217f8de649b1352035f7595acca1629dd2e6949266271。 - CSS 未变化,继续固定到 Git
4473716d05c9151c79639d6a17e4d71e124c7aef:696,558 字节,SHA-2567cf3e876b3536c0d2f23325fe3fe88c7152c1c632f09c2622309c0799a8bd68c;306 个源码模块通过结构 parity 与兼容副本逐字节门禁。
1.6.3 — 回复隔离与站点运行边界
核验日期:2026-08-27。
回复路径
- Reader 楼层回复改为先按 Topic 级入口打开原生 Composer,再把目标 Post 绑定到 Composer model;回复对象保持不变,同时不再让宿主 post-stream 为定位楼层而自动滚动和加载后续页面。
- Topic 操作列、普通楼层、嵌套回复、实时回复与灯箱继续复用同一个原生 Composer owner,不复制草稿、提交或成功事件链。
站点匹配与发现
- Loader 移除
https://*/*全站命中,只保留 LINUX DO 与 20 个明确内置的常用 Discourse 社区,普通 HTTPS 页面不再加载整套 userscript 依赖。 - 其他域名由脚本管理器另行允许后,Reader 使用当前页面的 Discourse 原生模块或 DOM 证据做无网络识别;确认是 Discourse 时弹窗询问,用户同意后才保存为自定义站点兜底。
- 自定义站点存储不会冒充 userscript 运行授权,也不会自行扩大
@match;手动验证仍只匿名访问目标域名的/site/basic-info.json。
发布状态
1.6.3已发布到 Greasy Fork:主 Loader 固定版本为1914298,加载 Core1914292、Platform1914294与 Features1914293。- 固定 Loader 原始文件为 4,173 字节,SHA-256
c518455262e0a811be49ed686906eab03f7279979128e9badbef492ead85a01a;移除平台加入的@downloadURL none后为 4,152 字节,SHA-2565e35a981598c18cfe1d7e4dccdb0b7e1d53d7b56b59a7f84ae2efe7171c95f04,与仓库 Loader 逐字节一致。 - Core 为 1,739,322 字节,SHA-256
0b1ab733f3891bf39e3e4bfb28bc486eb85317edd73e5d658c402c2621a18fe9;Platform 为 1,491,039 字节,SHA-25619e3c5bcc93772dd779f06957eeaa83ff5d0b69381ea956ae715661411fbd014;Features 为 2,022,100 字节,SHA-25621325b267ed42e07ca0f50a64989e57bc3dcc96cac53c91ebdc72c015b57e6a8。 - CSS 未变化,继续固定到 Git
4473716d05c9151c79639d6a17e4d71e124c7aef:696,558 字节,SHA-2567cf3e876b3536c0d2f23325fe3fe88c7152c1c632f09c2622309c0799a8bd68c;源码与分包 runtime 各通过 235 文件契约,306 个模块通过 parity 门禁。
1.6.2 — 真实已读、自动流量与移动交互
核验日期:2026-08-23。
真实已读与跨标签协调
- 楼层必须在前台聚焦的 Reader 视口内正面积相交并累计停留至少 1 秒,才取得已读上报资格;快速擦过、后台标签和失焦窗口不再冒充阅读。
/topics/timings按实际逐楼停留时间和独立topic_time上报;同账号跨标签会合并同主题意图、保留已离屏但尚未确认的合格楼层,并继续保证每个网络批次最多 20 层。- 已读 RPM 同时形成跨标签确定性最小启动间隔,普通 backlog 只由新的真实可见活动续批,不建立匀速排空定时器;服务器成功前仍不会写入权威已读状态。
自动流量与预热边界
- 可丢弃的
prefetch/background共用同账号跨标签 1 路、10 秒 4 次、60 秒 24 次和 60 秒意图寿命;宿主或 Reader 可见请求活跃时自动让路,过期自动意图直接取消。 - 宿主 Topic 预热默认关闭;显式开启后也不会发送原生浏览追踪标志,打开可见 Topic 时会中止冲突预热和缓存恢复,让当前阅读请求立即接管。
- 请求与资源诊断新增自动流量活动、排队、短/长窗口和寿命字段,便于区分用户操作、不可丢的已读确认与自动后台流量。
移动端与操作界面
- 移动 Reader 与宿主主题列表字号按 360px 参考宽度流动缩放;设置滑块同时提供带单位的数值输入,触屏也能精确调整百分比和性能参数。
- 系统返回会先定位最上层 Reader 浮层,并在宿主路由变化后恢复 guard 再执行既有关闭层级;原生 Composer 只在自己真正位于最前时消费
Esc。 - 主帖详情移动到首帖评论分隔线前,“只看楼主”进入同一主帖操作收纳;ME、OP 和特殊身份统一使用紧凑图标标记,窄屏标题与操作区继续保持可见。
发布状态
1.6.2已发布到 Greasy Fork:主 Loader 固定版本为1910580,加载 Core1910575、Platform1910577与 Features1910576。- 固定 Loader 原始文件为 4,202 字节,SHA-256
ad86d37a6eda6e922289319cfc5f49c41760c89c87e62c8272b43e318574886a;移除平台加入的@downloadURL none后为 4,181 字节,SHA-2565dfd86c76883c603e36bd350005cb657fe5e27e209fadcdbc53ec7f492618377,与仓库 Loader 逐字节一致。 - Core 为 1,738,833 字节,SHA-256
bfec60620a453ffde822fbb18fff2b840592cefdcbf8d27a3c638b5d35743454;Platform 为 1,490,614 字节,SHA-256b1bf5294baca37df8ad5ffb9396ccd4ed241033258e0ed1b58dfbba383288bae;Features 为 2,020,439 字节,SHA-256b3e6c891249eff335c932b9f14de5f6752b8f02a2cc67c3e0ae33c1c0f52d07d。 - CSS 固定到 Git
4473716d05c9151c79639d6a17e4d71e124c7aef:696,558 字节,SHA-2567cf3e876b3536c0d2f23325fe3fe88c7152c1c632f09c2622309c0799a8bd68c;源码与分包 runtime 各通过 235 文件契约,305 个模块通过 parity 门禁。
1.6.1 — 移动滚动稳定与触屏返回
核验日期:2026-08-23。
长帖滚动与水合
- 用户触控或拖动滚动条时,虚拟 DOM 在同一帧收到合并后的滚动提示,不再额外等待一帧才更新挂载窗口;内部滚动写回仍不会冒充用户输入。
- 活跃滚动期间只保留楼层根高与内容尺寸的最后样本,停稳后再把请求水合、图片和回复线变化合入同一虚拟帧,减少滚动中的卡顿、空白和位置跳动。
- 前方正文按批次共用一次投影同步与物理视口补偿;回复关系线只在绘制期间再次失效时补帧,避免重复提交同一批 DOM 变化。
移动端交互
- Reader 内部历史回退改为捕获并消费
popstate,逐层执行既有Esc关闭链时不再把事件传播给宿主,避免 Reader 关闭过程触发宿主刷新或路由切换。 - 触屏标题操作展开后忽略触控结束产生的
pointerleave,避免菜单提前收起与点击穿透;纯触屏手机隐藏冗余沉浸入口,长标题允许换行并继续缩小。 - 主题编辑表单按可用宽度自动从双列收为单列,窄屏输入项不再撑出阅读器边界。
触摸缩放与交互减负
- 移动端图片灯箱支持以双指中心为锚点连续缩放与平移,手势结束后会正确释放捕获状态,并继续复用同一图片变换 owner。
- 回复树的滚动冻结投影改为写时复制,普通首滑不再同步复制整棵关系树;连续 wheel 或 touch 手势只在会话开始时广播一次高成本滚动意图。
- 楼层操作收纳、浮窗拖动、设置色盘和 Topic 操作列只在真实交互期间绑定移动监听;图片悬浮工具监听改为被动模式,减少移动端首帧主线程工作。
- 窄屏 Composer 显式继承阅读器编辑字号,系统字体渲染和 Reader 定位模式下保持一致。
发布状态
1.6.1已发布到 Greasy Fork:主 Loader 固定版本为1909752,加载 Core1909749、Platform1909731与 Features1909750。- 固定 Loader 原始文件为 4,202 字节,SHA-256
c3322f51e8facfd201e31775675a7d66651a2eb9d2fc7d014c8064c719447aa6;移除平台加入的@downloadURL none后为 4,181 字节,SHA-256d6a6630a583d940ab8f5b302b99108edc746ed5ec8bd82c0151faacf2a609395,与仓库 Loader 逐字节一致。 - Core 为 1,730,972 字节,SHA-256
5b71ab3be91ae5b966c3b0c95140d3bd012759cb03b06740fdd00a4780f0c544;Platform 为 1,482,147 字节,SHA-256f3fc41247dd79a34e9420af92d8a23fc644c4b20309269d3f0dae947a67aa033;Features 为 1,993,857 字节,SHA-2562548c22f4323304e34529ecc4a242cbe46c0368e1c0b602b1e4563d176c58509。 - CSS 固定到 Git
36ca6edefacac79bdaa3243932000671eba1d14e:688,457 字节,SHA-25693e59f079e926511f6c8539e2496646791955cef01d8f70e144a0dbecc27258b;源码与分包 runtime 各通过 234 文件契约,305 个模块通过 parity 门禁。
1.6.0 — 移动端工作区与请求诊断
核验日期:2026-08-22。
移动端工作区
- 移动列表页采用紧凑宿主头部:搜索保留原站完整结果和高级筛选并投影为底部抽屉,语言入口改为用户菜单内的中英直切,“最新”数量跟随真实刷新横幅。
- Reader 新增浏览器沉浸入口;设置与七类工具浮窗改用移动分类抽屉,移动态不再覆盖桌面浮窗几何,退出移动宽度后恢复原桌面位置与尺寸。
- 移动端浏览器返回键按既有
Esc层级逐次关闭最上层浮窗,Reader 未关闭前不会离开当前主题;iPhone 与 iPad 同时显示走同一返回链的可见入口。 - 楼层操作、Boost 快捷动作、图片评论、楼层时间和讨论树针对触屏重新收纳;头像点击直接进入预览,长按头像打开用户卡并避免同时触发宿主菜单或头像查看器。
用户信息与社区操作
- LINUX DO 当前账号资料新增独立社区分数,经过账号校验、中央请求调度与 30 分钟成功缓存;账号不一致或无有效分数时不会写入投影。
- 首帖回复权限改为服从 Topic 发帖能力,普通楼层继续服从楼层回复能力;移动端低频楼层动作按需展开,收纳前后继续复用同一个回复与回应 owner。
请求归因
- 请求记录新增 API 客户端、API 服务端、普通 429、Cloudflare、宿主端口、网络传输和 Reader 调度归因,并分别统计阅读器、原站与浏览器资源来源。
- 常驻被动观测补齐未经过 Reader 或 jQuery 账本的同源 fetch/XHR;
status=0明确记录为网络/传输失败,日志继续只保存脱敏路径与诊断字段。
发布状态
1.6.0已发布到 Greasy Fork:主 Loader 固定版本为1909686,加载 Core1909681、Platform1909683与 Features1909682。- 固定 Loader 原始文件为 4,202 字节,SHA-256
f5c0f1f32f9bcebbddd0462ae86343d9ec68aee9a4af173577cc1525a6ab8f32;移除平台加入的@downloadURL none后为 4,181 字节,SHA-2567617d340ea44f4d057cf6d9eb5b16b4927e0db25825b70468d61b04bdeece054,与仓库 Loader 逐字节一致。 - Core 为 1,727,952 字节,SHA-256
9058145c424d679256ef9f18a85bf68ade2984c68c9405cf190077e08fe96f9d;Platform 为 1,482,147 字节,SHA-2561552e729a5bbcf0053078f4d68599e7c87d2320e9025dc4d826be7a10f9db84f;Features 为 1,988,121 字节,SHA-256f32f36104263301af4c0ee53ac69e741fc3e2ec31dd90d2e3e1f3eedb02675a8。 - CSS 固定到 Git
e4a3dd3aeec8266e30a25601f01bfbe617e2bffc:688,102 字节,SHA-2564b44c21a3d2951e6c3819e500f7d6774a43ab07ecd1ba2cfe0377862e478b4f2;源码与分包 runtime 各通过 234 文件契约,305 个模块通过 parity 门禁。
1.5.11 — 时间轴流尾静稳结算
核验日期:2026-08-22。
流尾定位
- “拉到帖子底部”改为直接连续结算 Reader 的物理最大滚动位置,不再依赖最后一个正文卡片持续挂载;虚拟窗口把末楼正常卸载为 gap 时,不会在正文与占位之间来回跳动。
- 首次补齐 canonical 尾段后,即使回复树投影短暂返回未就绪,也会在同一次点击中继续完成见底结算;新导航或用户直接滚动仍会取消旧交易。
发布状态
1.5.11已发布到 Greasy Fork:主 Loader 固定版本为1908857,加载 Core1908854、Platform1908856与 Features1908855。- 固定 Loader 原始文件为 4,174 字节,SHA-256
6f99f0b42ec7c897c5b60b1e152b376a65667ecb948bbcd5ed01520b6ac1164f;移除平台加入的@downloadURL none后为 4,153 字节,SHA-256306d95ab39e0724c87175115255e19e5a70b5a42184d378f83482e8d7df42c59,与仓库 Loader 逐字节一致。 - Core 为 1,670,656 字节,SHA-256
50233764e589986904b8ff672a62d397a24bcdfc5fb2f4b5dd57e2286ec96b15;Platform 为 1,344,488 字节,SHA-256aff265e0cf41f44681da9a96145797e668159e28ae5519b687d2f730f97e6101;Features 为 2,096,052 字节,SHA-25699281d3a1c8e23fac471e20fc9b604cfe6f4e7e971d1ab32f4d619e2f848f98f。 - CSS 继续固定到 Git
1c40185f28a0c2493c498da2898178b16b648e82:622,157 字节,SHA-25699ffa9100f6dba1dea3a5fe8e4a273a07fa14eb5d791340914a14afccc4812f9;源码与分包 runtime 各通过 230 文件契约,301 个模块通过 parity 门禁。
1.5.10 — 请求流控制与性能策略
核验日期:2026-08-21。
性能设置与预热
- 性能设置移除省流、自动、快速预取和自定义四档,直接展示逐项参数;默认值沿用当前推荐基线,“恢复默认”一次回到该组参数。
- 打开、切换和用户直接滚动期间不再暂停其他宿主 Topic 预热;设置中可关闭宿主列表预热且默认开启,Reader 前台最多保留 1 个后台预热槽。
- 宿主列表预热增加每 Topic 1–128 层的连续正文总量设置,默认 24;预热只写 canonical 数据缓存和交接快照,不创建隐藏 Post DOM。
- 已有设置的用户升级到 1.5.10 后会收到一次恢复默认值提示,可选择保留当前设置;新用户保持静默,恢复只重置普通设置与阅读队列图标位置,不删除“不想再看”、队列条目、历史、离线下载、缓存或账号数据。
已读上报与业务请求
- 已读
/topics/timings队列增加同账号跨标签的滚动分钟上限,默认 10 RPM / 240 TPM;达到上限时保留 pending,继续服从共享窗口、429 与 Cloudflare 契约。 - 下载、用户观察、用户通知、收藏与回应统一登记业务请求策略;性能设置可分别调整最大并发、后台最小间隔和后台 RPM,固定 profile、车道、缓存与重试边界继续显性展示,请求记录同步携带业务身份。
- 后台让路、请求窗口占用、批量预取比例、预热和读取车道并发目标统一进入请求流控制设置,保存后热应用到尚未启动及后续请求。
时间轴末端定位
- 时间轴的相对时间入口改为直接“拉到帖子底部”:长帖尚未完整加载时,从 canonical 尾段按需向前补流,找到最后一个主信息流正文根,避免把楼中楼尾楼或当前缓存尾部误作主题末端。
- 末端目标就绪后直接写入 Reader 最大滚动位置,不播放跨越整帖的滚动动画;界面显示唯一的“已经见底了~”标记,并跟随迟到的虚拟窗口和正文高度继续完成静稳结算。
发布状态
1.5.10已发布到 Greasy Fork:主 Loader 固定版本为1908818,加载 Core1908817、Platform1908734与 Features1908733。- 固定 Loader 原始文件为 4,174 字节,SHA-256
d4ab28c782247f4dd7c13824be058f98619c5aae64d51f5af950a8cb396ae09f;移除平台加入的@downloadURL none后为 4,153 字节,SHA-2567b1627efd8c7a8a81a198071a8955ec4fa9fd4005fb008fce026a50b64694089,与仓库 Loader 逐字节一致。 - Core 为 1,667,785 字节,SHA-256
2127268f52209768a559eb5fec7b2f2003ae23ead306d2fb70d7e3edbf1228c3;Platform 为 1,344,488 字节,SHA-256b79da519159a1f47957950dc3489690e1f1ff5dfa93eba78d191ba7b797e3931;Features 为 2,096,052 字节,SHA-256a9d07de2ab4cdb756d951a7d273410722102d1fe2c114aaf41e1f9d8a5a23199。 - CSS 固定到 Git
1c40185f28a0c2493c498da2898178b16b648e82:622,157 字节,SHA-25699ffa9100f6dba1dea3a5fe8e4a273a07fa14eb5d791340914a14afccc4812f9;源码与分包 runtime 各通过 230 文件契约,301 个模块通过 parity 门禁。
1.5.9 — 阅读流水线、缓存交接与锚点结算
核验日期:2026-08-21。
阅读打开与预热
- 宿主列表已经完成的预热快照会一次性交给 Reader 打开事务,避免重复读取和反序列化同一主题;交接最多保留 3 个主题、8 MiB、60 秒,主题失效时同步丢弃对应交接。
- 打开、切换和用户直接滚动期间会暂停或中止宿主预热;前台最多保留 1 个后台预热槽,当前阅读请求始终优先。
缓存与状态
- 通用响应内存缓存限定为 72 条、16 MiB;定向失效只取消匹配 identity 的在途请求,不影响无关请求完成写入。
- 主题历史与“不想再看”等状态投影统一通过同一刷新事务恢复,避免存储更新后只刷新部分界面。
导航与诊断
- 数据和 DOM 安静后,锚点会继续结算到 2 px 内;安静窗口为 120 ms、最长等待 2 秒,新导航或用户滚动会取消旧目标。Reader 聚焦时的方向键、翻页键和首尾键统一交给唯一滚动 owner。
- 文档标题随当前主题更新,关闭 Reader 后恢复宿主标题;新增流水线 JSONL,以
traceId串联入口、请求、缓存、canonical、DOM、锚点和滚动阶段,并提供 p50/p95,不记录正文、请求头或凭据。
发布状态
1.5.9已发布到 Greasy Fork:主 Loader 固定版本为1908038,加载 Core1908030、Platform1908032与 Features1908031。- 固定 Loader 原始文件为 4,172 字节,SHA-256
572bf549b8f4e6f78e55f790f767e747f4ac5b7c889f06a3ed933cc5847b4bfa;移除平台加入的@downloadURL none后为 4,151 字节,SHA-256447b76c84b37710b0f96e716630bbaa7703f2d776fb24ff28b3ed83edf1e80ba,与仓库 Loader 逐字节一致。 - Core 为 1,648,152 字节,SHA-256
b9b6a04fad31f9a4a95897280cb4f71338e8f190a8c1cbd1888a87bbf8ea2067;Platform 为 1,324,604 字节,SHA-256feb52296c03beb63c10913f5ac42d0c10a94afa9acfef7b21d5f93891cdbfde8;Features 为 2,055,551 字节,SHA-256f2b624cc16bcb3bda9b9c9976dc4e9c8fea9eb0a0a6c5b95e50c919555ececa4。 - CSS 固定到 Git
f69dcab7529c58401416fa37f2226d28801423b4:621,735 字节,SHA-256637ea0390be63c8f8b39a5282dcf3a5d211d50b906ed1b193333ca0e0d588e0a;源码与分包 runtime 各通过 228 文件契约,297 个模块通过 parity 门禁。
1.5.8 — 共享字体库、浮窗滚动与通知定位
核验日期:2026-08-18。
共享字体库
- 字体设置新增 11 种精选 Google Fonts,仅在实际选中时联网加载;主题摘要的字体选择、预览、下载和上传分享图复用同一目录与加载状态。
- 支持导入 WOFF2、WOFF、TTF 和 OTF 字体文件:单个不超过 32 MB、最多 64 个、合计不超过 128 MB;文件独立保存在当前浏览器的 IndexedDB,不进入设置导出、普通缓存清理或 WebDAV。
- 本机字体、精选字体和导入字体继续按来源分组并显示实际字形预览;长列表扩大宽度并统一获得可滚动高度,不再因可用空间较小而只剩搜索框。
阅读工作区与列表过滤
- 只有全屏阅读器接管宿主页面滚动;浮窗与嵌入模式保留原站滚动条,锁定浮窗时背景滚轮也不再被无条件阻止,避免开关浮窗引发布局抖动。
- “不想看”自动过滤不再依赖 Reader 工作区处于打开状态;Reader 关闭后规则变化仍会重扫宿主列表,并持续隐藏新出现的匹配主题。
通知中心
- 未读数量改为可访问按钮;点击后回到“全部”、清除筛选、恢复最新优先排序,并滚动聚焦第一条真实未读通知。
- 原站以
reaction + heart表示的标准点赞统一归入“赞”,同一用户的活动继续继承真实通知 ID 与未读状态。
发布状态
1.5.8已发布到 Greasy Fork:主 Loader 固定版本为1905757,加载 Core1905755、Platform1905756与 Features1905742。- 固定 Loader 原始文件为 4,172 字节,SHA-256
88e374895507054b891e38f65e11f15675efa8ff7812c245530e377f60c85283;移除平台加入的@downloadURL none后为 4,151 字节,SHA-256bcfac33f6930e9503084b5a517568fbe63d06ad3eac43dfeccc2d768cd529e31,与仓库 Loader 逐字节一致。 - Core 为 1,588,128 字节,SHA-256
e915a5b265c8e9489ec5950de7759a3009ff4a39b357cedb504bb0697faea7a9;Platform 为 1,271,756 字节,SHA-256800e8d44f12ef436c0fdd41f09f652407ad43f6347c34ed6013cd4aff58e3cf2;Features 为 2,045,403 字节,SHA-256d45214197eabafce29f09ce2b1b3ae1248668b46fb1be1716758b598a41032ff。 - CSS 固定到 Git
ac10f7f3dfed908f2e3b184690eca734503e5fb9:619,781 字节,SHA-256442ff6a5ffbfd3f0f3cd17d61fccac07cf680d80dfae8abf1cee571dd5502eb4;源码与分包 runtime 各通过 225 文件契约,291 个模块通过 parity 门禁。
1.5.7 — 本机字体、存储诊断与历史补齐
核验日期:2026-08-18。
字体选择与内容呈现
- 首次打开字体下拉时直接请求本机字体授权;成功后原位刷新预设与本机字体分组,不再保留额外的获取入口。
- 字体菜单显示中文名、原名和实际字形预览,并支持统一搜索;主题摘要与设置面板共用相同字体目录和授权语义。
- 帖子正文重新服从正文作用域的字体、字号、字重与颜色变量,避免界面字体覆盖内容设置。
浏览器存储诊断
- 数据管理新增 Reader localStorage 占用、可追加余量、持久保存和存储访问状态;余量探针完成后立即清理,并为请求协调保留安全空间。
- Reader 键支持折叠查看、逐项选择和二次确认删除;久远数据清理只处理已经失效的协调状态与遗留探针,不触及原站、登录、WebDAV 或其他脚本数据。
- localStorage 不可用、配额不足或站点存储权限受限时显示一次可操作警告,并保持设置 surface 可进入排障。
历史投影与交互提示
- 收藏、回复、Boost 与回应的旧聚合投影不再冒充完整终点;逐流首页会重新核对,并续读到真实空终止页,保留 200 条以上回应的历史尾部。
- 通知类型、刷新、筛选、排序与浮窗置顶统一交给 Reader tooltip,避免浏览器原生提示与应用提示重叠;动态标签变化会即时刷新提示内容。
发布状态
1.5.7已发布到 Greasy Fork:主 Loader 固定版本为1905671,加载 Core1905668、Platform1905670与 Features1905669。- 固定 Loader 原始文件为 4,141 字节,SHA-256
015ebc99782d0931168ffdf4c3156c3e454c1adacb9f9b07b2e9ddf93e571d6e;移除平台加入的@downloadURL none后为 4,120 字节,SHA-256ac327dd89f9414fb5ebb86792947c10d5c0bd1c6ac122d08e6834afd6460de91,与仓库 Loader 逐字节一致。 - Core 为 1,586,385 字节,SHA-256
9088ae605be56fb1290cc5078387f6c0bb28f59bf9cff1db0ecc0e269bc87454;Platform 为 1,270,087 字节,SHA-256ed946f30a5c9ad22f9848344d87456597d9c05557570d48f85cbde668075c625;Features 为 2,011,170 字节,SHA-256db9097d4cbbacaee2802c297938b669d03cdda2f4d9fd34aa0dc69c828c05e09。 - CSS 固定到 Git
4efa0f4b3521432b021d739cb7ae07fadb51ac54:619,328 字节,SHA-25684a60f90455c91470883300f0505e0c9c744b5e6ae2c02626989ef85e00ed4e1;源码与分包 runtime 各通过 224 文件契约,289 个模块通过 parity 门禁。
1.5.6 — 通知补集与历史投影修复
核验日期:2026-08-17。
通知分类
- 消息中心新增“其他”分类,承接现有具体通知分类与私信模式未覆盖的原生通知,并严格排除已经被其他入口承载的记录。
- 未知原生通知会显示 Discourse 解析出的实际类型与对应语义图标;“全部”按具体分类去重汇总,优先保留信息更完整的记录。
- 分类标签仅在浮窗宽度无法容纳完整标签与数量时换行,不再固定挤压或截断新分类。
历史投影与续传
- 稀疏的“其他”历史把展示总数与原生来源总数分离,保留真实来源页码和检查点,避免少量命中被误判为已经到底。
- 刷新先更新首个来源页,再从已有深层检查点继续补齐,不重复扫描已经提交的分页,也不会因打开面板放大请求。
- 投影缓存升级到新记录结构;旧缓存会自动修复缺失的类型标签与来源水位,同时保留已有消息记录。
发布状态
1.5.6已发布到 Greasy Fork:主 Loader 固定版本为1905255,加载 Core1905251、Platform1905253与 Features1905252。- 固定 Loader 原始文件为 4,141 字节,SHA-256
4f3d6a36555366d861102770d1afa86e2734101e7f4a99ad86287d4c9491c91b;移除平台加入的@downloadURL none后为 4,120 字节,SHA-256bf5b30b9e9f32357e6b7b209ccce6ea58337933fa73145e1960c60b590c4c57f,与仓库 Loader 逐字节一致。 - Core 为 1,579,089 字节,SHA-256
972a573d72ce74adfec25533b6246a2cb2606ef287c68a23949a9bf7138859c3;Platform 为 1,270,005 字节,SHA-2566ee6f3753b1526b0123902cc3f0f90d42b650eac2acab0e312814e50d881a643;Features 为 1,974,596 字节,SHA-2561afc5183bdd7299bd96b8c9ded9c63e1af492208355671753327c51af9726e56。 - CSS 固定到 Git
4556cdb2353b721ac38bc2a6a27f17d171b025ee:613,145 字节,SHA-256c5bee6e150df42c17f121c4e049822b2babca3caf0138b9cf5d43595d7958c14;源码与分包 runtime 各通过 223 文件契约,287 个模块通过 parity 门禁。
1.5.5 — 请求恢复与原生回复加固
核验日期:2026-08-17。
请求与恢复
- Cloudflare 验证窗口导航完成后会清除探针退避并立即复核;若导航撞上在途失败探针,修订状态会阻止失败结算覆盖即时复核。
- 验证成功通过共享通道和存储事件即时通知所有 Reader 标签页,过盾窗口、暂停提示和请求许可随即恢复,不再只依赖定时轮询。
- 普通
429继续留在共享限流流程,收到状态变化后立即刷新提示;不会显示过盾入口,也不会触发 Cloudflare 恢复窗口。
原生回复与讨论结构
- Reader 只在有效回复或编辑会话中接管宿主 Composer;宿主自行打开的编辑器不会被提前隐藏、定位或套用 Reader 窗口样式。
- Composer 顶层提升不可用时使用显式回退层级,关闭后同步清理;回复窗口重新绑定宿主节点时仍保留当前会话所有权。
- 回复树只在根楼、父子关系、深度或条目集合实际变化时递增结构修订,普通内容刷新不再触发无效拓扑失效。
发布状态
1.5.5已发布到 Greasy Fork:主 Loader 固定版本为1905077,加载 Core1905073、Platform1905075与 Features1905074。- 固定 Loader 原始文件为 4,141 字节,SHA-256
0c1b2ee8c8962326ddac703677cab7672f1d48254948e530ae763a91ea3f6e54;移除平台加入的@downloadURL none后为 4,120 字节,SHA-25608cad5236f0780e7010bde7fbf01e373d6595485323c9777c1cf02586a370ab3,与仓库 Loader 逐字节一致。 - Core 为 1,578,578 字节,SHA-256
c800a4ecf7ddbfdf8fa797fe2af91f27e01a0389aff51661af07f348376028b5;Platform 为 1,259,412 字节,SHA-25622d0870e9882f542b8b4655c64b2e53970d45824359b3ea853ed88960b78a2ba;Features 为 1,974,596 字节,SHA-256163b9eada11b3ac7b305e11fd5e6fb15cd627fcfaa9248b14fb0e6ca2c361337。 - CSS 固定到 Git
a5bd471c10bf1d40b85e50148c90087489cae584:612,476 字节,SHA-256e3801f8a0c868d101cd0a9d798146b1fc394c82e5535ed9a89b8cf9501f1ed2b;源码与分包 runtime 各通过 223 文件契约,287 个模块通过 parity 门禁。
1.5.4 — 恢复默认保留免打扰设置
核验日期:2026-08-17。
设置与数据边界
- 数据管理中的“恢复全部默认”和大版本设置更新提示改为保留“不想再看”的手动收纳记录,以及自动过滤总开关、主题类别、Label、OP 用户、字符规则和楼层用户。
- 普通显示、阅读、交互与性能偏好仍恢复推荐默认;其他适用站点、翻译和 WebDAV 配置继续按确认弹层重置,本机翻译 API Key、WebDAV 用户名与密码仍会清除。
- 阅读队列条目、浏览历史、岁月史书、离线下载、业务缓存和原站账号数据继续由各自持久 owner 管理,不会被设置重置连带删除。
- 确认弹层、完成反馈、一次性升级提示与用户手册统一说明保留和重置边界;“不想再看”面板自身的恢复按钮仍只负责该面板自动过滤草稿。
发布状态
1.5.4已发布到 Greasy Fork:主 Loader 固定版本为1905015,加载 Core1905010、Platform1905012与 Features1905011。- 固定 Loader 原始文件为 4,141 字节,SHA-256
6624fe32bd06a79ef8ec1f58fc93910ade3fc844c6891496e3dafec43b5e9474;移除平台加入的@downloadURL none后为 4,120 字节,SHA-25666c9b81ed37c4d8f4135ec7522c89e813b82cb15b708ed3327706de98422422e,与仓库 Loader 逐字节一致。 - Core 为 1,577,128 字节,SHA-256
3fa3487b444baf95ab951e2a98296d0822a1fd49f4ab4b932ab28473c86429db;Platform 为 1,257,549 字节,SHA-256fe3451175591ba4e283a347064538c6bba95e0b8bceb9d513c259cb3be25706a;Features 为 1,974,596 字节,SHA-256f7ec6a944e15e1f065ff26c1f7f36420514eaf5dc5b5455d18af5265a29f2d29。 - CSS 没有变化,继续固定到 Git
25fb1508884e8e524e381c1a7942e9729f41d52d:611,633 字节,SHA-2561bce472ab2eecf03f62579975724661d11c8e1839b13cb837c92ae2edbe2f40d;源码与分包 runtime 各通过 223 文件契约,287 个模块通过 parity 门禁。
1.5.3 — 集合增量更新与失效恢复
核验日期:2026-08-17。
消息、收藏与观察
- 通知、收藏、回复、Boost 与回应先恢复账号隔离的完整分页投影;每次打开面板立即从头页回查,遇到首个已知 identity 后停止,避免重复扫描完整历史。
- 通知与收藏面板新增统一主动更新入口、旋转忙态和完成反馈;主要通知完成后,较慢的回应更新继续留在唯一后台任务,不阻塞已恢复内容。
- 宿主发帖与通知事件合并同一 tick 的头页校验,可见面板使用前台优先级,后台补齐仍受中央调度、批次车道和并发上限约束。
- 用户观察遇到连续无进展会暂停并展示失败来源与断点重试;旧逐页缓存分批迁移为断点索引,恢复时从原 page/offset 续传,不把短页缓存冒充真实终点。
失效记录与交互恢复
- 岁月史书扩展到 Topic 软删除及 403、404、410;只有本机仍有可定位内容时才记录,先于正文到达的信号会在当前请求观察窗口内等待并重放。
- 删除事件保留 canonical 正文,只更新失效状态;相同目标按请求定位去重并累计观察次数,普通网络失败、Cloudflare 验证和无内容信号不会入史。
- 共享多标签浮窗统一由最前层 Esc owner 收纳,宿主提前截断键盘传播时仍可关闭未置顶会话;通知与收藏刷新反馈复用同一动效规则。
- 1.5.3 再次递增已有用户的设置恢复提示锚点;升级后会收到一次“建议恢复默认值”,新用户静默,选择保留不会修改设置。
发布状态
1.5.3已发布到 Greasy Fork:主 Loader 固定版本为1904932,加载 Core1904928、Platform1904930与 Features1904929。- 固定 Loader 原始文件为 4,141 字节,SHA-256
bb6374f118161cc03d95e034604dc12f6c6632d60d1356ff95407eaa48145125;移除平台加入的@downloadURL none后为 4,120 字节,SHA-256286aa954fd84f05dc655595829a06d8e89840ef7ebb28ed449e5c52b3a0fb2e6,与仓库 Loader 逐字节一致。 - Core 为 1,576,024 字节,SHA-256
9f44b8cb4350ba6329fb9a2695f7763c981543de39cf48ffb003f96dcc4133d6;Platform 为 1,257,429 字节,SHA-256ddcbd496344a0fb0f56eabf8cee488bc7b5809013b4384dd45fb76bcf52eaebf;Features 为 1,974,461 字节,SHA-256aa66562e721213e6c13432848be564b2c7fbefd77a2eb7d3dc849f237ef980bf。 - CSS 固定到 Git
25fb1508884e8e524e381c1a7942e9729f41d52d:611,633 字节,SHA-2561bce472ab2eecf03f62579975724661d11c8e1839b13cb837c92ae2edbe2f40d;源码与分包 runtime 各通过 223 文件契约,287 个模块通过 parity 门禁。
1.5.2 — 跨标签页信息流与交互加固
核验日期:2026-08-16。
跨标签页一致性
- 新增统一信息流协调器,把设置、历史、岁月史书、不想看、阅读队列、用户观察、通知、收藏、下载、站点、翻译和 WebDAV 等存活期数据接入按领域刷新的跨标签页链路。
- 浏览器存储、中央缓存广播与 userscript value-change 统一合并同一 tick 和在飞期间的重复事件;只重读对应持久 owner,不触发整页刷新、额外网络请求或无关领域更新。
- userscript 环境补齐现代与兼容形态的 GM value-change 监听,并在页面生命周期结束时释放 storage、cache 和 GM 订阅,关闭页面不再响应晚到事件。
- 请求许可、缓存单飞租约、一次性重载事务和资源缓存继续保留各自协议 owner,不被业务信息广播误投影。
阅读与交互修复
- 阅读队列、通知、收藏、Topic 下载、用户观察、Connect 信任记录与 Credit 账户投影可接收其他标签的持久变更,并保持筛选、分页和账号范围不串域。
- 宿主列表中的自动不想看命中只动态隐藏主题,不再写成手动免打扰记录;手动记录仍可筛选、追溯和批量恢复。
- 离线 Topic 补齐 inline onebox、来源图标、缩略图和链接点击数投影;主题预热、离线归档与跨标签缓存失效继续遵守当前请求和账户边界。
- 灯箱说明区域改为内容驱动的高度与滚动上限,主题摘要和共享多标签浮窗复用稳定几何;原站编辑器、宿主主题卡片和队列操作边界同步修复。
发布状态
1.5.2已发布到 Greasy Fork:主 Loader 固定版本为1904498,加载 Core1904487、Platform1904489与 Features1904488。- 固定 Loader 原始文件为 4,141 字节,SHA-256
8e2f3aa1b2dabeaf2ca276ddc639f864cfa78b8a50179bd38c824dadb2f15d2e;移除平台加入的@downloadURL none后为 4,120 字节,SHA-2565265fd8e3496c432938053bdd3e19b01e64b316aff401ebfa80d50a68af4c216,与仓库 Loader 逐字节一致。 - Core 为 1,572,987 字节,SHA-256
d06e345a438a2255c27251f61c9d29810034841ca9b52a565463ac35d461f938;Platform 为 1,244,026 字节,SHA-25600e240f9860bae3179c863809a76dc847260bab683189126d2f499d2ab793ea1;Features 为 1,965,693 字节,SHA-256818da987ac607ab5253394779b56128ce58a1f22cea8c35b8978d87fc6356204。 - CSS 固定到 Git
7c25413b2eb2b2e9a30d33c5a346f858751eb1cc:610,968 字节,SHA-2564c6ae29067770d2553befee1c7ac7ddb61d347abdfb6fa8bf23b6c50f52f10b1;源码与分包 runtime 各通过 223 文件契约,287 个模块通过 parity 门禁。
1.5.1 — WebDAV 联动与主题卡片修复
核验日期:2026-08-16。
修复与联动
- WebDAV 设置偏好改为按同一远端快照联合校验联动字段,合法的独立浮窗图片比例不再被本机“共享三种形态”状态误判为身份不一致;字符串冒充数字、未知字段和损坏组合仍会在写入前拒绝。
- WebDAV 十二类开关明确为每台设备独立授权,不会被其他设备从远端反向开启;需要交换同一类别的设备必须分别开启、保存并同步,设置导出仍可复制不含凭据的类别选择。
- 嵌入列表中的免打扰入口退出 Reader 与宿主悬停提示链,只保留可访问名称,避免出现重复白色提示卡片;离开嵌入态后完整恢复宿主原属性。
- 宿主主题卡片固定占满列表可用宽度,并为右侧统计与头像列保留稳定比例,避免不同主题行随内容长度出现横向收缩或错位。
工程与文档
- 开发、发布与旧版维护规则补齐并行任务的 owner 边界,并把单文件与四文件 runtime 契约、源码模块哈希、manifest 和兼容副本统一纳入 parity 门禁。
- README、Greasy Fork 产品介绍、用户手册与 110 项功能目录同步到
1.5.1;沿用 1.5.0 截图时保留原始文件名,不伪造未重新截取的版本标记。
发布状态
1.5.1已发布到 Greasy Fork:主 Loader 固定版本为1904337,加载 Core1904332、Platform1904334与 Features1904333。- 固定 Loader 原始文件为 4,052 字节,SHA-256
d0e7779a622dcf35274534fea5d52407e570ead3f11a98aa0e95631f72e4e2ec;移除平台加入的@downloadURL none后为 4,031 字节,SHA-256ada5e1d68dd694bfd07469aab407307ba1c4ee4f59322146c80ff04448f5f0f6,与仓库 Loader 逐字节一致。 - Core 为 1,552,280 字节,SHA-256
94de6f182860d14bc7f0ec99ec85b18a5439ee8bd22813a73479f812d2d7ca21;Platform 为 1,236,505 字节,SHA-256c711741eda054d237d02184bdad29c5c87c34c798627c99dc7021f29448ec329;Features 为 1,954,095 字节,SHA-256940111bfafb2164d02d683ff93cefef60bd58c0c5550ecadac38e221f6477a5c。 - CSS 固定到 Git
c815193e4b094b1109998dabbf4fcb5c0bb8fd0d:610,772 字节,SHA-256d26719a138478e12108b93c9df82918ac860c5cbe8387e7a4ad804a7cde97f1e。
1.5.0 — 共享工具工作区与四文件构建
核验日期:2026-08-16。
重要特性
- 再次递增已有用户的设置恢复提醒锚点;已经消费 1.3.1 提示锁的用户升级后仍会收到一次新版默认值建议,新用户保持静默,选择保留不会改动任何数据。
- 通知与私信、浏览历史、收藏与回应、Topic 下载、用户观察、岁月史书和不想看统一进入共享多标签浮窗;窗口位置、尺寸、冻结、标签数量和跨标签页状态沿用同一套框架。
- 收藏与通知改用可续传的分页集合仓储,筛选只改变当前视图,不改变标签总数;后台补页、缓存恢复、实时消息和跨标签页刷新继续保持一致状态。
- 用户观察按公开活动渐进整理主题、帖子、回应、解决方案与投票;观察自己时额外合并当前账号的私信和收藏投影,并明确区分账号私有信息与公开活动。
- 岁月史书保留服务器已 404、但本机仍有正文快照的 Topic;不想看支持类别、标签、楼主、楼层用户和字符规则,自动命中只动态隐藏,手动免打扰记录可筛选和批量恢复。
- 暗色主题可按当地日落或固定时间自动启用,并在日出恢复此前模式;位置、时区或太阳时刻不可用时保持用户当前主题,不猜测切换。
- 请求调度、缓存身份、长帖虚拟化、已读状态、阅读队列、离线 Topic 和 WebDAV 合并链同步加固,继续遵守 429、Cloudflare 与敏感配置边界。
- 设置组合格式收紧为 v9:仅 v6/v7/v8 使用对应旧结构迁移,损坏的 v9 不再静默补字段;翻译配置持久化失败不会先污染运行态快照,三类秘密仍保持零导出。
- v5–v9 配置元数据改为精确类型校验,字符串版本号或计数、错误时间类型和未知顶层字段不再通过隐式数字转换进入导入事务。
- WebDAV 遇到主文件、账号 scope、类别或记录无墓碑消失时改为保留本机并安全重建;未知未来类别会透传,已勾选但缺少运行时端口的类别会阻止整轮假成功。
- WebDAV 补齐 1.3.0 后有意义字段的合并与类型门:历史分类/标签/精确锚点、模型目录、加密信封和离线归档状态都参与校验;旧离线清单缺少归档状态时仍可安全升级。
- 快捷方式导入与录制共用扩展后的浏览器保留键和真实键码门禁,数字小键盘遵循无修饰键规则,右键不被录制;消息/历史/收藏动作可恢复指定共享标签。
- 清理历史、通知和收藏/回应缓存前会封锁对应 WebDAV 同步,防止旧数据在清理事务中回灌;清理用户资料时同步清空观察历史、断点和内存投影,但保留观察名单。
- 六类缓存的批量清理新增危险操作二次确认,确认框逐项列出实际类别;离线 Topic 与未知永久记录不归入通用响应,也不进入受管总数。
工程与文档
- Greasy Fork 预备构建由三文件升级为薄 Loader + Core + Platform + Features 四个可执行文件;CSS 仍是固定 Git 提交与 SHA-256 的
@resource,不是第五个执行文件。 - 本地调试入口同时生成单文件版和四文件版,并核对元数据、CSS、全部源码模块哈希、manifest、运行契约和
main-lite/mian-lite兼容副本;结构不同,但用户功能载荷必须一致。 - 用户手册、README、110 项功能目录及开发/同步 Skill 全部对齐
1.5.0事实源。
发布状态
1.5.0已发布到 Greasy Fork:主 Loader 固定版本为1904252,加载 Core1904245、Platform1904248与 Features1904246。- 固定 Loader 原始文件为 4,052 字节,SHA-256
60a80af4e514c5131b572a1e8afb44dcf80cce7a82fe967ceb2293d96ef383e3;移除平台加入的@downloadURL none后为 4,031 字节,SHA-256f396fbf42eca4cd0f761557cb330577034225e3967bee33f6877467f40821d5f,与仓库 Loader 逐字节一致。 - Core 为 1,552,321 字节,SHA-256
a645aa16ac2592f591e2fcb0aceb9057b9e43adb9f8f21bb00e5a401eb8d804a;Platform 为 1,236,060 字节,SHA-256b8755569a5591fc106e2faac433e136bbbbfd3d548dc4b9369a953747f60a178;Features 为 1,953,979 字节,SHA-2569316bcefe26cb24f78e6fb87dadc523e71f37c4642324c4ba9475d10a6993053。 - CSS 固定到 Git
2a1f6695162217d4a86cf0e3958d8a361594f90b:610,039 字节,SHA-256db6d4a47f0fb07f002907a6c9788f730f233b902d548238da0023a46182a026a。
1.3.1 — 设置体验与 Boost 表情修复
核验日期:2026-08-11。
体验修正
- 为已有设置的用户递增一次设置提醒 campaign,确保升级前打开过测试版或先前构建、已经写入旧提示锁的用户仍能收到一次“建议恢复默认值”提醒。
- 新用户首次安装继续静默写入当前提示锁,不显示无意义的恢复确认;已有用户选择“保留当前设置”时也不会改动任何值。
- 确认恢复仍只写入当前偏好默认值,不删除浏览历史、离线 Topic 下载、帖子缓存或账号数据;同一 campaign 展示前即锁定,后续启动不会重复打扰。
- 修复 Boost 输入框调用宿主 Emoji Picker 后面板被 Reader 层遮挡的问题;宿主菜单现在沿用原生回复浮窗的浏览器顶层规则,并在 Boost 关闭时完整归还。
- 对齐当前 Discourse 菜单服务的稳定分组标识,避免同一 Boost 表情面板出现重复或关闭失配。
发布状态
1.3.1已发布到 Greasy Fork:主 Loader 固定版本为1899428,加载 Core1899419与 Features1899422。- 固定 Loader 原始文件为 3,815 字节,SHA-256
f318841bd36569a6eb2154ce8ddb0ba707146f66b2e761938156e83cd3ee0f6d;移除平台加入的@downloadURL none后为 3,794 字节,SHA-2569c20d6b707321cf1e928b7fff24e6e379501a08d27a0ac63cfa082315edabdf6,与仓库 Loader 逐字节一致。 - Core 为 1,682,561 字节,SHA-256
4a5a9a0f67214f7b696f107ee3dfd0d628fa9328c0d8470ee41eb6bbc7396154;Features 为 1,841,067 字节,SHA-256e1919d8b5ec69c62cb9f875621ca0e69d6274f3f8600ac2b0f62e1aed69364e9。 - CSS 没有变化,继续固定到 Git
5ca40cf3025951dbcb94edde29ebb59083c2bb4f:472,279 字节,SHA-256f438522f298ca3a15363685bd8ef5e33e1a5b17c57e801784018a0fbf418a3b4。 - 本次改动的 ESLint、211 个源码与分包契约文件、40 个手册页面及 105 项功能索引检查均已通过。
1.3.0 — 离线 Topic 与安全配置
核验日期:2026-08-11。
新增特性
- 新增 Topic 下载窗口,可按全部楼层、只看楼主或自定义楼层在后台补齐正文;完成后可离线查看、保存独立 HTML,并搜索或批量管理下载历史。
- 离线 HTML 保留楼层跳转、只看楼主、回复分支、引用、回应、富内容与下载时的阅读外观;Topic 已删除、隐藏或不可访问但仍有本地正文时,会降级导出并标明完整性。
- WebDAV 增加默认关闭的“离线 Topic 下载”类别,以轻量清单和独立明文 HTML 对象同步,不占用 2 MiB 主同步文件;对象 SHA-256、ETag 冲突和本机副本保护进入同一合并链。
- 设置导出、导入与恢复默认升级为组合配置事务,覆盖偏好、适用站点、翻译和 WebDAV 非敏感规则;翻译 API Key、WebDAV 用户名与密码始终排除,失败时逆序回滚。
- 已有设置的用户首次进入 v1.3.0 时会收到一次性默认值更新提醒,可选择保留当前设置或仅重置设置。
兼容与交互
- 标准 HTTPS Discourse 站点改用本地运行态与 DOM 证据自动识别;深度定制站点仍可验证添加为兜底,非 Discourse 页面保持静默。
- 阅读队列补齐头像气泡、触控与清空状态投影;图片灯箱导航对齐评论分隔边界;引用跳转同时滚动并高亮目标,包括跨 Topic 与首帖来源。
- 缺失回复祖先时保留最高可用讨论链;帖子具体时间、评论计数、缓存恢复、429 等待和跨标签页请求协调继续收敛到可恢复状态。
- 主题通知级别改由 Discourse 原生动作提交并回读,避免自定义请求与宿主状态分叉。
文档与发布状态
- 用户手册更新到 1.3.0,新增离线 Topic 专页,并从真实 LINUX DO 页面重新采集阅读器、设置、数据管理、更新提醒、下载窗口和 WebDAV 类别等关键截图。
1.3.0已发布到 Greasy Fork:主 Loader 固定版本为1899377,加载 Core1899370与 Features1899372。- 固定 Loader 原始文件为 3,815 字节,SHA-256
cb977d5f6f392d8e99bc5640055bf16be94408fe065900d7ad865dceb777f2f6;移除平台加入的@downloadURL none后为 3,794 字节,SHA-2563e4c975eb214efed857992963c59d730ab67c32ea8779d639f278c6ba326bc7b,与仓库 Loader 逐字节一致。 - Core 为 1,682,450 字节,SHA-256
c3ee925dd30dcf7f831fe0e9d393556db9f1fb1429d7e62ba193f9a56dde7b91;Features 为 1,839,648 字节,SHA-256fa426f71facd50d81e60aa2cb5c7c3ff0a3e11c627d8f372f758b118edbf1345;CSS 固定到 Git5ca40cf3025951dbcb94edde29ebb59083c2bb4f,472,279 字节,SHA-256f438522f298ca3a15363685bd8ef5e33e1a5b17c57e801784018a0fbf418a3b4。 - 同一快照的 211 个分包契约文件、40 个手册页面与 105 项功能索引检查均已通过;发布阶段复用了已完成的浏览器与性能门禁。
1.2.5 — 帖子具体时间展示
核验日期:2026-08-09。
交互改进
- 帖子的相对时间悬停信息复用 Discourse 原生
longDateformatter,不再另写一套具体日期格式。 - 窄阅读器把具体时间显示为定位在时间下方的紧凑浮层,避免超出阅读器边界或遮挡同一行信息。
- 嵌套回复预览中的具体时间改为就地排布,避免预览卡片内的浮层脱离回复头部。
发布状态
1.2.5已发布到 Greasy Fork:主 Loader 固定版本为1897778,加载 Core1897774与 Features1897776。- 固定 Loader 原始文件为 3,815 字节,SHA-256
ef3667b61ec08f4d2effa6785b100d57f8252b86631a5afc742f8bf64bec0d26;移除平台加入的@downloadURL none后为 3,794 字节,SHA-25645782a588ef6e79eef771014450f38ba8858b5c88c2cb349e3d2fd20532ff985,与仓库 Loader 逐字节一致。 - Core 为 1,595,702 字节,SHA-256
39dcc7a44c441ff8644984e908ff93aa41a3fdd757072c2e7f85ce0ad838d5c1;Features 为 1,631,330 字节,SHA-256f61355857736fe1bc73b4d3d7e84cf5055bc2d390834d4452109dfa94cb971ce;CSS 固定到 Git3caf8237d91b97a2d90747db748cf9524dcbfda2,449,576 字节,SHA-2564602b5396a2e1fcf788d05a7a6a3e24b63940259225e73898858cacf6f6fd125。 - 源码与分包产物各 204 个 Lite 契约文件、相关 ESLint、39 页与 104 项功能索引的手册检查均已通过;发布阶段复用了同一快照的分包门禁。
1.2.4固定三文件继续作为公开回滚基线。
1.2.4 — 表情回应总数校准
核验日期:2026-08-09。
交互修复
- 宿主主题列表的回应统计改为汇总楼主全部表情回应的
count,不再只显示单一回应或旧聚合字段。 - 主帖收纳箱的主回应按钮使用同一汇总规则,继续标记当前用户选择的非主表情回应。
- 数据缺少回应明细数组时仍兼容
reaction_users_count,避免旧版或不同站点模型显示为空。
发布状态
1.2.4已发布到 Greasy Fork:主 Loader 固定版本为1897749,加载 Core1897745与 Features1897747。- 固定 Loader 原始文件为 3,815 字节,SHA-256
93020ca836aae6a78a41da5b553787f2cefeba428b3ac44ecf684f102e4da276;移除平台加入的@downloadURL none后为 3,794 字节,SHA-2564a87835f00b42a9430207e8b37ee50626140f0ab87dd0870829e8f2976e82be5,与仓库 Loader 逐字节一致。 - Core 为 1,594,563 字节,SHA-256
29c44aaed64b1591114f29cc849f0f5e879c77b88a7192ddb93851389474b77a;Features 为 1,631,330 字节,SHA-256bef258db76a0457fd0f420a0545b37891334ab2b2631d49867321792d18eaeb7;CSS 固定到 Gitcf398703,448,993 字节,SHA-2560348e18154ce56f4edd34d160dea6a375f37d8fc6d0ce19ce80b1941117d69f7。 - 实际 Core/Features 分包产物的 204 个 Lite 契约文件、手册检查、确定性构建和三文件一致性检查均已通过;发布阶段没有重复执行浏览器矩阵或性能门禁。
1.2.3固定三文件继续作为公开回滚基线。
1.2.3 — 三文件构建语义一致性修复
核验日期:2026-08-09。
构建修复
- Greasy Fork Core、Features 构建不再把代码排版缩进写入模板字符串的真实换行,恢复 Boost
@提及、Markdown 引用和 Composer 草稿等多行文本与源码版一致的语义。 - 新增三文件产物契约门,直接从实际生成的 Core、Features 模块 runtime 运行全部 Lite 契约测试;源码单文件测试、构建成功、bytes 或 SHA-256 一致均不能替代该门。
- 本地调试、三文件检查、构建和正式生成命令统一接入分包契约门;开发与发布 Skill 同步规定
--consistency-only不能跳过它。
发布状态
1.2.3已发布到 Greasy Fork:主 Loader 固定版本为1897714,加载 Core1897707与 Features1897709。- 固定 Loader 原始文件为 3,815 字节,SHA-256
cd9eb04a81e40e6b108251db362b3883f75a43a38e23752b4b72c45280797c4f;移除平台加入的@downloadURL none后为 3,794 字节,SHA-2569ff81d027133c407cd3a7d9df2e34d530dec563ccc439c835685aa6d0edb3ae6,与仓库 Loader 逐字节一致。 - Core 为 1,594,066 字节,SHA-256
7494f406be1cf585ed5d0e9c8e92b1bc5fee38a6805720502329868c6b5a6a27;Features 为 1,631,159 字节,SHA-25612be5667f51327bb8776955aa058cbe56cbd9afa70dc702829463cca089171d5;CSS 固定到 Gitcf398703,448,993 字节,SHA-2560348e18154ce56f4edd34d160dea6a375f37d8fc6d0ce19ce80b1941117d69f7。 - 源码与分包产物各 204 个 Lite 测试文件、相关 ESLint、手册检查、确定性构建和三文件一致性检查均已通过;发布阶段没有重复执行浏览器矩阵或性能门禁。
1.2.1固定三文件继续作为公开回滚基线。
1.2.1 — Composer 与分支交互修复
核验日期:2026-08-09。
交互修复
- Boost 的
@引用同时适配 Discourse Markdown 与富文本 Composer,保留多行内容和引用结构;草稿已经提及目标用户时只聚焦编辑器,不再重复插入。 - 阅读器开启时,宿主主题列表的参与者头像悬停统一打开阅读器用户卡,避免宿主卡片与阅读器资料交互竞争。
- 主帖关系线上的分支收纳开关改用首个直属回复的实时几何位置,正文、引用、编辑或虚拟占位改变高度后仍保持对齐;该开关只负责收纳,不作为重复回复入口。
- 校准已解决答案卡片与 Boost 列表的间距,并把翻译加载态纳入 CSS 使用审计,避免状态类误报为未使用样式。
- 本地调试 Loader、单文件版和三文件版改用内容指纹 URL;审计会反向核对指纹与文件内容,减少浏览器继续复用旧调试产物。
发布状态
1.2.1已发布到 Greasy Fork:主 Loader 固定版本为1897662,加载 Core1897653与 Features1897656。- 固定 Loader 原始文件为 3,815 字节,SHA-256
773fc7508f2259b9a77c83e547a7aaf04062b07682b09d69db5ae72a4dd1fd4a;移除平台加入的@downloadURL none后为 3,794 字节,SHA-25666c89d08a9236deadc4673f0003ed1bcc2cc3ed25a81344220d6748532bc2c3b,与仓库 Loader 逐字节一致。 - Core 为 1,594,080 字节,SHA-256
0c8146588acf63453b18002b539c8f35b369e15975b62db54699ac939d676b84;Features 为 1,631,347 字节,SHA-256a898198bd59dfc879db78291e248be741609c965c7679ad16d5567cdc304a4bc;CSS 固定到 Gitcf398703,448,993 字节,SHA-2560348e18154ce56f4edd34d160dea6a375f37d8fc6d0ce19ce80b1941117d69f7。 - 204 个 Lite 测试文件、相关 ESLint、CSS 审计、确定性构建和 Greasy Fork 一致性检查均已通过;发布阶段没有重复执行浏览器矩阵或性能门禁。
1.2.0固定三文件继续作为公开回滚基线。
1.2.0 — 自定义 AI 翻译与同步链路加固
核验日期:2026-08-09。
新增特性
- 设置中心新增“翻译设置”,可维护多个 OpenAI 兼容 API URL;每个 URL 独立配置 Key、从
/models获取的模型、温度、思考等级、RPM / TPM、译文动画和 Prompt。Key 留空时继续使用 Google / Microsoft 公共翻译。 - 翻译请求由专属任务管理器统一按可见正文与预加载优先级调度,按服务和模型执行请求/令牌预算,并复用有界 Section 缓存;关闭阅读器时会取消未完成任务。
- WebDAV 同步由七类扩展到九类,新增“AI 翻译服务集合”和“已翻译 Section 缓存”独立开关;API Key 使用 WebDAV 应用密码派生的密钥加密,译文缓存不携带原文。
- 设置中心由 16 个面板增加到 17 个,手册同步补充翻译服务、隐私、兼容性、数据管理和 WebDAV 边界。
可靠性改进
- 通知更新、主题快照、响应缓存与共享请求窗口统一收敛到权威状态,减少重复刷新、跨账号缓存串用和失败任务占用后续额度。
- 长帖虚拟流补充浮窗锚定策略与回复树视口布局,减少加载、深楼层恢复和内容高度变化时的位置漂移。
- 宿主原生用户入口、帖子动作与阅读器运行时的事件边界进一步隔离,避免宿主临时界面覆盖阅读器操作。
发布状态
1.2.0已发布到 Greasy Fork:主 Loader 固定版本为1897520,加载 Core1897517与 Features1897519。- 固定 Loader 原始文件为 3,815 字节,SHA-256
05981b1e23e5b32dbc2a16791b6cd9c58d9830cb38d883a8170ac4f61342f62e;移除平台元数据后为 3,794 字节,SHA-256d2a178cde32774c29e1396233de9ff5a2992165a490e85d3d83d8b99aeb7f0b9,与仓库 Loader 逐字节一致。 - Core 为 1,581,732 字节,SHA-256
9f896292334b39dd46520e778389d333814c3252b6bca46b8e83a2377a992c88;Features 为 1,629,379 字节,SHA-2566295f0eeff188e2d5c2385a01b8f259dfb449441c83fc839df96a668d193736a;CSS 固定到 Git108c3a1,448,723 字节,SHA-25612555b39cf01a9e3471e2ef1a0c44603ebc5d11805e37a9d227f2f093700ce6f。 - 本次同步复用开发阶段已确认的功能边界,不把历史
1.1.0浏览器矩阵冒充为 1.2.0 新验收;1.1.1固定三文件继续作为公开回滚基线。
1.1.1 — 嵌入交互与收纳箱恢复
核验日期:2026-08-08。
修复
- 嵌入态点击阅读器控件时,先通过 Discourse 原生菜单服务或触发器收起宿主搜索与头像抽屉,避免宿主抽屉继续覆盖阅读器并争抢交互。
- 收纳箱全展开后,帖子编辑等动作改在阅读器 ShadowRoot 的真实交互根委托;内部点击不再被 document 侧误判成外部点击而提前收纳。
- 大刷新或从深楼层快照恢复时,主帖收纳箱会等待 canonical session 初始化后主动复查首帖;即使快照恢复不产生 session commit,也能精确补载并显示操作列。
- 操作列补充稳定宽度与可见溢出边界,展开动作不再被紧凑容器裁切。
发布状态
1.1.1已发布到 Greasy Fork:主 Loader 固定版本为1896707,加载 Core1896700与 Features1896702;固定 Loader 为 3,815 字节,移除平台元数据后为 3,794 字节并与仓库 SHA-256 一致。- Core、Features 与 CSS 的固定 URL、字节数和 SHA-256 均已核验;
1.1.0Loader1896519、Core1896235与 Features1896236继续作为公开回滚基线。 - 本次补丁不改变 WebDAV 数据结构,也不包含回复入口去重;发布同步不重复
1.1.0的完整浏览器矩阵与性能门禁。
1.1.0 — WebDAV 跨设备同步与运行可靠性
核验日期:2026-08-08。
新增特性
- 设置中心新增“WebDAV 同步”,兼容坚果云等标准 WebDAV 服务;服务地址、用户名、应用密码和远端文件分别配置,默认远端文件为
ALR-Lite/v2/sync.json。 - 浏览历史、收藏记录、设置配置、阅读队列、阅读位置与窗口状态、自定义适用站点和 Connect 本机观察历史共七类独立开关;正文、图片、附件、翻译结果、短期限流状态和页面缓存永不上传。
- 手动同步使用上次成功基线执行三方合并,并通过 ETag 条件写入;删除以标记传播,远端并发更新会重新读取后有限重试,不再由某一端整份覆盖另一端。
- 定时同步默认关闭,可选 15 分钟、30 分钟、1 小时、3 小时和 6 小时;页面可见且启动等待 30 秒后串行执行,坚果云默认建议 1 小时。
- 功能目录、隐私边界、数据管理、设置总览和故障判断同步补充 WebDAV;设置中心由 15 个面板增加到 16 个。
修复
- 恢复 Discourse 启动就绪门禁,等待宿主运行时可用后再建立阅读器,并在刷新、匿名访问和提前取消时正确结束等待,减少启动阶段的竞争与空入口。
- 修复阅读队列在气泡与列表形态反复重绘时重复创建头像节点的问题;同主题头像可复用,同时继续接受 WebDAV 导入后的队列刷新。
- 修复帖子编辑保存结果在不可变数据链中未正确投影的问题,以及原生回复窗口点击舍弃或按
Esc后草稿和外壳状态未完整清理的问题。 - WebDAV 认证、无权限、404、缺少 ETag、超出 2 MiB、网络中断和条件写冲突现在分别给出明确错误;失败不会把本机现有记录清空。
界面与发布边界
- 桌面设置导航宽度调整为 184 px,设置弹层总宽度同步增加到 696 px,右侧内容区仍保留 512 px,不因导航加宽被压缩。
- 1.1.0 已发布到 Greasy Fork:主 Loader 固定版本为
1896519,加载 Core1896235与 Features1896236;16 页设置矩阵与五轮性能门禁通过,固定 Loader 归一化后的 3,794 字节和 SHA-256 与仓库产物一致。
1.0.1 — main-lite 拼写兼容迁移
核验日期:2026-08-07。
- 源码入口、构建脚本、TypeScript 配置、npm 主命令以及 GitHub/Greasy Fork 生成物统一使用正确的
main-lite拼写。 - 原
mian-lite:*npm 命令、源码导入入口和生成物路径继续作为兼容别名;同类新旧发布文件由同一次确定性构建生成并要求逐字节一致,现有本地调试安装和 Greasy Fork Webhook 可平滑切换。 - 页面内 1.0.0 已使用的 Portal、样式节点、嵌入刷新存储键和兼容性键保持不变;调试句柄同时暴露新旧名称,避免升级后出现重复界面或本地状态丢失。
- 本次仅调整工程与发布命名,不改变用户界面和操作流程,因此继续复用 1.0.0 的真实 Windows Chrome 截图。
- Windows Chrome 三文件验收、15 页设置矩阵、通知/私信、历史/收藏、时间线与五轮资源趋势均通过;五项发布门禁全部打开。
- Greasy Fork 主脚本固定版本为
1895932,固定加载 Core1895921与 Features1895924;三个 Webhook 已切换到 canonicalmain-lite路径并立即同步确认内容不变。
1.0.0 — Lite 模块化正式版
核验日期:2026-08-07。
发布结构
- 业务源码切换到
lite/src/的模块化 TypeScript 实现,样式切换到lite/styles/;旧版main.js与main.cssworking copy 已按日期和 SHA-256 非破坏性归档。 - Greasy Fork 发布由单文件改为薄主 Loader 加
mian-lite-core、mian-lite-features两个可读 Library;所有可执行上传单元保持未压缩、未混淆,并使用 2,000,000 字节项目闸门。 - 两个 Library 先注册带稳定路径和源码哈希的模块工厂,主 Loader 在固定版本依赖全部到位后统一启动;不使用动态下载后
eval,也不绕过 Greasy Fork 更新链路。 - 每个 Library 只保留一份 esbuild CommonJS helper;Core 为 1,655,882 字节,Features 为 1,550,448 字节,连同模板的项目自有 JS 总量为 3,209,486 字节,比优化前减少 191,081 字节。
- Lite CSS 作为带不可变 Git 提交与 SHA-256 的
@resource发布;KaTeX、pinyin-pro 与 hls.js 继续使用元数据声明的固定版本依赖。
架构与可靠性
- 应用启动、请求调度、缓存仓储、主题会话、虚拟流、阅读状态、原站互动、媒体、设置和生命周期拆分为显式 owner,减少旧单文件中的隐式共享状态。
- 功能契约、请求入口审计、TypeScript 严格检查、CSS 所有权检查和确定性构建进入统一发布门禁;静态结果与真实浏览器、性能及回滚验收继续分开记录。
- 发布门禁新增脱敏浏览器证据契约,记录固定 Library 坐标、15 页设置矩阵、通知/私信、历史/收藏、时间轴、隐藏回复、错误捕获、5 轮资源趋势、旧版回滚与私密漏洞报告状态;不提交 Cookie、消息正文、HAR 或 Heap Snapshot。
- 用户手册、功能目录、package 版本与 userscript 元数据统一以 Lite
1.0.0为事实源。
设置与手册
- 设置中心以 15 个面板为正式基线,在“阅读与导航”和“帖子与回复”之间提供独立“快捷方式”面板。
- 快捷方式覆盖浏览导航、阅读工具、界面面板、帖子操作、窗口与队列;每项最多保留 3 个绑定,并拒绝重复、浏览器保留键与无修饰键的单字母或数字。
- 正式用户手册的界面截图全部重新取自 Windows Chrome;业务界面使用同一 Lite v1.0.0 本地构建,“关于”页由标记为
1.0.0的本地验收加载器核对。发布结构、GitHub 源码、Greasy Fork 上传产物和本地测试版分别说明,不互相覆盖。
0.1.16 — 自适应标题栏与原站状态同步升级
核验日期:2026-07-28。
重大特性
- 标题栏改为随阅读器宽度和界面字号连续缩放:标题、楼主、统计、分类和标签分别保留可读下限;标题可自然换行,编辑与原生页面操作会跟随首行文字对齐,浮窗、中宽窗口和窄屏不再使用同一固定字号与高度。
- 分类、标签和主题投票进入独立横向浏览区;溢出时显示左右方向提示,并支持鼠标滚轮、触控横向滑动和键盘聚焦,未溢出时自动收起提示,避免大量标签挤占标题或控制按钮。
- 阅读队列新增统一表面边界:拖动、恢复位置和响应式重排都把标题栏底部作为纵向起点;全屏桌面布局还会避让主帖操作列,在默认位置、上方或下方中选择最近的安全位置。
- 完整讨论窗口使用可恢复的分支栈:重设讨论根后,标题栏左侧按钮和
Esc先逐级返回上一个分支,回到入口层后才关闭;返回时复用已加载楼层、分支路径和各层视口。 - 新增 Discourse 原站更新事件桥接:监听通知、收藏、回应、帖子创建/编辑及可用回应表情配置变化,按通知、收藏、主题、楼层和回应标签精确使缓存失效;当前主题可就地合并权威楼层并刷新可见回应。
修复
- 修复单条通知已读只改变阅读器徽标、未同步 Discourse 普通、高优先级、分组、总数和兼容计数的问题;“全部已读”现在原子清空同一组状态。
- 修复主题末尾连续二级回复收纳后仍保留虚拟流底部高度占位、导致末尾出现大块空白的问题。
- 修复 Discourse 对同一路由重复发送页面变化信号时多次触发主题接管的问题;接管前会比较当前宿主路由键。
- 修复原站搜索菜单中的建议、筛选或非结果链接被当作主题打开的问题;只有真实
.search-result-topic或.search-result-post继续进入阅读器。 - 修复阅读器容器尺寸变化但浏览器窗口未触发
resize时,标题栏、队列、主帖操作列、弹层和虚拟流未及时重算的问题;阅读器主体现在由ResizeObserver驱动同一布局同步。 - 修复回应表情注册表优先使用旧宿主缓存、站点更新允许表情后当前选择器缺少新项目的问题;首次需要时补取
/emojis.json,配置变化后强制刷新并保留已展开选择器。 - 修复完整讨论重设分支后关闭按钮直接退出窗口、已加载分支在返回时丢失,以及
Esc与标题栏返回行为不一致的问题。
优化与可靠性
- 标题单行/多行密度由实际文本行框决定,加载态和 481–900 像素中宽布局保留稳定最小高度;标题区操作按钮按实际图标位置做半像素对齐。
- 标题、分类和标签的溢出提示由滚动与尺寸观察器按帧合并更新,销毁阅读器时同时取消观察和待处理动画帧。
- 队列拖动保存与运行时定位共用同一边界计算,旧的纵向比例会先限制到标题栏下方,再参与贴边和主帖操作列避让。
- 鼠标侧键 3/4 接入阅读器历史链,可直接切换更早或更新的阅读记录;阅读器打开时阻止浏览器默认后退/前进,没有对应记录时保留当前页面并显示提示。
- 原站通知变化会同时过期首屏内存缓存和持久响应缓存;收藏变化会刷新已打开面板,回应变化按帖子与主题范围更新正文、主帖操作列和收藏/回应中心。
- 从主题缓存启动后直接进入统一实时更新链路,不再额外安排一次延迟的“最新回复”刷新,减少打开阶段的重复请求与状态竞争。
- 仓库直装压缩产物预算由 950,000 字节调整为 1,000,000 字节,继续保留 400,000 字节 gzip 闸门;GreasyFork 仍发布未经压缩的可读
work/main.js,不使用该直装产物。 - 发布样式固定到不可变提交
6f32c5f548d440963c1c0abb2160908b609f5aec;本地与 jsDelivr 均为 419,911 字节,SHA-256 均为0738f4c1470861e1c7fcf29db5b8cb76f788896740492e2a2fc760c90691ff7e。
0.1.15 — 消息中心、精确恢复与交互工作区升级
核验日期:2026-07-28。
重大特性
- 消息中心升级为“通知 / 私信”双模式:通知按回复、赞、@提及、编辑、链接、Boosts 和回应分别读取对应原站数据;私信支持最新、已发送、新、未读、归档和机器人聊天六类列表。
- 多源消息统一归一化发送者、摘要、正文摘录、时间、已读状态和精确目标;通知、用户动态、Reactions、Boosts 与私信主题各自分页、缓存并保留来源身份。
- 阅读历史和阅读队列从单一楼层号升级为完整锚点状态,可恢复当前楼层、滚动偏移、完整讨论分支位置与引用高亮;前进、后退、队列切换和重新打开主题都复用同一状态模型。
- 时间轴新增楼层号直达输入,可校验
1–总楼层的有效范围;跳转过程等待数据取得、目标挂载和可见位置稳定后再完成,首帖、末帖和快速连续跳转使用同一目标仲裁。 - 完整讨论窗口增强分支阅读恢复:记录窗口内锚点,从历史或队列返回时恢复分支和滚动位置,关闭后回到进入前的主信息流视口;目标楼层过高时优先置于可读区域。
- 主帖操作列整合点赞与自定义回应:显示当前回应徽标,支持直接切换或取消回应,并继续同步正文副本、实时主题数据、Boost、回复、收藏和更多主题操作。
- 图片灯箱的关联评论支持补取主题楼层、评论树定位和回应交互;回应选择器增加悬停延迟、当前回应入口和状态同步,避免灯箱与正文显示不同步。
- 原生回复窗口新增独立的“关闭前再次确认”偏好;开启后,按
Esc、关闭或舍弃草稿需要在 1.5 秒内重复同一操作,与阅读器本体的“双击 Esc”设置分别生效。
修复
- 修复通知分类依赖单一
/notifications.json数据、导致回应、Boost、编辑、链接或私信列表不完整的问题;不同来源现在使用各自端点和分页游标。 - 修复合成消息误写原站已读状态的问题;只有能追溯到原生通知 ID 的项目才参与标记已读,并从匹配的原生通知继承权威状态。
- 修复历史切换、队列切换和主题重开只保存楼层号,导致虚拟流偏移、完整讨论窗口或引用上下文丢失的问题。
- 修复完整讨论关闭后回到错误楼层、窗口内目标落在边缘、返回按钮找不到原入口,以及切换阅读形态后残留覆盖层的问题。
- 修复时间轴快速跳转时旧请求覆盖新目标、首帖和末帖完成条件不一致,以及手动输入无效楼层仍可提交的问题。
- 修复主帖操作列的点赞与回应状态相互覆盖、当前回应缺少可取消入口、重渲染后选择器开合状态丢失的问题。
- 修复 Boost 原生表情选择器延迟挂载、位置可能落到阅读器外或被裁切的问题;现在短时观察真实可见弹层并按当前窗口重新定位。
- 修复从搜索、用户菜单、汉堡菜单或聊天抽屉中的主题链接打开阅读器后,原生浮层仍覆盖阅读器的问题;先通过宿主关闭能力收起来源浮层,再进入主题。
- 修复标题栏部分区域误触发拖动、设置或完整讨论等临时层与拖动面冲突的问题,并补齐浮窗、嵌入和全屏形态的拖动边界。
优化与可靠性
- 通知与私信卡片新增两行正文摘录、来源状态和更细的语义图标配色;模式标签与分类标签按可用宽度均分,键盘焦点和窄屏布局保持可见。
- LINUX DO Credit 面板改为紧凑的资产、额度和状态指标,并提供首页、活动、积分与设置快捷入口;危险或异常指标使用独立状态色。
- 默认普通布局调整为 0% / 88% / 0% / 8% / 4%,正文默认字号调整为 95%;只影响尚未保存对应自定义值的新配置。
- 字体平滑、结构色开关、颜色滑块和预设色改用稳定的状态属性与 CSS 变量,减少反复写入行内样式及主题切换残留。
- 阅读队列、主帖操作列、历史按钮、标题栏和弹层位置统一在容器变化后重算;空队列、贴边收纳和短高度窗口减少遮挡。
- 十种加载动画的结构样式集中到静态资源,补齐减少动态效果下的静态呈现,降低运行时重复样式生成。
- 新增 GreasyFork 拆分工作区,可重复生成并校验主脚本模板、Core Library、JSON 静态资源和 SVG 图标资源;当前正式脚本仍保持单文件发布,拆分产物不自动替代线上入口。
- 发布样式固定到不可变提交
90b37ad87f7a234bfb9ff76db1d59768be9652e9;本地与 jsDelivr 均为 414,318 字节,SHA-256 均为1d6e0c2c43fb87bde684fe978d3a13a414a6e7d216299e53a291193ddf24eef9。
0.1.14 — 设置中心、完整讨论与已读链路升级
核验日期:2026-07-27。
新增特性
- 设置中心从旧的 13 个平铺面板调整为 14 个面板,按“显示与布局”“阅读与交互”“系统与数据”分组;新增设置搜索、无结果提示和底部“保存全部更改”,可一次提交图片、字体、布局、浮窗、外观与跳转提示草稿。
- 新增主帖快捷操作列,集中提供回顶、点赞、回复、Boost、收藏和更多主题操作;支持长按拖动、位置记忆、锁定、恢复默认、贴边收纳和与历史按钮避让。
- 新增二级回复“完整讨论”窗口:递归加载后续分支、显示回复路径与关系线,支持分支重设、返回上层、实时回复合并、目标跳转、拖动缩放,并记住窗口几何和各分支阅读位置。
- 二级回复在主楼层列表中可收纳为参与者头像标记;点击头像仍能打开对应讨论并定位,不影响时间轴、跳转和已读状态。
- 用户信息新增 LDC 标签,只读展示可用余额、社区余额、今日额度、积分收支和支付账户摘要;校验 LINUX DO/LDC 用户名,支持 30 分钟同账号成功缓存和授权失效提示。
- 阅读与导航新增“队列为空时仍显示入口”和“双击 Esc 关闭阅读器”;帖子与回复新增主帖操作列、完整讨论和楼层收纳开关。
- 超过 10 行的代码块默认折叠为前 10 行,新增展开/收起按钮,并在收起时保持当前楼层和滚动锚点。
修复
- 修复 Safari/WebKit 下 Connect 或跨站会话请求未带正确分区信息的问题;仅在 Safari 路径补充顶层站点分区参数,不改变 Chromium、Firefox 等浏览器请求。
- 修复原生回复编辑器打开时滚轮事件可能落到宿主或阅读器错误滚动层的问题,并补齐阅读器内向上滚动到顶的处理。
- 修复二级回复目标从消息、历史或楼层链接进入时仍落到隐藏正式楼层的问题;目标现在优先进入完整讨论或对应父回复上下文。
- 修复完整讨论内父楼预览、返回位置、楼层号跳转和滚动根错误;空的楼层预览不再保留无内容浮层。
- 修复完整讨论的分支按钮依赖 Boost 入口、在不支持 Boost 或无权限时消失的问题;现在会依次靠 Boost、回复或点赞中的首个可用操作显示。
- 修复长代码块展开后改变虚拟流高度、收起时造成阅读位置跳动的问题。
- 修复主帖操作列与正文副本之间点赞、Boost、收藏和实时主帖数据不同步,以及虚拟流重新挂载后快捷按钮缺失的问题。
- 修复交替楼层背景与跳转高亮互相覆盖、隐藏回复前后分隔线重复、颜色设置中文标签拥挤等视觉问题。
- 修复空阅读队列仍显示数字
0、无法从入口直接关闭,以及队列预加载误处理当前主题的问题。 - 修复通知缺少可解析展示链接时退回通知列表、无法打开目标主题或精确楼层的问题;现在会从通知本体和
data中依次读取主题与楼层编号并重建地址。 - 修复通知目标只依赖单一展示链接、同主题点击仍重新创建阅读器的问题;现在同时读取 Discourse 展示模型、
post_url/topic_url/url和通知字段,并优先在现有时间轴直接跳转。 - 修复用户 Flair 仅引用页面 SVG 符号、符号不可用时显示空徽章的问题;现在安全内联可用图标,失败时回退到内置盾牌。
- Cloudflare 验证失败或提交异常时统一关闭验证浮窗、释放租约并保留楼层未读,避免残留窗口和重复触发。
优化与可靠性
- 已读上报改为正文成功预加载后的统一候选入口:先在当前会话显示乐观已读,再按显式目标、可见楼层和后台候选的优先级排序;单次最多提交 20 层。
/topics/timings新候选立即调度,不再额外等待固定 15 秒;保留 60 秒成功指纹去重、navigator.locks跨标签串行化和 Discourse 原生 screen-track 抑制。- 请求失败后保留待确认楼层并延迟重试;只有服务器确认后才写入权威
read状态和持久缓存,乐观显示不冒充服务器确认。 - 将请求记录与性能记录合并为“日志记录”面板,统一“原站”“二级回复”“页面元素”等用户术语,同时保留原有 10 秒/60 秒账本、P95、趋势和脱敏边界。
- 为现有 LDC 只读账户请求补充显式
@connect credit.linux.do声明,使 userscript 权限元数据与实际跨域目标一致。 - 普通(嵌入/浮窗)与全屏改为分别保存布局:普通新默认值为 0% / 90% / 0% / 6% / 4%,全屏为 15% / 70% / 5% / 8% / 2%;打开设置时自动载入当前形态,恢复默认和统一保存也只作用于该形态。
- 配置导入兼容尚未包含独立全屏布局字段的早期 0.1.14 导出文件,并为其补入全屏默认值;其他字段完整性与版本校验保持不变。
- 新配置默认按一次
Esc关闭阅读器;需要防误触时仍可开启“按两次 Esc”,已有明确保存值继续沿用。 - 新配置的正文图片比例默认值调整为 50%,加载动画默认改为“引文回声”;已有有效用户设置继续保留。
- 新配置的宿主列表标题、头像、统计和标签卡片默认尺寸调整为 110%、80%、120% 和 100%,阅读器正文默认字号调整为 98%;已有有效用户设置继续保留。
- 阅读队列、主帖操作列和设置窗口按当前容器重新计算碰撞与可用位置,减少窗口缩放、窄屏和拖动后的遮挡。
- 全屏标题栏按正文左右边界对齐,阅读队列入口跟随主帖操作列收纳按钮的横向中心;布局、窗口或操作列位置变化后同步重算。
- 通知卡片为具体通知类型选择语义图标,并按回复、点赞、Boost、关注、私信和其他分类显示不同圆形强调色,减少图标与标题拥挤。
- 完整讨论中的父回复入口改为蓝色提示块,当前楼层号独立靠右;跳转高亮仅作用于入口图标,并为减少动态效果提供静态提示。
- 发布样式固定到不可变提交
76e820b63f464545b25516ace9d8786677b3352e;本地与 jsDelivr 均为 394,487 字节,SHA-256 均为d2ae1cbe838e95fb700177630757b589aef7da2e24a2a7645226671da5c748f6。
0.1.13 — 通用适配与诊断链路精简
核验日期:2026-07-26。
- 统一内置 Discourse 站点适配器的构造方式,保持 LINUX DO 专属能力声明与其他社区的自动降级逻辑不变。
- 正文翻译同时收集普通楼层内容与已解决摘要,跨语阅读时不再遗漏解决方案卡片中的正文。
- 复用主题列表按钮与嵌入阅读器的主内容区观察器重定向逻辑,减少 SPA 页面切换时的重复观察代码。
- 拆分请求流快照、瓶颈判断与资源健康状态计算,并精简等价条件分支,降低正式脚本体积和维护成本。
- Boost 气泡新增引用并提及作者的快捷操作,可打开原生回复编辑器、插入 Boost 引用块,并避免在已有草稿中重复
@同一用户。
0.1.12 — 全站点适配与翻译说明
核验日期:2026-07-26。
- 保留 Awesome LinuxDo Reader 名称,并在脚本简介、项目首页和用户手册中明确 LINUX DO 的完整适配范围。
- 补充标准 Discourse 站点的运行态识别、插件能力检测与自动降级说明,明确自定义 HTTPS Discourse 论坛的验证入口。
- 将非中文正文翻译提升为核心能力说明,补齐入口、原文/双语/全译文切换、批量请求、服务回退、缓存和隐私边界。
- GitHub 项目描述、主页和 Topics 补充 Discourse、userscript、翻译、沉浸阅读及常用脚本管理器关键词,方便相关用户检索。
0.1.11 — 自定义站点与跨语阅读
核验日期:2026-07-25。
- 内置站点扩展到 LINUX DO 加 20 个知名 Discourse 社区,并在“其他功能”增加自定义 HTTPS Discourse 站点的验证、保存和移除入口。
- 已标记为非中文的内置社区新增正文翻译按钮,可在原文、双语和全译文之间切换;请求按批次发送,Google 与 Microsoft 互为回退,译文缓存保持有界。
- 历史前进与后退按钮默认长显;已有用户保存的显示选择保持不变。
- 头像、背景图和灯箱单图统一复用阅读器缓存与限速取图链路后保存,不再要求
GM_download权限。 - 设置、搜索、编辑、评论、颜色值与下载命名等单行输入框按控件高度、实际字号和边框计算垂直位置,并加入随字号变化的中文光学校正。
- 用户手册同步站点范围、翻译数据边界、下载行为、权限、功能目录和兼容性说明。
0.1.10 — 多站点适配与阅读体验持续优化
核验日期:2026-07-25。
- 在保持 LINUX DO 完整覆盖的前提下,新增 OpenAI Developer Community、Discourse Meta、Python Discussions、Swift Forums、Julia Discourse、Home Assistant Community、Arduino Forum 与 Rust Users Forum。
- 新增 Discourse 运行态识别、站点适配层和插件能力检测;缺少 Boost、Reactions、Post Voting 等插件时自动隐藏对应功能。
- 阅读器 Logo 改为自动读取当前站点公开配置、宿主 Header 或页面图标,加载失败时按候选顺序回退。
- 全面缩小普通楼层、父楼层、楼中楼及预览楼层的字号并弱化背景,降低楼层号的视觉权重。
- 父楼层标记在
@与#之间增加空格,改善紧凑标签的辨识度。
0.1.9 — 通知样式资源修复
核验日期:2026-07-25。
- 将正式 userscript 的静态样式资源更新到已校验的不可变 CSS 提交,使通知分类、类型图标与消息卡片在发布版中和本地调试保持一致。
0.1.8 — 消息分类与阅读链路强化
核验日期:2026-07-25。
- 通知面板扩展为全部、回复、点赞、Boost、关注、私信与其他七类,并以 Lucide 类型图标、相对时间和已读状态提升信息辨识度。
- 普通打开主题不再自动加入阅读队列;队列入口在空状态下仍显示。当前或最后一篇文章可以移除,清理仅保留固定项,同时保持当前阅读页面不被强制关闭或切换。
- 增强主题分类与标签图标的 SVG 安全内联、头像优先加载和本地字体访问异常处理。
- 阅读器打开失败按错误类型自动退避重试,路由楼层、时间轴末端与新楼层同步进一步保持定位一致。
- 回复提交、通知跳转与 Boost 目标刷新继续隔离宿主自主跳转,减少重复刷新和上下文丢失。
0.1.7 — 阅读器全层性能强化
核验日期:2026-07-25。
- 保留单一 Reader Portal 与三形态共用内核,并统一设置、通知、历史、收藏等浮层的挂载、停放和销毁。
- 强化变高虚拟列表、离屏正文脱水、时间轴索引复用、滚动锚点、宿主滚动几何缓存与媒体生命周期,减少无效 DOM、布局读取和后台工作。
- 批量楼层渲染按主线程时间片主动让步;浮窗、设置和灯箱拖拽按帧合并几何更新。
- 收窄宿主、Header、Composer、主题列表和元数据观察范围;页面隐藏时暂停预取、实时更新、延迟水合与重试,回到前台后闭环恢复。
- 请求与资源诊断只在对应设置面板打开时启用详细取证,避免常驻调用栈与 Resource Timing 开销。
0.1.6 — 设置面板页面级适配
核验日期:2026-07-25。
- 嵌入态设置面板改为悬浮于整个页面,不再被阅读器工作区宽度约束。
- 设置面板、字体菜单、颜色选择器和帮助提示共用同一承载层,并在阅读形态切换时同步迁移。
- 页面级承载层继续使用容器查询;窄视口保持顶部横向分类、单列内容和紧凑尺寸,浮窗与全屏仍按阅读器尺寸适配。
0.1.5 — 统一阅读器内核与事件驱动更新
核验日期:2026-07-25。
- 摒弃 Shadow Root 和三套形态业务分支,以嵌入态作为唯一阅读器内核;浮窗、全屏只改变外层呈现,保留按容器宽度响应的窄屏布局。
- 通知与新信息改用 Discourse 事件信号更新,保留普通通知跳转、Boost 分类和聚合回复展开;移除对应的定时轮询旧路径。
- 回复提交继续拦截宿主自主跳楼层,同时保持阅读器内新楼层插入与定位。
- 统一设置、集合面板、生命周期与媒体查看器中的重复链路,并将静态 CSS 迁入不可变
@resource。 - 保留可维护的
work/main.js作为 GreasyFork 发布源码;新增确定性压缩产物,仅用于仓库直装和体积审计。
0.1.4 — 内部精简与文档验收
核验日期:2026-07-24。
- 在业务、交互、请求和缓存行为不变的前提下,合并重复状态派生、分页、缓存查找与局部辅助链路。
- 收口阅读队列、灯箱、用户资料、设置和宿主工作区的监听注册与清理职责。
- 完善指南截图、操作图注以及图片登记、密度和完整性校验。
0.1.3 — 阅读队列与主题配色
核验日期:2026-07-24。
- 新增并完善多主题阅读队列:列表页独立加入、跨刷新恢复、可移动与贴边浮层、实际阅读进度、分层后台预加载、错误重试、固定和确认清理。
- 队列后台准备范围扩展到主楼层、楼中楼和相关图片;超长主题按开头与目标区域选取最多 200 个主楼层,并继续服从共享请求调度。
- 外观颜色自动生成明亮/暗色适应色,并支持单独关闭结构配色而保留原配置。
- 完善预加载楼层的已读同步、进入动画,以及虚拟流向上加载时的锚点稳定性。
- 收窄首楼分隔线和特殊帖子样式,避免无关内容被误改。
- 使用指南按入口、操作和结果补齐分步截图与操作说明,并增加图片登记、密度和说明完整性检查。
0.1.2 — 正式手册基线
核验日期:2026-07-23。
本版首次建立可自动验证的正式用户手册和功能目录。目录覆盖当前源码中的用户可见能力:
- 五种阅读形态、多主题队列、虚拟化连续阅读与楼中楼;
- 时间轴、历史前后切换、只看楼主、父回复和引用上下文;
- 原图灯箱、评论、下载、音视频、HLS、公式、投票和代码预览;
- 回复、点赞、回应、Boost、收藏、通知级别和权限操作;
- 消息、历史、收藏/回应、用户卡与关系操作;
- 13 个设置面板、分形态配置和按字段共享;
- 缓存、资源监控、请求数据、429 协调和 Cloudflare 恢复;
- 安装、隐私、兼容性和故障排查。
INFO
这里的“基线”表示已用当前源码和运行界面核对,不代表每项功能都在 0.1.2 才首次实现。缺少可靠历史证据时,不反推早期引入版本。
0.1.0 — 早期公开介绍
仓库曾以 0.1.0 维护项目介绍素材,但没有可验证的逐功能更新记录。本手册不据此推断旧版功能清单。
维护规则
后续每次用户可见变化必须同步更新:
- 对应功能项的
version、last_verified、source_anchor和文档映射; - 受影响页面 frontmatter;
- 本更新记录;
- 必要的脱敏截图;
npm run docs:verify结果。
