fluid-framework 2.100.0 → 2.101.1

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 type SharedTreeOptionsBeta = ForestOptions & Partial<CodecWriteOptionsBeta>;
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 type SharedTreeOptionsBeta = ForestOptions & Partial<CodecWriteOptionsBeta>;
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 type SharedTreeOptionsBeta = ForestOptions & Partial<CodecWriteOptionsBeta>;
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.100.0",
3
+ "version": "2.101.1",
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.100.0",
61
- "@fluidframework/container-loader": "~2.100.0",
62
- "@fluidframework/core-interfaces": "~2.100.0",
63
- "@fluidframework/core-utils": "~2.100.0",
64
- "@fluidframework/driver-definitions": "~2.100.0",
65
- "@fluidframework/fluid-static": "~2.100.0",
66
- "@fluidframework/map": "~2.100.0",
67
- "@fluidframework/runtime-utils": "~2.100.0",
68
- "@fluidframework/sequence": "~2.100.0",
69
- "@fluidframework/shared-object-base": "~2.100.0",
70
- "@fluidframework/tree": "~2.100.0"
60
+ "@fluidframework/container-definitions": "~2.101.1",
61
+ "@fluidframework/container-loader": "~2.101.1",
62
+ "@fluidframework/core-interfaces": "~2.101.1",
63
+ "@fluidframework/core-utils": "~2.101.1",
64
+ "@fluidframework/driver-definitions": "~2.101.1",
65
+ "@fluidframework/fluid-static": "~2.101.1",
66
+ "@fluidframework/map": "~2.101.1",
67
+ "@fluidframework/runtime-utils": "~2.101.1",
68
+ "@fluidframework/sequence": "~2.101.1",
69
+ "@fluidframework/shared-object-base": "~2.101.1",
70
+ "@fluidframework/tree": "~2.101.1"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@arethetypeswrong/cli": "^0.18.2",