Skip to content

feat: upgrade Polkadot.js and align multisig UX with Subscan - #247

Merged
freehere107 merged 2 commits into
masterfrom
codex/multisig-upgrade-release-fixes
Sep 30, 2026
Merged

freehere107 merged 2 commits into
masterfrom
codex/multisig-upgrade-release-fixes

Conversation

@freehere107

@freehere107 freehere107 commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

升级后的多签应用需要适配当前 Polkadot.js 接口,并与 Subscan 的视觉和交互保持一致。本次将依赖升级、UI 调整和发布前发现的功能问题一起修复:例如,链上多签内部执行失败但外层 extrinsic 成功时,现在会显示失败,不再触发成功回调;三成员、阈值四或重复公钥配置会在保存前被拒绝。

变更

  • 升级至 Polkadot.js 17、Vite、TypeScript 5.4 和 Node 20 构建环境,适配 Weight V2、签名扩展、Ledger 类型及链上待处理多签恢复。
  • 统一 Subscan 字体、导航、卡片、按钮和响应式布局;手机端补齐交易参数和历史分页,并兼容元数据 camelCase 与 JSON snake_case 参数名。
  • 创建及导入共用多签校验;识别外层和内部执行失败并避免重复回调;钱包连接使用版本隔离与订阅清理,防止切换后账户串线。
  • 使用 signAsync() 返回的签名交易进行广播和事件匹配;处理订阅回调早于 unsubscribe 返回的情况。广播后 120 秒仍未确认时结束 loading 并提示先查链,不自动重发;事件解码失败或缺少执行结果不再静默完成。
  • 查询失败显示错误及重试入口,无效账户链接显示可恢复的错误页面。
  • CI 与 Docker 镜像构建执行 ESLint、离线回归、类型检查和生产构建;修复 Cypress 钱包测试的跳过与过时选择器,正常发布检查不使用助记词或广播交易。
  • 修复 node-abi 间接引入的 semver 高危版本。

验证

  • npm run check:通过;16 项回归测试全部通过、零跳过,ESLint、TypeScript 和生产构建通过。
  • 提交钩子执行格式化、ESLint 和 Stylelint。
  • 浏览器验证:非法阈值提示、无效地址返回入口、公开链上待处理交易与手机端完整参数;390px 视口无横向溢出。
  • 已做只读链上调用及费用估算检查,未签名或广播交易。

尚需关注

  • 真实扩展钱包签名、Ledger 设备操作及完整链上生命周期尚未验收;Cypress 套件未在本次本地验证中执行。
  • 2026-09-30 生产依赖审计无高危或严重项,仍有 7 项中危和 1 项低危;旧开发工具仍有高危告警。
  • 构建仍有大体积 chunk 与 Sass 弃用提示。本 PR 未部署生产或执行链上交易。

@freehere107
freehere107 merged commit ff2e9cb into master Sep 30, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant