@ai-matrx/office 0.8.44 → 0.8.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -2
- package/dist/collab-sheets-transform.cjs +12 -0
- package/dist/collab-sheets-transform.cjs.map +1 -1
- package/dist/collab-sheets-transform.js +12 -0
- package/dist/collab-sheets-transform.js.map +1 -1
- package/dist/docs.cjs +85 -24
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.cts +15 -1
- package/dist/docs.d.ts +15 -1
- package/dist/docs.js +65 -4
- package/dist/docs.js.map +1 -1
- package/dist/pdf-model.cjs +232 -0
- package/dist/pdf-model.cjs.map +1 -0
- package/dist/pdf-model.d.cts +248 -0
- package/dist/pdf-model.d.ts +248 -0
- package/dist/pdf-model.js +209 -0
- package/dist/pdf-model.js.map +1 -0
- package/dist/pdf.cjs +1127 -0
- package/dist/pdf.cjs.map +1 -0
- package/dist/pdf.d.cts +255 -0
- package/dist/pdf.d.ts +255 -0
- package/dist/pdf.js +1133 -0
- package/dist/pdf.js.map +1 -0
- package/dist/univer-collab.cjs +250 -22
- package/dist/univer-collab.cjs.map +1 -1
- package/dist/univer-collab.d.cts +91 -10
- package/dist/univer-collab.d.ts +91 -10
- package/dist/univer-collab.js +250 -22
- package/dist/univer-collab.js.map +1 -1
- package/package.json +27 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.46
|
|
4
|
+
|
|
5
|
+
- Sheets co-editing, an open cell editor holds less: only a remote op that writes its cell (a value, style, merge, format, rule or sort whose ranges cover it) or moves or removes it (a row/column insert, remove or move before it, its sheet's removal, a shrink past it) waits until the editor closes. A later op passes the held ones when the two commute; everything else applies live, so the person sees the others work while typing. `SheetsOtPort.busy()` no longer includes the editor hold; `touchesEditedCell` is exported. Consumer action: none.
|
|
6
|
+
- Sheets co-editing, the loser of a held cell hears of it: the commit rebased past a held op names what it overrode (`overrode`, data's `LocalEditOptions`), so the person whose value was overwritten gets the `overridden` notice ("Someone changed the same cells"). `SheetsOtAdapter.rebaseLocalOverHeld` returns `{ op, overrode }`. Consumer action: none.
|
|
7
|
+
- Added `./pdf` and `./pdf-model`: the PDF workspace chrome (Acrobat layout, tools rail, page panel, properties forms, find, session undo/redo, shortcut map, reading mode, phone sheets) with host-injected ports. Unbuilt tools announce through the Coming-soon registry.
|
|
8
|
+
|
|
9
|
+
## 0.8.45
|
|
10
|
+
|
|
11
|
+
- Sheets co-editing, typing into a cell a collaborator writes at the same moment (live attack F1, "$1,234.50" vs "$7" became 507): Univer rewrote an open cell editor's text whenever any write landed on its cell, caret back at 0, and Enter committed the splice. `univerSheetsOtPort` takes `cellEditor` (`editorBridgeCell(IEditorBridgeService)`); while it is open, a remote op touching its cell or sheet is held (`SheetsOtPort.defers`), with every op after it, and the person's commit is rebased over them when the editor closes. A held op never feeds a quiet hash. Consumer action: lend `cellEditor: editorBridgeCell(injector.get(IEditorBridgeService))`.
|
|
12
|
+
- Sheets transform: a value and its number format are one unit. Whoever wins a cell's content slot wins its `n` too (the winner clears the loser's `n`, the loser drops its own). Consumer action: none.
|
|
13
|
+
- Sheets co-editing, filters (live attack hash_mismatch at rev 90): `filterServiceRange(() => SheetsFilterService)` is the one `filterRange` every host lends; it keeps the stored range's `rangeType`, so a restored or traveling filter range saves the same on every seat. The fold lends it too. Consumer action: lend `filterRange: filterServiceRange(() => injector.get(SheetsFilterService))`.
|
|
14
|
+
- Sheets co-editing: a new notice `{ kind: "resynced", reason }` when a disagreement (quiet hash, save hash, ack) reloaded the seat and what the person sees changed. One per heal. Consumer action: show it.
|
|
15
|
+
- Sheets co-editing, a removed sheet (live attack F4): after this seat removes a sheet, every formula still naming it becomes #REF! here and travels in the same group; a lone mutation's group reads sheet names from before it. Consumer action: none.
|
|
16
|
+
- Docs co-editing, undo and redo (walk 2 F1): an undo item's other side is now rewritten from the real document each time the item runs, and stack items below the top meet a collaborator's edit carried past the items above. An undo or redo around an Enter, a paragraph join or a format no longer deletes a collaborator's letters or leaves its own text behind. Consumer action: none.
|
|
17
|
+
- Docs, a restore or a reload onto the room's document (walk 2 F3): `DocumentModel` carries each view's caret through every whole-document load (`mapOffsetThroughReplace`), and a guard before each local rich-text mutation (`keepInsideTheBody`) never lets an edit insert after the body's closing mark. Letters typed after a restore land at the end of the restored text, never inside its words or past its end. Consumer action: none (a view port with `selection` gets it; the frontend's does).
|
|
18
|
+
|
|
3
19
|
## 0.8.44
|
|
4
20
|
|
|
5
|
-
|
|
6
|
-
|
|
21
|
+
SOURCE CHANGED WITH NO RELEASE NOTE. This release shipped source changes that nobody described in an Unreleased entry,
|
|
22
|
+
so they may include breaking API changes. Consumer action is UNKNOWN: read the diff before upgrading.
|
|
23
|
+
Diff: `git diff b1d814b5c9 8607ef52a9 -- apps/shared/office/src`
|
|
24
|
+
|
|
25
|
+
Changed shipped source files (2):
|
|
26
|
+
- `apps/shared/office/src/docs/document-ot-room.ts`
|
|
27
|
+
- `apps/shared/office/src/sheets/workbook-ot-room.ts`
|
|
7
28
|
|
|
8
29
|
## 0.8.43
|
|
9
30
|
|
|
@@ -1099,6 +1099,18 @@ function transformCell(X, Y, side) {
|
|
|
1099
1099
|
if (styleKeys(xs).length !== styleKeys(kept ?? {}).length) xLost = true;
|
|
1100
1100
|
}
|
|
1101
1101
|
}
|
|
1102
|
+
if (hasContent(X) && hasContent(Y)) {
|
|
1103
|
+
const has = (s) => !!s && typeof s === "object" && "n" in s;
|
|
1104
|
+
const outS = out.s;
|
|
1105
|
+
if (side === "left" && !has(X.s) && has(Y.s) && X.s !== null) {
|
|
1106
|
+
out.s = { ...outS && typeof outS === "object" ? outS : {}, n: null };
|
|
1107
|
+
} else if (side === "right" && outS && typeof outS === "object" && "n" in outS) {
|
|
1108
|
+
const rest = withoutStyleKeys(outS, /* @__PURE__ */ new Set(["n"]));
|
|
1109
|
+
if (rest) out.s = rest;
|
|
1110
|
+
else delete out.s;
|
|
1111
|
+
xLost = true;
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1102
1114
|
return { entries: Object.keys(out).length ? [out, ...tail] : tail, xLost, yLost };
|
|
1103
1115
|
}
|
|
1104
1116
|
function transformCellsOverCells(x, y, side) {
|