- sdk 初始化新增
apiHosts
配置项, 用于配置白板的 API 服务器域名列表,具体见 sdk 初始化注释。
- 加入房间,回放房间,新增
modulesOrigin
配置项,用于配置 白板 modules 数据网址,具体见注释。
- 在窗口失去焦点后,热键的行为异常
- 字体行高出现问题
view.getBoundingRect()
获取某个场景里包含所有元素的矩形
- 提供
NewPencilWritingQuality
选项为新铅笔书写的性能与质量平衡提供更多的可选项
- 新增
screenshotToCanvas
方法,可以将白板内容截图指 canvas
- 在只读模式下,按下 meta 键(macOS 系统)会控制台报错
- 在触摸屏设备上,当手指按下滑动时,部分教具会显示光标
- 可以擦除局部铅笔笔迹的橡皮
pencilEraser
- 在调用
room.setWritable(false)
后,部分未提交服务器的内容会被撤销
- 触摸屏上的 float bar 不可用
- 铅笔笔迹旋转后,外框位置存在异常
- 调整了
InvisiblePlugin
的 API,新增 memberAttributes
属性
room.setMemberState()
某些字段无法保存到本地
- 在解除
HTMLDivElement
绑定后,再绑定后画面无法恢复
- 移动端选择框的六个点过大
- 某些版本的 react 渲染会报错
- 铅笔工具支持旋转、改变颜色、复制、改变上下层级
- 铅笔工具可以画正圆
- 铅笔笔迹放缩时,显示不对
- 多次点击旋转按钮,可能导致目标图形无法点选
- 修改箭头、直线工具的交互方式
- 使用新铅笔工具时,按下 Shift 可以画直线
- 文字工具直接选择并编辑文字(在
room.memberState
中添加 textCanSelectText: true
开启该功能)
- 新铅笔支持画虚线(在
room.memberState
中添加 dottedLine: true
开启该功能)
- 圆形工具,按住 alt / option 可以以起始点为圆型画圆
- Safari 和 iOS 上,部分图形渲染异常
- 断线重连后,撤回与重做功能状态会丢失
- iOS 的浏览器上,在点击 text 时无法弹出虚拟键盘
- 用户在切换成只读模式后再切回来,再写写画画,别人看到他的光标是固定的
- 添加 PPT 内媒体播放时的异常回调
- 动态 PPT 部分括号内的空格合并为一个的问题
- 动态 PPT 部分段落首行缩进消失的问题
- 动态 PPT 多个空格合并为一个的问题
- 动态 PPT 安卓上空格可能消失的问题
- 调用
displayer.fillSceneSnapshot()
的结果看起来被撕裂了
- 在反复调用
setWritable()
时一定概率会报错
- 使用了低版本的
react
显示异常并报错
- 允许关闭新铅笔工具的笔锋。通过在
new WhiteWebSdk({...})
的参数中添加 disableNewPencilStroke: true
来实现。
- 使用
path
获取场景信息。通过 room.getScene(path)
或 player.getScene(path)
。
- 按下 Shift 限制圆、矩形比例的功能失效了。
- 将文字放缩之后,继续编辑文字,文字可能会恢复到放缩前的大小。
- 刚加入房间时,如果房间已经有内容,可能显示不全。
- 绘制图形时,偶尔部分画面会闪烁。
- 断线重连后,会发生内存泄漏。
- 在 Safari 浏览器中调用
insertText
可能无法顺利插入文字
- 新增
disableTextOperations
以关闭 insertText
与 updateText
操作权限
- 房间存储信息过多时,客户端断连后可能难以重连成功。
- 将
disableCurveAnimes
的默认值改为 true
- 修复在放缩、移动视角后,画面可能出现偏移、重印的问题
displayer.createScenesCallback
可以监听特定地址下场景组内子场景、子场景组的变化
- canvas 有时会占用过多内存
- iPad 的黑夜模式下,画面会出现细小的白色网格线
- 在黑夜模式下,浮动条的字体底色显示不自然
- redo、undo 相关的回调有时不会调用
- 多窗口模式下,有时会绘制到其他的窗口
- 多窗口模式下,调用
room.setWritable(false)
可能后会报错
- 从只读模式切到可写模式,
room.state.memberState
有时无法及时更新
- 使用矩形工具快速拉扯矩形,可能出现矩形的残影并闪烁
- 使用文字工具互动时,通过浮动条他人输入的文字格式时,文字的尺寸可能会缩短
- 在 Safari 浏览器中,某些情况下,白板尺寸会反复变化
- 新增
room.updateSelectedText
方法
- 新增
view.setSceneIndex
方法
- 图片支持旋转。该功能可以通过
disableRotation
关闭。
- 插入文字、修改文字 API:
insertText
、updateText
、updateSelectedText
。
- 在主动调用
disconnect()
或 setWritable(false)
后,只有当待提交消息全部提交成功后才令 Promise 成功。
- 调整多 view 模式
- 浮动条交互优化
- 铅笔工具添加补间动画,让动画更流畅
- 加入房间时报不相关的错误
- 重新连后
room.state.memberState
可能无法恢复
room.updateTextFontSize
过期,用 room.updateSelectedText
代替
room.customInput
过期
views.writableView
过期,整个 Writable View 概念不再需要
- 快速拖动矩形工具,一定概率下,边缘会出现矩形的一部分痕迹,并伴随着闪烁
- 多窗口模式下,一定概率下,窗口中的白板会反复调整尺寸
- 在 iOS 和 Android 上一定概率下,会出现网格状条纹
- canvas 有时会崩溃
- 单个组件报错时,将隐藏报错组件,不连带导致整个房间无法渲染
- 加入房间后立即获取
memberState
,其值为初始值的缺陷
- 在本地保留
memberState
的状态,使之即使断线重连或刷新依然不被初始化
- 在浮动条中修改文字格式,其状态能保留
- 部分时候获取的
room.state.memberState
为 undefined
- 在浮动条中修改字号之后,新创建的文字会以之前修改的字号为准
- 为
joinRoom
新增参数 disablePencilWrittingLimitFrequency
。可用于关闭绘制笔迹时为了提高性能而进行的限频
- 为
addMagixEventListener
新增第三参数 options
fireSelfEventAfterCommit
参数用于使自己发送的事件只有被服务器确认提交之后才回调
- 特定情况下,房间初始化或调整场景中组件顺序后,渲染会 crash
- 使用抓手工具时
onCameraUpdatedByDevice
不会触发
- 动态 PPT 有母版动画时无法翻页的问题
- 动态 PPT 部分可点击的元素点击无效的问题
- 在加入房间时,必须传入
uid
字段
- 为
View
新增 onCameraUpdatedByDevice
回调
- 通过
disableMagixEventDispatchLimit
字段来禁止限制 MagixEvent 的发送频率限制
- 进一步优化书写体验
- 调整图片为默认固定比例放缩
player.seekToProgressTime
会返回 promise
- 在加入房间的一瞬间调用
setWritable(false
会造成房间状态异常
- 粘贴复制的内容时,可能粘贴出多份
- 更新
view.divElement
之后,画面显示异常
type MemberState
中的 pencilOptions
字段
type BroadcastState
中的 broadcasterInformation
字段
type RoomState
中的 zoomScale
字段
interface Player
中的 scheduleTime
字段
interface Player
中的 seekToScheduleTime
方法
- 动态 PPT 支持动作按钮跳转
- 动态 PPT 支持母版动画
- 动态 PPT 组中的图片位置可能偏移的问题
- 动态 PPT 修复部分样式读取失败导致白屏问题
- 动态 PPT 修复部分文字旋转角度和颜色错误问题
- 动态 PPT 修复有动画的元素可能不出现的问题
- 动态 PPT 修复文字动画表现不正确问题
room.state.roomMembers
每个元素可能出现两次
- 切换到可写模式时,某些
room.state
字段无法触发 MobX
的 reaction
- 自定义输入源不起作用
- 切换到抓手工具后,光标无法切回来
- 使用 MobX 模式时,可以监听 observed object 的 key 的增减
- 通过 API 修改图片锁定状态、调整组建层级关系、调整文字字体大小
- 自定义事件的
payload
支持 ArrayBuffer
- 对书写进行进一步的性能优化
- 优化了书写笔迹的形态
- 优化了对断线状态的感知
- 橡皮擦在 PC 端点选只删除选中的最上层组件
- text 被放缩后的异常状态
- 快速拖动橡皮擦,区域删除的视觉效果不见了
- 修改 invisible plugin 时,如果将原
attributes
传入新 attributes
参数会报错
- 部分浏览器和设备在窗口尺寸发生变化后,视角有异常
- 动态 PPT 动画返回到上一页表现错误
- 动态 PPT 带动画的文本框可能镜像翻转的问题
- 动态 PPT 支持段动画
- 动态 PPT 支持字动画
- 动态 PPT 支持全部的表格预设样式
- 动态 PPT 段间距可能不正常的问题
- 动态 PPT 文本分栏无效的问题
- 动态 PPT 使用背景填充时显示不正确的问题
- 动态 PPT 悬挂缩进异常的问题
- 浮动条在 text 编辑状态下,禁止按按钮删除 text
- 浮动条在操作时不会改变位置
- 断线重连后,有的用户的光标会消失
- 断线重连后,部分插件的状态会混乱
- 抓手工具不受
cameraBound
影响
- 在高分辨率下,视角跟随可能有几个像素的误差
- text 对于从右往左书写的文字(如阿拉伯文)的展示异常
- 从该版本开始,会同步发布一个构造为 esm 的版本,名为
white-web-sdk-esm
- 部分时候加入房间时会一直卡在
connecting
状态。现在加入超时判定
- 使用
LegacyPpt
在海外使用时的部分问题
- 动态 PPT 动画回退时展示不正确的问题
- 动态 PPT 文字编号可能错误的问题
- 动态 PPT 转换后公式可能显示不全的问题
- 动态 PPT 部分换行不正确的问题
- 动态 PPT 支持反向动画
- 动态 PPT 支持纵向排版
- 动态 PPT 动画播放 bug
- 动态 PPT 表格高度异常问题
- 动态 PPT 支持部分旧版本的 office 公式编辑器
- 动态 PPT 支持母版隐藏背景图形功能
- 动态 PPT 占位符图片没有展示的问题
- 动态 PPT 部分形状绘制错误的问题
- 动态 PPT 排版问题
- 动态 PPT 触发器可能无法点击的问题
- 动态 PPT 图片透明度过大问题
- SDK 代码在 uglify-js 混淆后的语义可能和之前的不一样
- 在改变场景时打印日志
- 动态 PPT 动画播放时性能优化
- 动态 PPT 图片支持特效和颜色编辑
- 动态 PPT 支持预览功能
- 部分时候调整视角,白板清晰度会异常
- 动态 PPT 表格高度不正确的问题
- redo、undo 的部分异常现象
- text 输入框的异常现象
- 若干控制台可能打印出的报错
- 动态 PPT 线条上箭头过大的问题
- 动态 PPT 反复切换时,字体混乱的问题
- 兼容缺少 tablestyle.xml 的动态 PPT 的解析
- 特殊情况下,建连失败并报错
magix connect failed
的问题
- 动态 PPT 支持加载服务器端排版时,产生的裁剪字体
- 默认开启动态 PPT 的
useServerWrap
参数
- 将
room.syncBlockTimstamp
改为 room.syncBlockTimestamp
- 用户设备的系统时间不准时,实时房间的延迟会表现出异常。
- 动态 PPT 支持图片透明度设置
- 动态 PPT 支持 smartArt 展示为图片(但不支持 smartArt 动画)
- 动态 PPT 支持图表
- 调用
room.insertPlugin
时的 selectable
字段不起作用
- 动态 PPT 部分元素内容缺失会导致的渲染失败
- 动态 PPT 的画笔可能会失效的问题
- 支持了切换到
text
和 clicker
教具的快捷键
- 使用预览 API,预览同一页内容,音视频播放条不显示
- 部分情况下
room.state.cameraState
更新不及时
- 回放录像时频繁调用
seek
方法一定概率会出现异常情况
- 部分情况下,文字教的编辑模式和非编辑模式的切换不及时
- 提高动态 PPT 的颜色兼容性
- 优化动态 PPT 分散对齐、两端对齐
- 优化动态 PPT 文本缩进同时存在时的显示处理
- 新增
room.syncBlockTimstamp
方法
- 新增
room.customInput
自定义输入源
InvisiblePlugin
部分状态的异常行为
- 放大或缩小视角之后,文字的位置可能错位
- 有时其他人的本该消失的光标会再度出现
- 某些低版本浏览器下,canvas 渲染引擎绘制错误图像
- 动态 PPT 出现动画和消失动画连接时会导致图形不显示的问题
- 动态 PPT 部分动画和公式不识别时导致的白屏问题
- 动态 PPT 部分没有预设的图形会造成白屏的问题
- 在支持 es6 的浏览器中有时依然会错误地代理 Symbol 对象
- 铅笔工具绘制的笔迹的某些视觉问题
- 三角形、菱形、五角星、备注气泡工具
- 浮动条新增「图层」按钮,可以置顶 / 置底图片
- 浮动条新增「复刻」按钮
- 新配置项
disableOthersSelectingBox
以隐藏其他人的选择框
- 插入图片时设置
uniformScale: true
可令图片只能被等比放缩
- 支持使用服务器端换行引擎排版结果
- 优化了浮动条的图标,让其能更快地加载出来
- 使用文字工具创建新文字后,不会自动切换到选择工具
- 回放播放器在房间可写用户全部离开房间时,如果有 PPT,则自动聚焦在 PPT 上
- 有时 preview 中看不到任何内容
- 部分高亮选择器的层级渲染错误
- 拖动物体时判定范围可能发生错误
- 渲染矩形时,有时四个角会在圆角、直角之间来回切换
- 内部组件渲染出错,导致动态 PPT 整体不可见
- 优化动态 PPT 中音视频显示处理
- 优化动态 PPT 中音视频日志格式与内容
- 动态 PPT array component key 重复的报错问题
- 动态 PPT Android 5 和 iOS9 以下版本播放音频报错问题
- 动态 PPT 表格无边框时报错问题
- 房间内有文字时,以只读模式加入房间,文字显示会出现异常
- 动态 PPT 中段落最后一个字可能会重叠的问题
- 在某些罕见的的情况下,可能会误把读写权限的计量上报成只读权限
- 回放时跳转,可能导致播放器永远卡在
Buffering
状态
- 回放时,有时如果跳转播放进度,会错误地进入
Ended
状态
- 在选择了某些组件时,拖动特定组件有时会误判
player.isPlayable
也需要支持杭州之外的数据中心
- 为
sceneState
添加 sceneName
、contextPath
字段
- PPT 转换添加
currentStep
状态回调字段
- invisible plugin
- 为
room
、player
新增 enableWriteNow
字段,以表明当前是否可写
- 为
room
、player
的 state
新增 cameraState
字段,以表示当前镜头相关的信息
- 新增回调函数
onEnableWriteNowChanged
以监听 enableWriteNow
的变化
- 在
onRoomStateChanged
、onPlayerStateChanged
中新增 cameraState
的变化回调
player
在 buffering
状态下调用 play
方法,有时无法播放,且伴随状态会被锁死
- 在 Safari 上拖动被选中的组件,白板有时会间歇性闪烁
- 修复了 2.9.15 版本在加入房间时设置
isWritable: false
,之后,无法调用 room.setWritable(true)
- 使用 Reader 角色的
roomToken
无法加入房间
- 因网络问题断开的角色,在离开房间之后,光标可能持续一段时间
- 选择工具选中物品后,按下 Shift 键后行为异常
- 在调整组建大小后,该行为无法被撤回
- 删除选中 Plugin 之后,选择边框依然留在场景中
- 引入白板后,其他
textarea
和 input
的部分按键被拦截
- 自动调整尺寸,无需调用
refreshViewSize
方法
canUndoSteps
、canRedoSteps
变化可以被监听
- 回放时频繁拖动进度条,某些笔迹会显示在不该出现的位置
room.scenePreview
方法支持 PPT preview
- native 端动态 PPT 翻页后媒体仍然在播放的 bug
- 切换教具时,有时光标显示有延迟
- 有的房间录像播放结果不符合预期
- 动态 PPT 当文本之前缩进设置为 0 时缩进显示不正确
- 场景截图返回图片 URL
- Global State 支持删除字段
- 新的 PPT 转换 API(支持 PPT preview)
- css 文件包含在 js 文件中,不再需要引入 css 文件
- 插件回放时能能得知播放倍率和播放进度
- 动态 PPT 返回前一页文字有时会消失
- 动态 PPT 部分元素会被视频遮挡
- 动态 PPT 部分文本框渲染时崩溃
- 撤回、重做展示步骤
- 在加入房间时加入
disalbeCameraTransform
- 教具名改为枚举类型
room.state
和 player.state
可以配置成 MobX 的 observable 对象。
room.callbacks
和 player.callbacks
可以注册新监听器。
onScheduleTimeChanged
回调被 onProgressTimeChanged
代替。
- 部分高版本 react 下使用 TypeScript 编译无法通过。
- selector 选择多个物品后,选择框与 highlight 框位置无法重合。
- 有时 canvas 显示的尺寸与实际不符
- 特定时段的网络不可用可能会导致网络恢复后,服务依然不可用。
- 在 Safari 上橡皮快速拖动,无法显示擦除范围。
该版本有 API 变动,若从低版本升级到此版本及以上版本,建议参考《2.9.0 迁移指南》
- 默认禁止用铅笔画点
- 快速拖动橡皮时,橡皮会变成范围删除
- 某些时候,以只读模式加入房间后,进行设备操作会在 Console 报错
该版本有 API 变动,若从低版本升级到此版本及以上版本,建议参考《2.8.0 迁移指南》。
- 不兼容改动:该版本初始化时,必须增加一个 APP identitier 参数,通过 console 获取对应账号的 App Identifier。改动见《2.8.0 迁移指南》。
- canvas 模式下,两个用户同时画线,其中一个人的笔迹无法显示完整的缺陷。
- 部分情况下,笔迹无法用橡皮擦除的缺陷。
- 第二个主播进入房间时,设置了 isWritable=false 的用户无法跟随新主播的缺陷。
- 进度条会被其他元素覆盖的缺陷。
- 视频不能占满元素的缺陷。
- 用户在音频结束后无法重新播放的缺陷。
- 动态 ppt 音视频部分用户不能正确收到播放信息。
- canvas 模式下若干显示错误。
- 动态 PPT 修复在 iOS 下换行不正确缺陷。
- canvas 模式下,Safari 浏览器无法渲染图片的问题。
- 动态 PPT 用动画音频播放时部分用户听不到声音的问题。
- 动态 PPT 转换音频是空字符串时会转换失败的问题。
- 动态 PPT 播放音频时闪烁问题。
- 刚进入房间时,光标依然是默认光标的问题。
- 文字没有指定字号报错问题。
- 侧边栏播放音频问题。
- 媒体切换页面时重新播放问题。
- 在组合内的媒体无法播放问题。
- 初始化参数
rejectWhenReadonlyErrorLevel
。
- 设置
disableBezier: true
之后无法以只读模式进入房间的问题。
- 房间有主播时,改变白板尺寸,无法跟踪视觉矩形的缺陷。
- 光标适配器 onMovedCursor 回调方法。
- 在自定义事件回调中进行修改房间状态的操作会报错。
- 在只读模式下视角的若干异常问题。
- canvas 渲染模式(beta 版,默认不开启)。
- 实时房间有了只读模式。
- 客户端突发的网络质量变差时,产生大量无效请求的缺陷。
*.d.ts
文件不可用的缺陷。
- 关闭 WebSocket 可能在控制台报错的缺陷。
- 当客户端因网络问题,进入异常后,会自动重连以恢复正常状态。
- 在 onLoadFirstFrame 被回调之前,Player 的某些方法无法被调用,某些成员无法被修改。
urlInterrupter
不起作用的问题。
- 抓手工具的一些异常行为。
- 获取房间所有场景的 API。
- 判断特定地址是场景或场景组的 API。
- 动态 PPT 点击动画。
- 等比例缩放ppt至满屏API (scalePptToFit)。
- 优化了动态 PPT 的加载过程,优化的渲染性能。
- 可以禁止橡皮擦除图片。
- 回放时首帧存在快进的问题。
- 文字教具在不同端使用不同字体时,造成的文字截断问题。
- Surface 设备下,图形编辑点错位问题。
- 优化了动态 PPT 文字排版。
- 优化了鼠标事件处理逻辑。
- 动态 PPT 支持文字上下标,修改部分图片无法渲染问题。
- 修改窗口大小时,视角转化存在问题。
- 截图在特定设备上截不全的缺陷。
- 矩形工具的若干缺陷。
- 房间有主播时,新进房间的用户的白板看不到任何东西。
- 白板排版的缺陷。
- 兼容 vue start-kit 下白板错位问题。
- 无法断线重连的缺陷。
- 动态 PPT 排版的若干缺陷。
- 动态 PPT 排版渲染上的一些缺陷。
- 加入房间时有时找不到教具的缺陷。
- 初始化视角可能失败的缺陷。
- 动态 PPT 的一些文字排版的缺陷。
- 动态 PPT 支持多媒体播放。
- 动态 PPT 支持更多的动画。
- 支持主动调整视角。
- 支持为动态 PPT 自定义字体文件。
- 支持禁止镜头、禁止设备输入。
- 在 beta 版录制的回放时 PPT 的尺寸错误。
- Preview 的展示区域不会随着屏幕 scale 变化而变化。