# 版本更新历史 (Changelog) 本文件归档 DouyuEx-RL 的完整版本演进。 > **关于"当前版本"的日志**:脚本内「版本更新」面板显示的是**你当前所装版本**的更新内容,数据源为 [`src/packages/Update/UpdateLog.js`](src/packages/Update/UpdateLog.js),由构建流程强制校验(版本条目缺失、板块留空、条目格式不合规都会中断构建),保证与实际产物一致。本文件则是**历史归档**。 > **关于历史分界**:2026 年 8 月原作者小淳停更,项目由社区接棒。因此下面的历史分为两段。 --- ## 社区接棒时期(xayahcore) ### 2026.09.29.01 - **修复含斗鱼表情的弹幕被误标「(可能发送失败)」**:斗鱼会把表情(如房间表情 `[南波儿9]`)整段画成图片,这段文字在页面上彻底消失,而回执报文里仍是原文;检测是拿这两边逐字比对,于是必然对不上。又因为「回执来晚了自动撤销标记」用的是同一套比对,标记撤不掉、会一直留在屏幕上。现在两边都会先剥掉这类「会被画成图片的占位符」再比对。 - **被标失败时给出判定依据**:鼠标停在「(可能发送失败)」提示上,可看到本条文本、被比对的回执文本、上一条自己的回执是多久前来的、走的是哪条回执通道、两条通道各自多久前还收到过消息;控制台也会同步输出一条日志。用于分清「消息真被房间丢弃」与「回执在通道断线的空档里漏掉了」。 - **去广告规则体检**:清理 32 条早已失效的规则(真机逐条测命中 + 抓斗鱼当前 22 个样式表 6.6MB 搜类名,含剥掉哈希后按基名搜也不存在,确认不是懒加载),修掉一条因样式哈希轮换而失效的规则;补上推广位与任务大厅 / 免费火箭两处漏掉的广告位;修掉隐藏广告后留下的空白(槽位连同外层一起收起、原本写死偏移的那一排改为正常排列并保持原来「从右往左」的顺序)。 - 工程侧:弹幕检测新增 4 项用例(含表情不误判、纯表情不误判、含表情的真失败仍要标记、判定依据齐全且不越界到弹幕区可见文案);构建产物测试里锁死的悬停文案断言同步更新。 ### 2026.09.26.03 - **修复工具条被页面重绘后永久消失**:直播间页面重绘会把工具条整块换掉,此前一被换掉就再也回不来 —— 连精灵球都在工具条里,用户只能刷新页面。现在插件会自动把原工具条原样挂回,九个按钮与它们的点击都保留。 - **修复"刷新一次才能加载出来"**:此前进房后要等「弹幕区」和「背包入口」**同时**渲染出来才加载插件,而背包入口与插件毫无关系;页面版式变化或清理类扩展把它去掉时,整份插件就永远不加载。现在最多等 15 秒,到点照常加载。 - **修复单个功能出错会连累全部功能**:32 个模块改为逐项隔离,某一个出错时其余模块照常工作,并在控制台报出是哪个模块失败。 - **修复点「真实人数 / 今日收入」连开两个标签页**:该处点击被绑定了两次,现改为幂等绑定。 - **修复活动中心签到实际不生效**:请求缺少服务端必需的 `useJiYan` 参数与 `csrfToken` 校验令牌,服务端一直在拒绝而界面无感;现已与官方前端的真实请求逐字对齐。签到礼包改为按当天偏移领取,并区分"暂时没有可领的礼包"与真正的失败。 - **修复看直播积分达标后不自动领取**:此前把「已观看(可领)」的状态误当成「已领取」,脚本据此认定已领完并收工。现在按服务端状态驱动,达标即领、领完自动停手;不再本地估算观看时长(时长本就由斗鱼统计),请求量降到每 3 分钟一次且只在页面可见时执行。 - 工程侧:新增「工具条自愈」「初始化门槛」「点击绑定幂等」9 组场景,签到 / 看播专项扩到 20 组;接口参数与校验令牌规则全部改为与官方前端线上代码逐字核对后再写死。 ### 2026.09.26.02 - **一键签到新增「活动中心签到领积分」**:自动完成活动中心每日签到,并把签到后可领的礼包逐个领掉。活动别名与奖励档位每次实际读取、不写死在脚本里,活动换名或档位调整都不会让它失效;未登录时如实提示,不会谎报签到成功。 - **一键签到新增「看直播领积分(自动)」**:观看时长达标后自动领取对应档位(当前活动为 300 / 900 / 1200 / 1800 秒各 10 积分,3000 秒 20 积分)。采用本地计时而非轮询 —— 接口本身只回「这一档领没领」,不回已累计多少秒,高频轮询读不到任何新信息。只在页面可见且视频播放中累计时长,切到后台或暂停都不会白算;每跨过一档只上报一次,同一档失败重试有上限和冷却,全部领完后彻底停止请求。默认关闭,勾选立即生效,取消即完全停止。 - **修复鼠标划过播放器时摄像头画面不再弹出**:某次全量重制漏掉了「已手动关闭」这个状态变量的声明,导致划过播放器、划过摄像头区域这几处事件一触发就抛 `ReferenceError` 并中断,摄像头叠加画面因此形同失效;现已补回该声明。 - 工程侧:新增「签到 / 看播领积分」专项测试 17 项;接口请求方式全部实机校准后写死(写反会 405 静默失败),并纳入测试断言。 ### 2026.09.26.01 - **左下角通知全面换装**:改为 MIUIX 深色磨砂玻璃,四种类型各有独立图标,进度条改细线;停留时长由 3 秒改为 4 秒并显式声明为常量。 - **修复弹幕投票抽屉自动弹开**:五个抽屉的收起态此前只有四个写进统一引擎,投票抽屉漏了这条,进房后会自己展开。 - **修复刷新页面后「真实人数」统计条消失**:统计条此前可能被插进会被持续重绘的弹幕区随后被冲掉,且插错后不再恢复。现在固定插在播放器区块,被冲掉会自动重建,节点缺失时也不再每 5 秒抛异常。 - **修复靓号房间人数统计全为 0**:这类房间地址栏是展示短号(如 /15000),此前被当成真实房间号,而数据源只认真实房间号(短号返回 200 但全 0)。现在会解析真实房间号并自动纠偏,背包/禁言/宝箱/活跃榜/鱼吧等一并恢复。 - **统计条数据行为改进**:重建后立即回填数据(此前最长要等 150 秒);数据源不可达时不再连累「已播」这类本地项,也不会把已取到的人数覆盖成 0。 - 工程侧:构建期新增 CSS 非法八进制转义检查与精确定位;测试依赖 jsdom 纳入 devDependencies 并去掉写死的本机绝对路径;新增真实人数统计条专项测试 10 项。 ### 2026.09.24.01 - **新增用户卡片「弹幕历史」页内查询**:点弹幕里的用户名打开用户卡片,动作行末尾会多出「弹幕历史」按钮,直接在本页弹出的磨砂面板里查看该用户的历史弹幕与礼物记录,支持翻页、按天往前回溯、每行一键跳转到对应直播间。无需离开直播间。 - 斗鱼按用户等级渲染**三种形态的卡片**(普通 / 至尊 / 礼物展馆),三者内部结构与按钮类名都不相同,入口在三种卡片上都会出现,并且沿用该卡片自己的原生按钮样式(含至尊、贵族等等级修饰类),与旁边「举报用户 / 屏蔽用户 / 发站内信 / 关注」视觉一致。 - 用户识别不额外调用接口,直接在卡片上解析用户 ID。 - 点击面板以外自动收起,不会挡住聊天区。 - **修复既有跳转失效**:原「查弹幕」按钮跳转的地址带 `dt=0` 参数,该模式在数据源端已返回 502,按钮实际早已不可用;改为查询当天直播日。 - 该功能的数据源为第三方数据站 doseeing.com,须在该站登录后使用;未登录时会明确提示并可一键前往登录,不会假装查询成功。 - 新增历史弹幕专项测试 27 项;端到端测试不再硬编码版本号(改为从源码 `@version` 读取并推导)。 ### 2026.09.22.04 - **三级菜单 UI 全面统一**: - 新增统一互斥单选控件 `.miuix-seg` 分段胶囊,把「同屏播放模式 / 自动钓鱼模式 / 小尾巴前缀后缀」三组原生圆点换装为 iOS 风格分段胶囊。 - 直播间工具五个抽屉标题接入 iOS 披露指示器(折叠 ▸ / 展开 ▾,互斥展开时自动复位)。 - 面板内 7 个原生下拉框抹除系统外观,改用内联 SVG 自绘澎湃箭头。 - **修复「弹幕投票」标题颜色与其余四项不一致**:根因是四个抽屉各自的样式表把 `royalblue` 直接声明在标题元素上,覆盖了本应从父容器继承的统一色,而「弹幕投票」没有该声明,导致五者中唯独它不同。已删除全部遗留声明。 - **三级面板样式 100% 归并单一引擎**:删除 8 个包级样式文件与 3 处逐字重复的 380×370 模态规格,彻底消除包级样式静默覆盖统一引擎的隐患。 - 5 个遗留开关与 1 个裸复选框统一换装为弹簧开关;移除残留的弹窗顶栏宽度覆盖声明;隐藏 6 处原生数字微调箭头。 - **构建门禁新增 CSS 模板字面量护栏**:CSS 中出现反引号或 `${` 会直接中断构建并给出精确定位(此前这类问题只会报出极难排查的语法错误)。 - 端到端场景扩至 15 个,新增样式单一归属的源码级 + 产物级双重断言;本次改造净减 892 行、删除 9 个文件。 ### 2026.09.22.03 - **根治「新版本已发布却提示已是最新」的漏检**: - 版本判据改接 GreasyFork 官方更新分发端点 `update.greasyfork.org/scripts/595575.meta.js`,即用户实际安装渠道的权威版本来源,体积约 2.4KB、开放跨域且无 CDN 缓存。 - 版本探测改为并发多源取最大值,任何单一源缓存陈旧都无法再掩盖新版本。 - 根因:此前首选源 jsDelivr 对分支引用存在 12 小时 CDN 硬缓存(`s-maxage=43200`),返回陈旧版本号即被当作成功结果立即返回、不再回退到新鲜源。 - 补全 `@connect` 白名单(`update.greasyfork.org` / `raw.githubusercontent.com` / `cdn.jsdelivr.net`),修复此前因白名单缺失导致请求被拦截、实际仅剩单一源可用的问题。 - 移除已受 Cloudflare 拦截(403)的 `greasyfork.org/scripts/595575.json` 数据源。 - 新增「多源取最大值」回归场景;端到端场景扩至 14 个。 ### 2026.09.22.02 - **弹幕发送检测回归原作者 `myLastBarrage` 单槽算法**,根治「每条弹幕都被划线并标注 (可能发送失败)」的全量误判;并叠加 uid 优先识别、昵称归一化、`@S`/`@A` 反转义、零回执不判定、零回执熔断、迟到回执自愈六项加固。 - **更新日志抽离为独立数据源 `UpdateLog.js`**,面板三大板块(新增功能 / 改进与修复 / 其它)由渲染层自动生成;同时引入**构建期强校验门禁**:版本条目缺失、板块留空、条目缺 `【分类】` 前缀、出现未声明板块,任一命中即中断构建,从机制上杜绝发版漏写更新日志。 - 删除未接入统一 UI 引擎的 `Update.css`,操作区留白统一为 12px,使 检查更新 / 开始签到 / 立即开始续牌 按钮宽度由 380px 与 360px 收敛为一致的 356px 并与卡片齐边。 - 弹幕检测测试改为加载真实源码 + 真实协议报文;端到端场景扩至 13 个,并新增「三级面板样式单一归属」断言防止独立 CSS 覆盖复发。 ### 2026.09.22.01 - 重构版本检查引擎为四级容灾探测,根治 GreasyFork 接口受 Cloudflare 403 阻断导致的静默误报。 - 完善「检查更新」按钮多态流转:检查更新 / 正在检查 / 已是最新(含版本号)/ 前往更新 / 检查失败点击重试,并补齐对应的颜色反馈。 - 版本更新控制台结构化呈现各模块更新内容,恢复独立板块与红点徽章。 - 端到端集成测试扩至 10 个核心场景。 ### 2026.09.21.01 - **统一 UI 引擎全面落地**:全量模态、弹窗、气泡与开关样式收拢至 `ExPanel.css` 单一来源。 - **扩展功能送礼革新**:彻底淘汰手动数字 ID 输入框,合二为一升级为可点击礼物徽章,接入 5 级大模态双流礼物池即点即选,并恢复礼物/道具与数量的本地记忆持久化。 - **二级 / 三级菜单交互升级**:二级 Dock 支持鼠标滑过即刻展开三级面板,移除移开关闭机制;未展开任何三级菜单时鼠标移出 Dock 自动平滑收拢。 - **修复通用弹窗与小尾巴**:根除 `PostbirdAlertBox` 双层容器嵌套导致的蒙层卡死;把弹幕小尾巴精准锚定到聊天栏【尾】按钮正上方。 ### 2026.09.18.01 - **基于原作者未混淆源码全量重制**:以 clone 自原作者仓库的 `preview` 开发源码为唯一基准,将历史 main 分支的优化成果全量迁入,不再走"反推混淆产物"的路线。 - **一键签到三级控制台**:独立 380×370 面板,5 大日常签到任务可自由勾选并记忆,内嵌实时滚动日志。 - **5 级模态礼物大选择器**:双流礼物池聚合、实时搜索、背包资产直探,专职赋能【背包送礼】。 - **星推任务自动化闭环**:打开活动页、多个直播间签到、指定参赛房间口令弹幕门禁、动态推荐 5 位关注并在 1.8 秒后安全取关,官方 `task/list` 状态机闭环,白名单保护既有关注。 - **清理与修剪**:移除原作者遗留的后台统计与商业推广代码(含一处会静默关闭页面的历史暗桩)、失效的车队系统与"幻神"兜底死重;夜间模式因斗鱼推出官方版而完整移除。 - 构建流水线集成原生 V8 AST 语法核验。 --- ## 原作者时期(小淳) 2021.10.15.01 ~ **2026.06.03.01**,共 **81 个版本**,是原作者小淳及其合作开发者多年的积累。本仓库 fork 自他们的项目,这段历史完整保留在 git 提交记录中。 其中最后一个版本为 **2026.06.03.01**,之后原作者于 2026 年 8 月宣布停更。 > 本文件不对原作者时期的版本内容作逐条复述——那些版本的说明不在本仓库的维护范围内,如需查阅请直接看 git 历史(`git log --until=2026-09-01`),或前往原作者的项目。 --- ## 说明 - 本项目的**当前版本**日志以脚本内「版本更新」面板为准(数据源 `UpdateLog.js`,构建期强制校验)。 - 本文件记录历史,发版时同步追加。 - 更细的提交粒度改动可直接查 `git log`。