Skip to content

Releases: smartdoca/sheet

v0.2.15

Choose a tag to compare

@github-actions github-actions released this 29 Oct 15:51
48da01b

0.2.15 工具栏文字点击与冻结单元格编辑修复

双行工具栏的“换行”“合并”文字现在位于原生按钮内部,点击图标、文字和按钮间隙执行相同动作;窄屏折叠菜单也使用同一按钮。保留原生选区、焦点、只读和编辑中禁用规则,没有新增事件代理或宿主绑定。

Univer 0.25.1 在开始单元格编辑时,按冻结行列数量减索引来滚动;冻结行高 180、普通行高 30 时,会把可滚动区顶部的目标向上移 150px,遮在冻结行下面。现在在原生单格 scroll-to-range 完成后、草稿定位之前,根据骨架累计行高/列宽和实际偏移,校正被遮挡的轴。隐藏尺寸自然计入累计值,50%/100%/150% 使用同一原生坐标计算。已可见、冻结区内、无冻结及多格导航保留原生行为;监听随默认运行时释放。

修复不改变单元格内容、尺寸、选区、撤销或保存语义,不新增网络、存储或兼容适配。公开 API、exports、依赖和 CSS 保持 0.2.14;model/yjs/preferences/xlsx 八个 JS 运行时逐字节一致。schema 6、永久锚点、baseline、epoch、checkpoint、pending 更新、既有历史读取和默认尺寸规则保持不变。

177 项源码测试通过,1 项既有可选性能测试跳过;TypeScript 与五入口 ESM/CJS/DTS 构建通过。实际打包运行时完成 16 组尺寸/冻结/缩放场景,覆盖 48 次双击、F2、直接键入和 48 次只读阻止检查,草稿可继续输入并取消,零共享写入且不重建编辑器。隐藏行列 150% 场景空闲 157.981 秒仍为零写入,卸载和控制台检查通过。双页验收覆盖文字换行、保留内容的合并、窄屏、只读、正常输入及各自撤销/重做,远端无回声。正式包回下载记录位于 artifacts/verification/release-0.2.15/。

宿主升级官方 npm @smartdoca/sheet@0.2.15 后重新构建即可,无新增 props 或宿主滚动补丁。本次不修改 Doca 源码、依赖或锁文件;编译 Doca 的最终集成由宿主任务完成。Safari/Firefox 未验收。默认测试命令会扫描 ignored artifacts 中预期旧筛选故障存在的历史复现,发布门槛沿用受版本控制的 src 测试。

安装:

npm install @smartdoca/sheet@0.2.15

变更:PR #20。宿主使用正式 npm 版本,无新增 props 或本地补丁。

v0.2.14

Choose a tag to compare

@github-actions github-actions released this 28 Oct 00:04
39c175a

0.2.14 评论区域临时背景

新增 SpreadsheetEditorProps.commentHighlightAnchor?: SpreadsheetCommentAnchor | null。宿主传入当前稳定评论锚点显示半透明黄色背景,置空或省略即可清除。支持单格、空白区域及排序拆分后的多个矩形;在编辑和只读模式下跟随隐藏行列、滚动、缩放和冻结分区。已删除、失效或其他 epoch 的目标不显示。

背景使用原生视图扩展,位于单元格填充之上、文字和边框之下。仅设置属性不改变选区或滚动;宿主可单独调用 revealCommentAnchor 定位。commentMarkers 仍负责标记与点击,activeCommentId 仍负责活动边框;背景独立受控。宿主决定候选评论、时长和 ACL,在超时、关闭、解决或撤权时清除。接法与 1500ms 宿主定时器示例见 examples/doca-comments.tsx。

不修改单元格样式、撤销、快照、Yjs 或浏览器存储,不新增传输或持久化。当前协同会话的 resolveCellAnchorRanges 负责解析当前 version-4 锚点;没有旧格式读取或协议适配。schema 6、baseline、epoch、checkpoint、pending 更新及既有历史读取规则不变。公开 exports、依赖和 CSS 保持 0.2.13;model/yjs/xlsx/preferences 八个运行时文件逐字节一致。0.2.13 的内嵌提示显示修复包含在此版本中。

验证包括 TypeScript、五入口 ESM/CJS/DTS 构建、173 项源码测试通过(1 项既有可选性能测试跳过),以及实际编译包的单格/区域/多段、空白锚点点击、现有填充恢复、隐藏行列、只读、滚动、150% 缩放、冻结裁剪及清除。保持同一锚点进行原生排序撤销/重做时背景正确跟随。候选验收空闲 96.571 秒无新增内容写入,卸载释放运行时,控制台无警告或错误。发布后正式 registry 包的回下载验收另记于 artifacts/verification/release-0.2.14/。

宿主只使用官方 npm 版本;本次不修改 Doca 源码、依赖或锁文件。Safari/Firefox、原生打印和生产宿主集成未在子包验收范围内。回退保留原有内容、锚点和后续写入;上一版没有此可选背景属性。默认测试命令会扫描 ignored artifacts 中预期旧筛选故障仍存在的历史复现,发布门槛沿用受版本控制的 src 测试。

安装:

npm install @smartdoca/sheet@0.2.14

变更:PR #19。宿主使用正式 npm 版本;无需本地压缩包或补丁。

v0.2.13

Choose a tag to compare

@smartdoca smartdoca released this 27 Oct 17:15
5accefa

0.2.13 嵌入表格的提示显示修复

原生错误提示此前固定在浏览器视口顶部,嵌入带有隔离层叠上下文和较高标题栏的宿主时,提示可能被遮挡。现在提示定位在当前表格编辑器内部,保留原生内容、关闭、过渡和停留时间。无需修改宿主 API。

实际候选 tgz 的隔离双页验收覆盖普通复制/粘贴、越界拒绝且零内容写入、剪切失败后换位置重试、单步撤销/重做、checkpoint 恢复和远端零回声。新增断言检查动画结束后的提示四角命中及编辑器内完整显示;原 npm 0.2.12 复现失败,候选包通过,420px 窄容器也通过。候选双页空闲 101.744 秒无内容提交,控制台警告和错误为空。可复用 examples/features-acceptance.tsx 的 &embedded 夹具与 tests/clipboard-browser.cua.js。

发布前 yarn test src:171 项通过,1 项既有可选性能测试跳过;yarn build 验证五个入口的 ESM/CJS/DTS。sheet.mutation.re-calc-filter 恢复顺序修复及原生筛选回归测试保留。默认测试命令还会扫描 ignored artifacts 内预期旧故障存在的复现文件,受版本控制的 src 测试作为发布门槛。

运行时只改变 CSS;公开 API、exports、依赖、JavaScript 和声明与 0.2.12 保持一致。schema 6、baseline、epoch、checkpoint、持久化与协同协议保持不变。未修改 Doca 依赖或用户文档;最终宿主集成、Safari/Firefox 和权限拒绝场景未在本次验收范围内。保留 0.2.12 作为回退版本。

安装:

npm install @smartdoca/sheet@0.2.13

变更:PR #18。Release 附件为 npm 同一归档及 SHA256 校验文件。

v0.2.12

Choose a tag to compare

@github-actions github-actions released this 23 Oct 12:33
c7314c8

What's Changed

  • Fix collaborative filter range persistence for 0.2.12 by @smartdoca in #17

Full Changelog: v0.2.11...v0.2.12

v0.2.11

Choose a tag to compare

@smartdoca smartdoca released this 23 Oct 04:55
01bb1ed

0.2.11 单元格默认尺寸与个人缩放

用户确认右下角默认仍为 100%,调整的是 100% 对应的单元格大小。新建工作表行高/列宽从 19.8/79.2 增加 10% 至 21.78/87.12。用户同时明确批准未记录默认尺寸的历史 CRDT 附加工作表与虚拟恢复表采用新默认。不可变 baseline 的已保存尺寸、字段缺省与显式行列尺寸保留,原 seed/checkpoint/update 不回填或迁移;schema 6、epoch、永久锚点及共享行列调整/撤销语义不变。回退旧包可能恢复旧的缺省显示,必须保留后续编辑。

新增 SpreadsheetEditorProps.viewPreferences?: SpreadsheetViewPreferences 和 onViewPreferencesChange?: (value: SpreadsheetViewPreferences) => void。类型为 {zoomRatio:number},有限值 0.1~4,1 为 100%。比例按整篇文档应用,跨 worksheet 切换、未来新增、远端投影、readonly 与 resize 保留。原生滑块、加减、菜单和滚轮成功调整后回调;应用 props 不回调、不重建会话,草稿中的宿主更新等待编辑结束。包提供的 snapshot/save/export 恢复原有 zoom 字段(含缺省),个人比例不进入正文、undo、outbox 或自动保存。

独立入口 @smartdoca/sheet/preferences 导出类型与纯校验函数 isSpreadsheetViewPreferences,根入口也导出二者。依赖不变。包不读取身份或浏览器缓存;Doca 宿主负责默认 100% 及按 origin/账号/文档隔离的 version 1 记录,无记录不写,未知/坏记录保留拒用且不覆盖,失败仅本次视图生效,回退停读并保留记录。实际宿主接入按正式 npm 归档另行验收。

隔离包验收覆盖 TypeScript、五入口 ESM/CJS/DTS 构建、166 项测试(另有一项原有可选性能测试跳过),以及真实 Chrome 的原生滑块拖拽、菜单、加减、刷新恢复、账号/文档隔离示例、受控跨页更新、readonly、resize、worksheet 新增/撤销/重做和远端无回声。稳定渲染后的快照与偏好隔离检查通过;初始化原生派生自动行高可能先更新运行时 rowData,不进入 Yjs。124 秒空闲检查保持零内容事务、零回调、原 baseline/update bytes 不变、无浏览器/编辑器错误。

保留真实 rc.19 fixture 的原始文件与归档来源,验证历史附加工作表显示新默认,明确 31/119 baseline 和未设置尺寸的 baseline 字段保留,checkpoint 恢复及虚拟恢复无写入。model/Yjs 运行时相对 0.2.10 只改变获批默认尺寸常量;XLSX 运行时字节不变。新包提供独立隔离宿主示例与 CUA helper;这不是生产 Doca 身份、权限或 durable ACK 服务的替代验证。验收元数据、截图和发布归档在 artifacts/view-preferences-0.2.11/,不修改用户文档或 Doca 依赖/lock/dist。

v0.2.10

Choose a tag to compare

@smartdoca smartdoca released this 23 Oct 00:14
0fbc756

0.2.10 原生卸载与弹窗焦点

关闭历史表格预览时,Univer 0.25.1 验证提示对悬停位置的 100ms debounce 会在流完成时立即刷新最后一个位置;此时工作簿可能已移除,导致 null.getSheetBySheetId。默认运行时现在先通过原生悬停失效操作清空位置,再执行销毁。快速卸载还暴露原生自动行高服务遗留的 idle 回调,本版在其渲染服务销毁时取消回调并释放待处理骨架。

链接弹窗准备好原生草稿后,原生编辑器仍可能通过延迟重试、activate、sync 或选区更新抢回焦点,使显示文字或 URL 实际进入单元格草稿。本版在原生文本服务实例上管理临时弹窗焦点控制权,覆盖以上入口;显式焦点交回、插入、取消、权限撤销和卸载按生命周期释放,不用等待或反复填充来掩盖问题。文档选择器沿用同一控制权。

业务单元格覆盖层同时增加活动运行时检查与工作簿空值防护,取消旧帧和命令监听。公开 API、exports、数据格式、Yjs schema、epoch、checkpoint 和已有文档均不改变。model、Yjs 与 XLSX 六个 ESM/CJS 运行时文件与 0.2.9 逐字节一致;公开声明等价,构建产物仅有联合类型成员顺序及引用哈希变化。

隔离 Chrome 使用实际 0.2.9 包重现悬停卸载和焦点抢占;冻结的 0.2.10 候选在全新消费目录通过十轮待处理悬停后立即卸载、同容器切换、原生 focus/activate/sync 期间弹窗键入、取消及原生草稿继续输入。双页通过取消/关闭/Esc/外部关闭、链接与文档插入、远端无回声、撤销重做、checkpoint 恢复和只读。90 秒空闲零内容写入,浏览器错误与警告为空。TypeScript、四入口 ESM/CJS/DTS 构建及 157 项测试通过,原有一项可选性能测试跳过。测试只用隔离数据,原失败记录保留。

发布源:0fbc756b0127dc0d5996caa8d84f5d0c3655b7bf(PR #14)。包 SHA-256:42fe7041a4a933fdd89c76b62ebdf16b4ca4bea13585edfe5fdd924648908c79。Doca 宿主的独立组合验收由宿主项目记录,此处不声明宿主全站验收或 GitHub Actions 通过。

v0.2.9

Choose a tag to compare

@smartdoca smartdoca released this 22 Oct 15:14
049542c

0.2.9 下拉列表删除键

在网格选中下拉单元格后按 Delete / 退格,之前只清空了所选值,验证规则仍在,因此留下空白控件。现在通过原生快捷键优先级调用验证规则移除命令,仅移除选区中的单选/多选列表,保留已有值和样式;共享规则在选区外的部分及其他验证类型保留。混合选区中只要包含下拉列表,此操作优先移除下拉,不清空其他单元格内容。

无下拉的单元格仍走原生清空内容。文本草稿、公式栏、弹窗输入框及其他组件继续拥有各自的删除键;Shift 等组合键不改变。原生工作簿、工作表和范围编辑权限在执行时重新检查。规则删除与局部范围更新沿用现有原生命令和协同投影,公开 API、持久化字段、schema、epoch、checkpoint 和已有规则格式均不变。

直接声明固定版本 @univerjs/sheets-data-validation@0.25.1,与现有锁文件的传递版本一致,避免打包适配器时嵌入第二份原生服务。model、Yjs 和 XLSX 入口运行时代码不变。

隔离 Chrome 对照实际 0.2.8 tgz 重现“值被清空、控件仍在”。实际 0.2.9 tgz 双页通过删除键、退格键、局部共享规则、值和加粗样式保留、撤销重做、普通单元格清空、原生文字及弹窗退格、只读保护和 checkpoint 重载;公式栏退格另行验证。93 秒空闲两端零内容提交,浏览器错误与警告为空。TypeScript、四入口 ESM/CJS/DTS 构建和 154 项测试通过,原有一项可选性能测试跳过。公开声明、exports 及 model/Yjs/XLSX 六个运行时文件与 0.2.8 逐字节一致。

Git commit: 049542c591d49ca53f5359f7c51c938874ff0b07

npm: @smartdoca/sheet@0.2.9

SRI: sha512-1I0Ss503e0riAGcV6YY4PPrygCQpA9ngCf+VZlr5sthw2HIaEw2YVtb7My0YAhRj0HWz1mqMtx7uwSrt3k6ecw==

SHA256: e1c9c344208fea564d14228161dc2330ee0a00380647db262f48cba1fc0a9176

v0.2.8

Choose a tag to compare

@smartdoca smartdoca released this 22 Oct 14:14
c6f22c0

0.2.8 剪贴板拒绝提示与剪切重试

复制后粘贴到已有行列范围以外时,Univer 会先执行原生行列插入。协同会话拒绝这些没有稳定身份的结构写入,但此前提示错误地使用了功能的能力说明,显示“稳定行列身份……A1 公式引用跟随”。现在明确提示先插入足够行列,再重新粘贴,停留时间为五秒。这里保留现有扩表规则,没有放开原生结构写入。

原生引擎在粘贴失败后仍会清空剪切缓存。包内现在仅在粘贴失败、没有应用内容写入且缓存确实已被消耗时恢复该缓存,覆盖普通粘贴、快捷键及内部缓存粘贴入口。用户可以换到有效位置重试,源内容不会被提前删除。

隔离 Chrome 双页使用实际 tgz 的运行时代码验证了普通复制、越界剪切拒绝且零内容提交、换位置重试、整次剪切撤销/重做及 checkpoint 刷新恢复。另用合成图片验证跨客户端复制保留原文字和稳定资源 ID,只读粘贴由原生权限弹窗阻止。TypeScript、四入口 ESM/CJS/DTS 构建及 152 项测试通过,原有一项可选性能测试跳过。

公开 API、exports、依赖、文档格式和协同 schema 不变;model、Yjs 和 XLSX 的六个运行时文件与 0.2.7 逐字节相同。未编辑用户文档,未修改 Doca 工作区。此前 sheet.mutation.re-calc-filter 的恢复顺序修复保留,真实 Univer 筛选会话回归测试通过。

Git commit: c6f22c0979160e9a8503adb68f05d8089f28d512

npm: @smartdoca/sheet@0.2.8

SRI: sha512-b7r7rtCvEtAxgeA5xDLTBC/3dSogXnZsBHYEN8EzCpzhzYQngmv1TeOfC1CHQI2/bngs2ojJoIP2apblUYo2nw==

SHA256: 68add31ee3e4ab50160888ad872890a2bcf479468bfea7a9bac9ec9fefae9646

v0.2.7

Choose a tag to compare

@github-actions github-actions released this 21 Oct 14:48
5ad4f64

Fix the React console error when closing native spreadsheet history/snapshot previews. Univer's nested React root is disposed after the parent React commit, and replacement runtimes wait before reusing the same container. Already cancelled initialization cannot report errors into the next generation. Collaboration listeners and pending work are disconnected immediately.

Real native browser regression covers repeated open/close, rapid same-container workbook switches, closing before rendering, and StrictMode replay. The actual 0.2.6 artifact reproduces the warning; the packed 0.2.7 artifact logs no console/page/editor errors, releases retired runtimes, and leaves the main Yjs bytes unchanged with zero local writes.

Install: npm install @smartdoca/sheet@0.2.7

Validation: TypeScript and all four ESM/CJS/DTS builds pass; 152 tests pass, with one existing optional performance test skipped. Public API and dependencies are unchanged. Model, Yjs, and XLSX runtime JavaScript is byte-identical to 0.2.6. No data migration or host workaround is required.

v0.2.6

Choose a tag to compare

@github-actions github-actions released this 21 Oct 13:51
bd7ed3d

Active filters now recompute after local cell edits and range moves without creating extra content transactions. Filter criteria remain shared and continue to support sync, undo/redo, and checkpoint recovery.

Inline images can be selected and previewed inside native cell drafts. Editable images select on the first click and preview on the next; readonly images preview immediately. Hosts can use onImagePreview({drawingId, resource, cell}) for access checks and their own viewer, and handle.getImageGallery() for UUID-backed inline and floating images across all sheets, including uncommitted drafts. Stable asset and occurrence IDs are preserved without adding persisted fields or storing transient URLs.

Install: npm install @smartdoca/sheet@0.2.6

Validation: TypeScript and ESM/CJS/DTS builds pass; 152 tests pass, with one existing optional performance test skipped. Isolated browser checks cover collaboration, checkpoint recovery, zero local echo, image draft selection/preview, readonly mode, host errors, and cross-sheet gallery identity. The model, Yjs, and XLSX runtime entries are byte-identical to 0.2.5.