- 优化插入图片src路径必需是http/https开头的URL路径
importSceneSnapshot
、importScene
方法新增可自定义场景的name参数
- 新增方法
refresh()
刷新场景,此功能用于当前场景失效的时候恢复渲染
- 修复连接 websocket 超过 2 秒出现的控制台报错
- 优化 websocket 重连算法
- 修复浮动条“透明”色的样式
- 图形有填充色时,修改光标命中检测算法
- screenshotToCanvasAsync 新增 timeout 参数
- 支持预检测 gateway host
- 新增 onConnection 事件,表示 websocket 已连接,正在下载快照
- 新增 commandWheelToZoom 选项允许 command + 滚轮缩放
- 新增多个备选 API 域名,提升连通性:
api.whiteboard.sd-rtn.com
api.baiban.shengwang.cn
api.whiteboard.rtelink.com
api.netless.link
api.whiteboard.agora.io
- 文本工具栏增加拷贝按钮
- 新增封闭图形元素可以设置填充色
- 新增
memberState.textCompleteToSelector
可以在打完字时自动切到选择工具,类似的选项还有 {rectangle,ellipse,straight,arrow,shape}CompleteToSelector
- 新增
memberState.textSizeOverride
设置新的文本元素使用固定大小而不是继承上一次大小
- 新增事件
onBackgroundError
,当背景图加载失败时会抛出
- 新增方法
screenshotToCanvasAsync()
,会等待目标场景的图片都加载完再调用截图,注意如果有图片加载不完那么它会一直挂起
- 新增属性
room.useNativeClipboard
,启用时使用原生copy paste事件而不是按键捕获
- 增加元素限制,当到达限制时前端会抛出警告和事件
onObjectsLimit
,超出限制时后端会强制踢出用户
- 修复某些环境下 indexedDB 不存在导致的报错
- 修复退出房间时没有销毁某些监听器导致的内存泄漏
- 修复只读模式按 Esc 时的报错
cursorAdapter: false
隐藏内置光标 (激光笔、橡皮擦等)
- 方法
clearUndoHistory()
清空撤销栈
- 白板控制台日志埋点
- 回放模式新增
crops
等接口实现录像剪辑播放
- 新增 memberState
autoSelectPaste
autoSelectDuplicate
,设为 true
后可以在粘贴或者点击浮动工具栏上的拷贝按钮时自动选中新创建出来的元素
joinRoom
添加 optimizeOptions
参数,自定义优化(降帧)策略
room
添加 syncMode
属性,设为 true
则同步会更及时,但是动画会更生硬
- 插入图片添加
crossOrigin
参数,默认自动跨域
- 修复虚线有概率显示错误
- 修复触摸设备上擦除文字工具时陷入异常,不让擦
- 修复极小概率出现进入房间时白屏无报错
- 新增
syncMainView
方法,用于重设复制粘贴元素的位置
- Windows 上 Shift 按键判定有误,导致铅笔变直线后无法恢复
- 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 概念不再需要