跳转至

组件预览数据隔离修复

真实用户在首页搜索组件中出现内置“高等数学A(1)”及示例作业/课件。源头是 PreviewDataProvider 向共享缓存写入示例,并替换模块级学习快照;新增真实组件可在抽屉关闭前读到该缓存,随后保留在 React 状态中。

修复采用 React Context 隔离预览数据:纯函数生成种子集,每个抽屉持有独立只读数据作用域;真实页面、后台快照与异步真实写入继续使用原有缓存。预览数据钩子不订阅真实学习广播、不拉学校接口、不写本地缓存或触发同步。旧浏览器回归驱动需要的全局 fixture API 仅在 DEV 中允许,正式版本调用会拒绝;产品预览不再使用这些 API。

验收:同时存在真实搜索/组件与一个或多个预览,添加组件及关闭抽屉时数据边界保持;预览期间真实刷新成功后的快照与持久化保留;预览 reload 零请求、零广播。使用匿名课程夹具,覆盖 React StrictMode 与中英文切换。类型、相关状态回归和生产构建验证后安排修补包。用户随后明确要求替换 0.11.1 安装包,发布计划调整为保留版本号、Android code 11009、三端统一重构并更新公开标签至相同构建源码。

执行结果

隔离实现、StrictMode 并发与语言验证 9 项、生产边界单元测试、前端生产构建及二级课表 85 项浏览器回归通过。源码修复及三端安装包替换完成,当前 0.11.1 构建源码为 7413291a,Android code 11009。

安装包替换授权

用户已明确要求替换 0.11.1。重建三端并核验后替换 GitHub Release、清华云盘各系统目录、官网校验快照;保留原发布证据。完成后记录实际构建源码、工作流、校验码与渠道结果。

替换结果

GitHub Release、清华云盘三端安装包及清单已替换,公开下载哈希与本地新产物一致;官网使用更新后的校验快照。实际构建、签名和渠道验证见发布报告。旧 0.11.1 需手动重新下载覆盖安装。