fluid-framework 2.100.0 → 2.101.0
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
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 2.101.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add SharedTreeOptionsBeta.healUnresolvableIdentifiersOnDecode to recover documents with corrupted identifiers ([#27281](https://github.com/microsoft/FluidFramework/pull/27281)) [d9205ddcd6a](https://github.com/microsoft/FluidFramework/commit/d9205ddcd6a9f0ec11d5422b38e30a6a91a9258c)
|
|
8
|
+
|
|
9
|
+
A SharedTree bug can result in corrupted documents due to their attach summary compressing identifier-field values in a way that cannot be uncompressed.
|
|
10
|
+
This bug manifested as remote clients processing the op throwing an error with the message "Unknown op space ID.".
|
|
11
|
+
|
|
12
|
+
This change adds an option (`healUnresolvableIdentifiersOnDecode`) to `configuredSharedTreeBetaLegacy` which will allow documents affected by this bug to load again when enabled.
|
|
13
|
+
Enabling this option carries some risk, see documentation on the interface itself for more details.
|
|
14
|
+
|
|
15
|
+
#### Who is affected
|
|
16
|
+
|
|
17
|
+
Only SharedTrees attached to a container that was already attached can be impacted.
|
|
18
|
+
Furthermore, this bug only occurs when the attached tree contains [`identifier`](https://fluidframework.com/docs/api/tree/schemafactory-class#identifier-property) fields which contain implicitly generated default values.
|
|
19
|
+
|
|
20
|
+
- Fix a SharedTree document corruption bug ([#27292](https://github.com/microsoft/FluidFramework/pull/27292)) [6f4cdcb7a0a](https://github.com/microsoft/FluidFramework/commit/6f4cdcb7a0a76ba215a361c7b3a12943750fe286)
|
|
21
|
+
|
|
22
|
+
A SharedTree bug which could corrupt documents when attaching them to containers has been fixed.
|
|
23
|
+
See `healUnresolvableIdentifiersOnDecode` on `configuredSharedTreeBetaLegacy` for a potential mitigation path for documents that were already corrupted by this bug.
|
|
24
|
+
|
|
25
|
+
#### Who is affected
|
|
26
|
+
|
|
27
|
+
Only SharedTrees attached to a container that was already attached can be impacted.
|
|
28
|
+
Furthermore, this bug only occurs when the attached tree contains [`identifier`](https://fluidframework.com/docs/api/tree/schemafactory-class#identifier-property) fields which contain implicitly generated default values.
|
|
29
|
+
|
|
3
30
|
## 2.100.0
|
|
4
31
|
|
|
5
32
|
### Minor Changes
|
|
@@ -1667,7 +1667,9 @@ export interface SharedTreeOptions extends SharedTreeOptionsBeta, Partial<CodecW
|
|
|
1667
1667
|
}
|
|
1668
1668
|
|
|
1669
1669
|
// @beta @input
|
|
1670
|
-
export
|
|
1670
|
+
export interface SharedTreeOptionsBeta extends ForestOptions, Partial<CodecWriteOptionsBeta> {
|
|
1671
|
+
readonly healUnresolvableIdentifiersOnDecode?: boolean;
|
|
1672
|
+
}
|
|
1671
1673
|
|
|
1672
1674
|
// @alpha @sealed
|
|
1673
1675
|
export interface SimpleAllowedTypeAttributes<out Type extends SchemaType = SchemaType> {
|
|
@@ -1008,7 +1008,9 @@ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedTyp
|
|
|
1008
1008
|
export const SharedTree: SharedObjectKind<ITree>;
|
|
1009
1009
|
|
|
1010
1010
|
// @beta @input
|
|
1011
|
-
export
|
|
1011
|
+
export interface SharedTreeOptionsBeta extends ForestOptions, Partial<CodecWriteOptionsBeta> {
|
|
1012
|
+
readonly healUnresolvableIdentifiersOnDecode?: boolean;
|
|
1013
|
+
}
|
|
1012
1014
|
|
|
1013
1015
|
// @public @sealed @system
|
|
1014
1016
|
export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
|
|
@@ -1372,7 +1372,9 @@ export type SharedStringSegment = TextSegment | Marker;
|
|
|
1372
1372
|
export const SharedTree: SharedObjectKind<ITree>;
|
|
1373
1373
|
|
|
1374
1374
|
// @beta @input
|
|
1375
|
-
export
|
|
1375
|
+
export interface SharedTreeOptionsBeta extends ForestOptions, Partial<CodecWriteOptionsBeta> {
|
|
1376
|
+
readonly healUnresolvableIdentifiersOnDecode?: boolean;
|
|
1377
|
+
}
|
|
1376
1378
|
|
|
1377
1379
|
export { Side }
|
|
1378
1380
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fluid-framework",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.101.0",
|
|
4
4
|
"description": "The main entry point into Fluid Framework public packages",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -57,17 +57,17 @@
|
|
|
57
57
|
"main": "lib/index.js",
|
|
58
58
|
"types": "lib/public.d.ts",
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@fluidframework/container-definitions": "~2.
|
|
61
|
-
"@fluidframework/container-loader": "~2.
|
|
62
|
-
"@fluidframework/core-interfaces": "~2.
|
|
63
|
-
"@fluidframework/core-utils": "~2.
|
|
64
|
-
"@fluidframework/driver-definitions": "~2.
|
|
65
|
-
"@fluidframework/fluid-static": "~2.
|
|
66
|
-
"@fluidframework/map": "~2.
|
|
67
|
-
"@fluidframework/runtime-utils": "~2.
|
|
68
|
-
"@fluidframework/sequence": "~2.
|
|
69
|
-
"@fluidframework/shared-object-base": "~2.
|
|
70
|
-
"@fluidframework/tree": "~2.
|
|
60
|
+
"@fluidframework/container-definitions": "~2.101.0",
|
|
61
|
+
"@fluidframework/container-loader": "~2.101.0",
|
|
62
|
+
"@fluidframework/core-interfaces": "~2.101.0",
|
|
63
|
+
"@fluidframework/core-utils": "~2.101.0",
|
|
64
|
+
"@fluidframework/driver-definitions": "~2.101.0",
|
|
65
|
+
"@fluidframework/fluid-static": "~2.101.0",
|
|
66
|
+
"@fluidframework/map": "~2.101.0",
|
|
67
|
+
"@fluidframework/runtime-utils": "~2.101.0",
|
|
68
|
+
"@fluidframework/sequence": "~2.101.0",
|
|
69
|
+
"@fluidframework/shared-object-base": "~2.101.0",
|
|
70
|
+
"@fluidframework/tree": "~2.101.0"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@arethetypeswrong/cli": "^0.18.2",
|