14 lines
2.3 KiB
Markdown
14 lines
2.3 KiB
Markdown
# 设备转移弹窗修复 — 2026-10-05
|
|||
|
|
|
||
|
|
用户报告线上“转移使用人”点击无反应。已使用只读导出的线上源码在本地真实 DeviceCard 组件中复现:点击处理正常执行,弹窗进入 DOM,但设备详情样式 `.cp-device-card:has(.cp-page-detail)>:not(.cp-page-detail)` 对同级转移弹窗应用 `display:none!important`。解绑弹窗也受同一规则影响。
|
||
|
|
|
||
|
|
修复仅涉及 `web/src/pages/SaaSWorkspace.tsx` 和 `web/src/components/home/customer-portal.css`:隐藏设备卡片内容时保留嵌套弹窗;打开转移或解绑窗口后自动检查影响;切换目标时清除旧结果并取消旧请求;提交前核对结果的目标编号与当前选择。没有其他可选长者时允许打开窗口并提示先前往长者资料新增使用人。
|
||
|
|
|
||
|
|
真实组件的隔离浏览器回归覆盖:原版隐藏复现、电脑与手机弹窗、自动检查、蓝牙实体确认入口、活动通话阻止、目标切换和迟到响应、无目标提示、解绑窗口、旧设备提交的目标与绑定版本,以及只读角色。API 全部拦截为模拟接口,没有执行真实转移、解绑、配网或设备写入。TypeScript 和生产构建通过。
|
||
|
|
|
||
|
|
初次发布在当前版本检查阶段发现另一个更新已上线,停止后重新只读导出 `0.99.46-rc.pagination-elder1`,将同一两文件修复应用于最新完整源码并重新构建、回归。发布候选为 `0.99.47-rc.device-transfer-fix1`;发布脚本包含基线和容器检查、静态资源完整校验、健康检查及自动 Web 回退。
|
||
|
|
|
||
|
|
证据目录:`E:/Codex/story/.local-evidence/device-transfer-fix-20261005/attempt2/`。`checks.json` 保存回归结果,`source-changes.json` 和两份 diff 保存上线前后的源码变化,`build.log` 保存构建输出。发布状态以该目录的 `deployment.log` 和成功后读取的 `production-receipt.json` 为准。
|
||
|
|
|
||
|
|
已发布 `0.99.47-rc.device-transfer-fix1`。135 个 Web 静态文件经容器回读及公网 SHA-256 校验;新 JavaScript 包含转移窗口、无目标提示及设备确认入口。API/worker readiness、入口页面及运行配置校验通过,其余服务容器 ID 和启动时间保持一致。数据库 schema 74 且 clean,没有执行迁移或写入业务数据。设备实体转移仍需用户选择目标并按提示进行现场确认。
|