Release: v6.5.0 - #8
Merged
Merged
Conversation
改动内容: - 完成单入口 ESM、Composition Root、严格依赖注入、Ports/Adapters、Services、Feature/Integration Runtime 与 HostAdapter 基础 - 增加架构债务、Integration Quality、checkJs、性能预算、Dev Build 和 Browser Smoke 门禁 - 建立 Playwright Node 22 子项目,使用真实站点 origin fixture,并保留 Node 20 根项目兼容 - 补充 12 项 ADR、职责 ownership、兼容迁移与生命周期测试 修改原因: - 为 v6.5 后续 Feature/Contribution 迁移建立可回归、可 bisect 的稳定 checkpoint - 提前固化 URL 信任、宿主 DOM 边界、请求合并和兼容数据契约,避免后续阶段产生隐式耦合 验证: - npm run check 通过:73 个测试文件、470 项测试 - npm run check:browser 通过:本机 Edge,12/12,无浏览器下载 - git diff --check 通过 - codegraph sync 通过
改动内容: - 建立严格 Contribution 依赖注入、HostAdapter 与 Diagnostics 迁移边界 - 将 JavDB、JavBus、AV123、DMM、FC2、JavStore、Wikipedia、翻译与 WebDAV 请求迁入 Integration/Service - 补充本地 Edge Browser Harness、质量门禁、checkJs 覆盖和兼容回归测试 修改原因: - 降低 Feature 对 GM 请求、第三方协议、存储和其他插件实例的直接耦合 - 保持 6.4.1 版本、数据契约和本地无浏览器下载策略 验证: - npm run check 通过(89 个测试文件,518 项测试) - npm run check:browser 通过(13 passed,5 skipped,使用本机 Edge) - git diff --check、codegraph sync 通过 - 根目录与 dist 产物 SHA256 一致
改动内容: - 抽离 FC2 工作区、评论与相关清单共享 UI,Hosted 与 Owned Detail 复用相同面板 - 将 123AV 数据加载与 FC2 工作区编排解耦,删除 123AV 对 Fc2Plugin 的反向依赖 - 将评论过滤与磁力筛选迁入已声明的 Storage/Settings 依赖 - 构建时剥离仅供 checkJs 使用的 JSDoc,保持源码类型信息并满足 bundle 预算 - 更新架构、UI 与回归门禁及相关测试 修改原因: - 逐步消除 Plugin 间双向依赖,并落实 Hosted/Owned Detail 的共享 Panel 边界 - 避免新架构类型注释进入正式用户脚本造成无行为价值的体积增长 验证: - npm run check 通过,89 个测试文件共 518 项测试通过 - npm run check:browser 通过,本机 Edge 13 项通过、5 项按环境跳过 - git diff --check 与 codegraph sync 通过 - 根目录与 dist/JHS.user.js SHA256 一致
改动内容: - 将磁力评分与质量信号抽至 Core,并由 MagnetService 对业务调用提供统一入口 - 移除 FC2 Owned Detail 对 HighlightMagnetPlugin 的评分依赖 - 将磁力高亮与统一离线的全局事件监听登记到 Feature LifecycleScope - 将磁力高亮设置读取迁至声明的 SettingsService 依赖 - 更新相关回归测试与正式构建产物 修改原因: - 纯业务判定不应由 UI Plugin 提供,且全局监听必须可追踪、可释放 验证: - npm run check 通过,89 个测试文件共 518 项测试通过 - npm run check:browser 通过,本机 Edge 13 项通过、5 项按环境跳过 - git diff --check 与 codegraph sync 通过 - 根目录与 dist/JHS.user.js SHA256 一致
改动内容: - 抽离无 UI 依赖的 ListItemReader,统一读取 JavDB/JavBus 列表卡片 - 移除 Blacklist、Task、UnifiedOffline 对 ListPagePlugin 的解析依赖 - 将 ListPage 的 EventBus、MutationObserver、IntersectionObserver 与延迟任务纳入 LifecycleScope - 让 115 匹配和外部站点通过 HostAdapter 定位列表及详情挂载点 - 新增列表卡片契约测试,并扩大 checkJs 覆盖 修改原因: - 列表数据解析属于共享边界,不应由列表 UI 插件充当 Service Locator - 列表相关全局监听和观察器必须可追踪、可释放 验证: - npm run check 通过,90 个测试文件共 521 项测试通过 - npm run check:browser 通过,本机 Edge 13 项通过、5 项按环境跳过 - 架构债务降至 212,import cycle 为 0 - git diff --check 与 codegraph sync 通过 - 根目录与 dist/JHS.user.js SHA256 一致
改动内容: - 新增 HistoryRepository,集中历史列表、活动日志、离线记录与状态变更访问 - History 对话框改用声明注入的 DialogService,并同步回归门禁 - 补充 Repository 契约及现有 History 交互测试注入 修改原因: - 将 History UI 与 StateService、StorageManager 的直接操作隔离,为后续 controller/model 拆分建立稳定边界 - 消除 History 对 Layer 平台实现的直接依赖 验证: - npm run check 通过(91 个测试文件,522 项测试) - npm run check:browser 通过(本机 Edge:13 passed,5 skipped) - codegraph sync、git diff --check 与根/dist 产物哈希一致性检查通过
改动内容: - 新增 StatsRepository,并发读取统计所需的领域快照 - Stats 对话框改用声明注入的 DialogService - 补充 Repository 契约测试并更新 Stats VM 注入 修改原因: - 隔离 Stats UI 对 StorageManager、StateService 和 Layer 实现的直接访问 - 保持现有统计口径和跨功能按钮行为不变 验证: - npm run check 通过(92 个测试文件,523 项测试) - npm run check:browser 通过(本机 Edge:13 passed,5 skipped) - codegraph sync、git diff --check 与根/dist 产物哈希一致性检查通过
改动内容: - Blacklist 与以图搜图对话框改用声明注入的 DialogService - 为两个 Contribution 补充 SERVICE.dialog 依赖声明 - 保持任务、筛选、上传与对话框交互逻辑不变 修改原因: - 继续消除 Feature 对 Layer 平台实现的直接访问 - 让运行时依赖保持显式并受 manifest 校验 验证: - npm run check 通过(92 个测试文件,523 项测试) - npm run check:browser 通过(本机 Edge:13 passed,5 skipped) - codegraph sync、git diff --check 与根/dist 产物哈希一致性检查通过
改动内容: - Top250 登录弹窗改由声明注入的 DialogService 打开和关闭 - 保留既有加密凭证写入行的 architecture fingerprint - 为 discovery.top250 补充 SERVICE.dialog 依赖 修改原因: - 消除 Top250 对 Layer 打开入口的直接依赖 - 避免把既有 localStorage 凭证债务伪装成新位置 验证: - npm run check 通过(92 个测试文件,523 项测试) - codegraph sync、git diff --check 与根/dist 产物哈希一致性检查通过
改动内容: - UnifiedOffline、115 匹配与详情资源操作改用声明注入的 DialogService - 为三个 Contribution 补充 SERVICE.dialog 依赖和回归测试 - Browser Harness 固定阻断网络时的 retry/circuit 设置,消除请求预算时序波动 修改原因: - 继续消除 Feature 对 Layer 平台实现的直接访问 - 保证 deterministic fixture 统计逻辑启动请求,不受后台重试时点影响 验证: - npm run check 通过(92 个测试文件,525 项测试) - npm run check:browser 通过(本机 Edge:13 passed,5 skipped) - JavBus Browser 用例重复三轮,共 18 项通过 - codegraph sync、git diff --check 与根/dist 产物哈希一致性检查通过
改动内容: - NewVideo 工作区、演员编辑、CDN 选择和头像选择统一使用 DialogService - 为 discovery.new-video 声明 SERVICE.dialog 依赖 - 增加源码回归契约,禁止 Layer open/close 回流 修改原因: - 消除 Discovery Feature 对 Layer 平台实现的直接访问 - 保持现有工作区、缓存、演员编辑和任务调度行为不变 验证: - npm run check 通过(92 个测试文件,526 项测试) - npm run check:browser 通过(本机 Edge:13 passed,5 skipped) - codegraph sync、git diff --check 与根/dist 产物哈希一致性检查通过
改动内容: - 扩展 DialogPort 与 DialogService 的 confirm/alert 能力 - 将设置页、差异预览和 WebDAV 备份对话框迁至声明式 DialogService 依赖 - 补充适配器转发测试与浏览器 harness alert stub 修改原因: - 消除设置 Feature 对 layui layer 全局对象的直接依赖 - 保持设置、备份和资源编辑的现有交互行为不变 验证: - npm run check 通过(93 个测试文件,527 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 在现有凭据加密模块中封装加密令牌的检测、写入与删除 - 将 Top250 登录流程迁至凭据边界和已声明的 DialogService - 保持 jhs_appAuthorization key 与原 AES 密文格式不变 - 补充加密本地凭据的往返与删除测试 修改原因: - 消除 Top250 Feature 对 layer 和 localStorage 的直接依赖 - 避免迁移对话框时导致本地存储债务指纹漂移 验证: - npm run check 通过(93 个测试文件,528 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 通过现有 HttpService 封装当前宿主页 HTML 请求 - 将自动翻页、状态导入和演员补录迁至声明式 HTTP 依赖 - 请求绑定 Feature LifecycleScope,并锁定当前 HTTPS origin - 强化 ExternalUrlPolicy 对 expectedOrigin 的初始地址与重定向复验 修改原因: - 消除三处 Feature 对 gmHttp 的直接依赖 - 防止宿主页请求被重定向到未声明的同根域子站 验证: - npm run check 通过(94 个测试文件,530 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 在既有 StoragePort 中增加 legacy local key 的显式访问方法 - 保持 IndexedDB 数据与 localStorage key 为独立 namespace - 将以图识图站点选择、磁力来源选择和标签折叠迁至声明式 StorageService - 补充两个存储 namespace 隔离测试 修改原因: - 消除三组 Feature 对 localStorage 的直接依赖 - 保留现有 key、值格式和用户偏好行为,不触发数据迁移 验证: - npm run check 通过(95 个测试文件,531 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 由 DiagnosticsService 代理旧 HTTP runtime 的熔断与域名统计控制 - 将设置页网络面板迁至声明式 DiagnosticsService - 将缓存查看与清理迁至 StorageService 的 local 兼容通道 - 保持缓存 key、清理范围和显示格式不变 修改原因: - 消除 Settings Feature 对 gmHttp 和 localStorage 的直接依赖 - 避免共线债务在单项迁移时改变指纹位置 验证: - npm run check 通过(95 个测试文件,532 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 将黑名单任务时间读取迁至 StorageService local 兼容通道 - 将三个手动分页请求迁至 HttpService 并绑定 Feature LifecycleScope - 通过当前宿主精确 origin 复验初始地址与重定向 - 补充 JavBus 下一页请求与直连清零回归断言 修改原因: - 消除 Blacklist Feature 对 gmHttp 和 localStorage 的直接依赖 - 保持自动调度器跨镜像容错逻辑不受本次迁移影响 验证: - npm run check 通过(95 个测试文件,532 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 将 AutoPage 的 window scroll listener 登记到 Feature LifecycleScope - 将一秒启动检查 timer 同步纳入 scope 清理 - 补充 scope dispose 后 listener 计数归零与 removeEventListener 断言 修改原因: - 推进未登记 app-global listener 硬门禁 - 防止 Feature 释放后滚动回调和启动 timer 继续访问旧 DOM 验证: - npm run check 通过(95 个测试文件,533 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 将全部 jhs_time 调度 key 迁至 StorageService local 兼容通道 - 将 visibilitychange/pagehide listener 登记到 discovery Feature scope - 将 EventBus unsubscribe 与 clearSchedule 纳入 scope cleanup - 补充 dispose 后两个全局 listener 归零和调度状态回归测试 修改原因: - 消除 Task Feature 对 localStorage 和全局监听 API 的直接依赖 - 防止 Feature 释放后后台 timer 或设置回调继续运行 验证: - npm run check 通过(95 个测试文件,533 项测试) - npm run check:browser 通过(13 passed,5 skipped,本机 Edge,无下载) - git diff --check、codegraph sync 与正式产物哈希一致性检查通过
改动内容: - 通过 StorageService 隔离站点 localStorage 与 Userscript GM 值命名空间 - 由 Feature LifecycleScope 托管授权同步监听和轮询定时器 - 保持既有授权键、来源元数据与失效清理语义,并补充回归测试 修改原因: - 消除 123 云盘功能对平台存储接口和全局监听的直接依赖 - 确保 Feature dispose 后不残留 listener 或 polling work 验证: - npm run check 通过(96 个测试文件,535 项测试) - npm run check:browser 通过(本机 Edge,13 passed,5 skipped) - git diff --check、codegraph sync 与正式双产物 SHA256 一致性检查通过
改动内容: - 将 message、播放器 click 与 timeupdate 监听纳入 Feature LifecycleScope - 让 loopDetector 返回可取消句柄并托管延迟播放器初始化 - 补充 listener、DOM wait 与媒体事件 dispose 回归测试 修改原因: - 避免 JavTrailers Feature 销毁后继续响应全局消息或修改旧播放器 - 使旧 DOM 等待工具能够遵守统一生命周期边界 验证: - npm run check 通过(97 个测试文件,538 项测试) - npm run check:browser 通过(本机 Edge,13 passed,5 skipped) - git diff --check、codegraph sync 与正式双产物 SHA256 一致性检查通过
改动内容: - 新增 pan123 Silver Integration,集中签名、URL trust、解析与提交契约 - 由 OfflineService 桥接 UnifiedOffline,授权 Contribution 仅保留凭证同步职责 - 将 401/403/429 归一为 JhsError 认证与限流错误,并保留 httpTimeout 设置 - 增加脱敏 fixture、契约测试、畸形响应与不可用 Provider 测试 修改原因: - 消除 Feature 对 123 外部 URL、gmHttp、原始响应和签名协议的直接依赖 - 保证认证失败、生命周期取消和 Provider 不可用行为可由 Service 统一处理 验证: - npm run check 通过(99 个测试文件,543 项测试) - npm run check:browser 通过(本机 Edge,13 passed,5 skipped) - Integration quality 13 项通过,架构债务降至 121,ESM 166 模块零循环 - git diff --check、codegraph sync 与正式双产物 SHA256 一致性检查通过
改动内容: - 通过 StorageService 保留 jhs_dmm_video 与 jhs_other_site_dmm 兼容缓存键 - 将 JavDB 预览静音状态统一迁至 SettingsService 布尔 snapshot - 为 JavDB、JavBus 与封面入口声明 Storage/Settings 依赖 - 更新播放审计并补充缓存命名空间回归测试 修改原因: - 消除 DMM 预览链路对 localStorage 的直接访问 - 统一 JavDB/JavBus 播放器静音持久化语义 验证: - npm run check 通过(100 个测试文件,545 项测试) - npm run check:browser 通过(本机 Edge,13 passed,5 skipped) - 架构债务降至 114,ESM 166 模块零循环 - git diff --check、codegraph sync 与正式双产物 SHA256 一致性检查通过
改动内容: - 将头像 CDN 索引从模块导入期读取迁至 Feature handle 初始化 - 通过 StorageService 读取任务时间、视图模式并保存 CDN/视图状态 - 保持 jhs_img_cdn_index 与 jhs_newVideoViewMode 等既有键不变 - 增加 Bootstrap Purity 与声明依赖源码门禁 修改原因: - module import 不应读取 Storage 或依赖浏览器持久化状态 - 消除 NewVideo Feature 对 localStorage 的直接访问 验证: - npm run check 通过(100 个测试文件,546 项测试) - npm run check:browser 通过(本机 Edge,13 passed,5 skipped) - 架构债务降至 108,ESM 166 模块零循环 - git diff --check、codegraph sync 与正式双产物 SHA256 一致性检查通过
改动内容: - 通过 StorageService 读写 jhs_other_site、jhs_other_site_dmm 与 jhs_enabled_sites - 保留并行站点检测写入前重新读取缓存的合并语义 - 为 OtherSite Contribution 声明 StorageService 依赖并补充损坏配置回归测试 修改原因: - 完成 Feature 直接 localStorage 归零 - 保持既有缓存键、启用配置和并发写入兼容性 验证: - npm run check 通过(100 个测试文件,547 项测试) - npm run check:browser 通过(本机 Edge,13 passed,5 skipped) - 架构债务降至 102,ESM 166 模块零循环 - git diff --check、codegraph sync 与正式双产物 SHA256 一致性检查通过
改动内容: - Settings 资源来源测试统一通过声明依赖的 HttpService 发起请求 - 区分 builtin-public 与 custom-public URL 信任策略 - 修复无缓存请求未继承 LifecycleScope AbortSignal 的问题 - 补充请求取消与架构边界回归测试 修改原因: - 消除 SettingPlugin 对 gmHttp 的直接依赖 - 保证诊断请求受 URL Policy 与生命周期统一约束 验证: - npm run check 通过(100 个测试文件,549 项测试) - Browser Smoke 通过(Edge:13 passed,5 skipped) - architecture debt 101,166 个模块无循环依赖 - git diff --check、codegraph sync 与正式产物哈希一致性通过
改动内容: - DMM API 搜索与播放器解析迁入 Silver Integration - MovieIdentityService 增加声明式预览路由 - PreviewVideoPlugin 仅保留兼容缓存与 UI 协调 - 补充候选解析、画质归一化、区域限制和服务路由测试 修改原因: - 消除 Feature 对 gmHttp 和 DMM URL 的直接依赖 - 统一 URL Policy、缓存去重与 LifecycleScope 取消边界 验证: - npm run check 通过(100 个测试文件,554 项测试) - Browser Smoke 通过(Edge:13 passed,5 skipped) - architecture debt 93,166 个模块无循环依赖 - git diff --check、codegraph sync 与正式产物 SHA256 一致性通过
改动内容: - 内建与自定义磁力来源统一通过 scoped HttpService 请求 - 分别执行 builtin-public 与 custom-public URL 信任策略 - GET 使用统一缓存去重,BTSOW POST 明确禁用通用缓存 - 补充请求策略、生命周期和架构边界测试 修改原因: - 消除 MagnetHubPlugin 对 gmHttp 与旧 cachedRequest 的直接依赖 - 让磁力来源请求进入统一安全、取消和诊断边界 验证: - npm run check 通过(101 个测试文件,558 项测试) - Browser Smoke 通过(Edge:13 passed,5 skipped) - architecture debt 88,166 个模块无循环依赖 - git diff --check、codegraph sync 与正式产物 SHA256 一致性通过
改动内容: - 新增 xunlei Silver Integration 与 SubtitleService - 搜索、下载和预览统一使用声明依赖与 LifecycleScope - 归一化字幕契约并转义预览正文中的外部文本 - 复核累计架构迁移后的 bundle 性能基线并记录原因 修改原因: - 消除 DetailPageButtonPlugin 对 gmHttp 和迅雷 URL 的直接依赖 - 防止外部字幕内容未经转义进入 UI 验证: - npm run check 通过(103 个测试文件,565 项测试) - Browser Smoke 通过(Edge:13 passed,5 skipped) - Integration 质量门禁 14 个,architecture debt 84,169 个模块无循环依赖 - git diff --check、codegraph sync 与正式产物 SHA256 一致性通过
改动内容: - 新增 AccountService 并由 JavDB Integration 归一化登录会话 - Top250 登录移除直接 gmHttp、API URL 和设备参数 - mutation/no-cache 请求在 HttpService 中完全跳过 RequestKey - 补充凭据键隔离、登录契约和异常响应测试 修改原因: - 防止查询串凭据参与 RequestKey 计算 - 将账户协议与 Feature UI 解耦并受 URL Policy/LifecycleScope 约束 验证: - npm run check 通过(103 个测试文件,569 项测试) - Browser Smoke 通过(Edge:13 passed,5 skipped) - architecture debt 83,170 个模块无循环依赖 - git diff --check、codegraph sync 与正式产物 SHA256 一致性通过
改动内容: - WebDAV 备份改用 portable key,保留凭证安装级加密与兼容解密 - 修复 NewVideo dismissed、墓碑迁移、Review 默认值、截图独立开关和公共缓存 L1/L2 - 增加冲突 journal 归档、回归测试、Parity Matrix 与人工 Smoke 门禁字段 修改原因: - 消除跨安装恢复、历史污染、设置回退、缓存刷新失效和事务诊断证据丢失风险 验证: - npm run check 通过(154 files / 915 tests) - npm run check:visual 通过(22/22),codegraph sync 与 git diff --check 通过 - check:browser 81 passed / 241 skipped / 2 startup performance baseline failures;check:release-smoke 按预期拒绝占位人工记录 - JHS.user.js SHA-256: 6829f01178809b6e05f682b3cc64bb1c70f20ceeb210ebf693f9264cae0a8669
改动内容: - portable 备份移除安装级凭证,导入时保留目标安装凭证 - 公共缓存 prune 改为分批后台调度,并阻止 clear 后旧响应回填 - 列表刷新加入 coalescing,保证最新 revision 最终提交并补充回归测试 验证: - npm run check:156 个测试文件、924 项测试通过 - npm run check:visual:22/22 通过 - 浏览器 fixture:81 通过、241 跳过;JavDB/JavBus 启动性能预算各 1 项未通过
改动内容: - 完成 HTTP/WebDAV 可接受状态、逻辑熔断统计与 GM 凭证迁移边界 - 完成数据版本 3、命名空间缓存、manifest policy 与 route/surface 契约 - 完成 state journal schema 2、按域恢复、动态撤销与离线历史跨标签锁 - 更新固定 bundle 基线校验、CHANGELOG 与正式构建产物 验证: - npm run check:157 个测试文件、932 项测试通过;静态门禁与构建通过 - npm run check:visual:22 项通过 - 浏览器回归:81 项通过,启动性能 2 项仍超审查上限 - git diff --check 与 codegraph sync 通过;人工 release smoke 仍待真实证据
改动内容: - 修复 Credential、Top250 JWT、FC2 导航与空 movieId 路径 - 统一 Detail Panel 样式并修正状态日志、设置副作用和 idle 调度 - 启用 esbuild 语法与标识符压缩,更新浏览器回归与 26 项视觉基线 验证: - npm run check:942 个 Vitest 测试通过,静态与架构门禁通过 - npm run check:visual:26/26 通过 - npm run check:browser:功能回归通过;JavDB/JavBus 启动性能仍超既定预算,人工 smoke 尚未填写
改动内容: - 引入 Movie Context,绑定 FC2 磁力、离线与状态操作到所属作品;补齐预览层级、云盘设置 Catalog/Binding 与数值规范化。 - 增加跨 Surface 浏览器回归、离线上下文单测、云盘视觉基线,并同步回归断言与构建产物。 验证: - npm run check 通过(158 个文件、951 个测试)。 - npm run check:visual 通过(27 通过、1 跳过)。 - npm run check:browser 保留 2 项启动性能阻断(JavDB/JavBus P50 超审查预算);人工 smoke 尚待完成。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。 - 对应测试在暂存源码副本通过,构建产物随源码重建。
改动内容: - 保存本项现有功能修复及对应回归覆盖。 修改原因: - 为 UI 整改建立可回退的功能基线,保持 6.5 公共行为与版本。 验证: - 暂存差异检查通过。
改动内容:恢复共享回归测试文件原有顺序,保留按缺陷提交的全部断言。修改原因:完成分块暂存后使最终测试文件与已验证工作区一致。验证:各用例已在对应提交副本运行通过,暂存差异检查通过。
改动内容:更新修复日志和用户路径矩阵,记录已完成的弹窗缩放实测。修改原因:旧记录错误地声称脚本尚未安装;DMM 接管、超时及真人 smoke 仍缺证据,继续保留发布阻断。验证:暂存差异检查通过,根目录与 dist 产物 SHA-256 均为 a34ee5d8c7ddadf327024049d9fbb685387ec440b582b22c3efe565074ae6f69。
改动内容与原因:兼容历史布尔设置并在提交前重检开关和生命周期;严格读取 123 密文授权,防止迟到同步覆盖新授权;115 匹配即时启停并阻止徽标误触导航,异常响应不再误报成功。补充对应故障回归,产物由本次暂存源码独立构建。 验证:本次暂存源码构建和 diff 检查通过;最终候选完整单元检查 1042 项通过。浏览器最终候选 160 项通过、1 项 JavBus 性能失败;不声明发布就绪。
改动内容与原因:仅转义来自评论选区、标题、演员与来源规则的动态数据,保留 Utils.q 可信 HTML 布局和原始关键词保存语义。纳入固定 Layer 1.0.9 副本与实际渲染及云盘行为回归;产物由暂存源码构建。 验证:最终候选完整检查 1042 项通过,实际 Layer 验证恶意样例显示为文字且取消不写入;暂存 diff 检查通过。浏览器性能失败与真人验收缺口仍保留。
改动内容与原因:相关清单订阅设置变化,按面板管理独立请求代次;折叠和关闭使迟到分页失效,重开复用已完成内容。FC2 接入清理回调,补充跨标签及失败重试回归,产物由暂存源码构建。 验证:最终候选完整单元检查和相关清单浏览器回归通过;暂存构建与 diff 检查通过。最终候选性能门禁失败不因此解除。
改动内容与原因:复用状态操作组与弹窗外壳,统一增强区域控件、磁力及评论清单面板;修复历史和新作品分页裁切、原生磁力上下文及 Escape 连带关闭问题。补充几何、生命周期、实际 Layer、mock 离线与视觉回归,保留版本和既有接口。 验证:最终源码独立构建产物与工作区完全一致;npm run check 为 167 文件、1042 测试通过;视觉 27 通过、1 跳过;浏览器 160 通过、499 跳过、1 项 JavBus 启动性能失败。真实 Chrome 两次 Escape 顺序通过;codegraph sync 和 diff 检查通过。DMM 与真人 smoke 缺口保留。
改动内容与原因:更新 CHANGELOG 和 6.5 用户路径验收矩阵,区分自动化、Chrome 实测及真人 smoke;保留历史证据对应的产物范围与最新哈希。 验证:单元 1042 项通过,视觉 27 项通过;完整浏览器 160 项通过且 JavBus P50 254.8ms 超过 253ms 上限。DMM 实站与真人 smoke 缺口继续阻断发布,不标记 RC 就绪。
改动内容: - 将 FC2 图片预览限制在所属详情内,按可用尺寸适配并保留半透明背景 - 统一剧照和长缩略图导航,增加 44px 左右按钮、滚轮切图及缩放适配控件 - 修复减少动画模式下缩放失效,并统一查看器互斥、动态层级、焦点与生命周期清理 - 补充固定 Viewer.js 1.11.1 浏览器夹具和回归,重新生成发布脚本 修改原因: - FC2 预览原本脱离详情且强制放大,手机端难以查看和翻页 - CSS 禁用动画后查看器仍等待过渡结束,导致缩放无法进入可用状态 验证: - 对实际暂存版本运行 npm run check:167 文件、1045 项测试通过 - 四种视口的 FC2 浏览器回归 28 项通过,覆盖正常与减少动画模式 - 暂存文件逐一匹配受测副本,git diff --cached --check 通过 - 最新缩放和背景修正尚待安装后实站复验
改动内容:修复榜单原生结果重复、历史详情层级和新作品悬停预览层级问题,并补充对应浏览器回归。 改动内容:重写 6.5.0 Changelog 与发布检查表,移除人工 Tampermonkey 记录脚本、文档、测试和 Release job,保留浏览器、视觉、性能及产物门禁。 修改原因:发布候选需要以可重复的自动检查为准,同时避免旧审计流水和已取消的人工记录继续阻止发布。 验证:npm run check:release 通过,166 个测试文件、1042 项测试通过;浏览器 211 passed、533 skipped;视觉 27 passed、1 skipped;CodeGraph 与 git diff --check 通过。
改动内容: - 修正 FC2 跨界面回归对未创建状态记录的错误判断 - 将启动性能测试改为独立进程和独立浏览器上下文,并分别锁定 Windows Edge 与 GitHub Ubuntu Chromium 基线 - 确认 6.5.0 发布日期并同步发布检查说明 修改原因: - 远端功能回归把缺省 false 状态误判为失败 - 原性能门禁混用了不同浏览器和 runner,且连续样本受到共享上下文污染 验证: - npm run check 通过,166 个测试文件、1042 条测试 - 30 样本启动性能通过,JavDB/JavBus P50 为 209.4/194.7 ms - 功能浏览器回归 209 条通过,视觉回归 27 条通过 - release contract、codegraph sync、git diff --check 与构建产物哈希一致性通过
改动内容: - 核对并更新 Ubuntu 24.04 Chromium 的 18 张 6.5 视觉基线,补齐 FC2 弹窗和云服务面板 - 将 CI 冷启动基线按本次 30 样本实测收紧为 JavDB/JavBus 315 ms - 恢复 CHANGELOG 中误删的 4.4.0 至 3.7.0 历史记录与版本链接 修改原因: - GitHub Actions 使用的 Linux 基线仍对应旧版界面,无法验证 6.5 当前布局 - 临时性能基线高于实测值,不能准确约束后续回退 - 发布日志必须保留既有版本历史 验证: - npm run check:release 通过 - 1042 个单元测试、209 个功能浏览器用例、27 个视觉回归用例通过 - 根目录与 dist 构建产物 SHA256 一致
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
发布内容
发布门禁
npm run check:release通过:1042 个单元测试、209 个功能浏览器用例、27 个视觉回归用例。package.json、package-lock.json、src/main.js、CHANGELOG 与构建产物版本均为 6.5.0。dist/JHS.user.jsSHA256 一致:C63A7E40F0CB673E491A3574DE8343514155123FBDDB3588CD163FDC566D13B9。合并后行为
合并到
main后,CI 会按发布契约自动创建不可覆盖的v6.5.0标签和 GitHub Release。本 PR 仅准备合并,尚未创建标签或发布。