Skip to content

[微信小程序] 真机调试报错 Cannot add property markTimeline, object is not extensible,导致页面无法渲染 #489

Description

@niuwenkui

环境

项目 版本
微信基础库 3.8.12
@tencentcloud/lite-chat 1.6.15
trtc-wx-sdk 1.1.15
@trtc/call-engine-lite-wx 4.0.0
@trtc/calls-uikit-wx-uniapp 4.1.0
微信开发者工具 2.01.2510290
HBuilderX 5.07

问题描述

使用 TUICallKit uni-app 小程序 Demo(TUICallKit-Vue3),HBuilderX 编译后,微信开发者工具真机调试或预览扫码,控制台大量报错:

\
MiniProgramError: Cannot add property markTimeline, object is not extensible
TypeError: Cannot add property markTimeline, object is not extensible
at (common/vendor.js:17526:42)
at t2 (common/vendor.js:17194:5)
at (common/vendor.js:17195:4)
at (common/vendor.js:20352:2)
\\

影响

  • SDK 自身加载成功(TencentCloudLiteChat.VERSION:1.6.15、trtc-wx loaded 1.1.15)
  • 但每个页面模块初始化时都触发 markTimeline 写入失败
  • 最终导致 [addView] pages/index/login not found\,登录页无法渲染,小程序白屏
  • 微信直接使用的原生版 Demo(MiniProgram/wechat-callkit-demo)同样有此问题

初步排查

  • 微信开发者工具将基础库调低至 2.25.0 则正常工作
  • 推测是 TRTC SDK 的 performance/console 对象 polyfill 与新版微信基础库(3.x)不兼容——新版微信冻结了 console/performance 对象,SDK 尝试写入 markTimeline 时报错

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions