@fluidframework/map 2.74.0-370705 → 2.80.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 +12 -0
- package/dist/directory.d.ts +18 -0
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +35 -5
- package/dist/directory.js.map +1 -1
- package/dist/mapKernel.d.ts.map +1 -1
- package/dist/mapKernel.js +35 -1
- package/dist/mapKernel.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/eslint.config.mts +27 -0
- package/lib/directory.d.ts +18 -0
- package/lib/directory.d.ts.map +1 -1
- package/lib/directory.js +35 -5
- package/lib/directory.js.map +1 -1
- package/lib/mapKernel.d.ts.map +1 -1
- package/lib/mapKernel.js +35 -1
- package/lib/mapKernel.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/package.json +26 -25
- package/src/directory.ts +40 -3
- package/src/mapKernel.ts +51 -1
- package/src/packageVersion.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @fluidframework/map
|
|
2
2
|
|
|
3
|
+
## 2.80.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- map: Emit valueChanged events for deleted keys after a clear operation ([#26102](https://github.com/microsoft/FluidFramework/pull/26102)) [7c9be0e2d2c](https://github.com/microsoft/FluidFramework/commit/7c9be0e2d2cd7dd40aaa6bf6812ad9a6d43609f5)
|
|
8
|
+
|
|
9
|
+
When a `clear` op is processed on SharedMap, `valueChanged` events are now emitted for each key that was deleted. Previously, only the `clear` event was emitted with no subsequent `valueChanged` events.
|
|
10
|
+
|
|
11
|
+
## 2.74.0
|
|
12
|
+
|
|
13
|
+
Dependency updates only.
|
|
14
|
+
|
|
3
15
|
## 2.73.0
|
|
4
16
|
|
|
5
17
|
Dependency updates only.
|
package/dist/directory.d.ts
CHANGED
|
@@ -579,6 +579,24 @@ declare class SubDirectory extends TypedEventEmitter<IDirectoryEvents> implement
|
|
|
579
579
|
* is true, we will include them since some scenarios require this.
|
|
580
580
|
*/
|
|
581
581
|
private readonly getOptimisticSubDirectory;
|
|
582
|
+
/**
|
|
583
|
+
* Checks if this directory should be considered visible in the optimistic view.
|
|
584
|
+
* This requires both:
|
|
585
|
+
* 1. The directory object must not be disposed (disposed = true means fully deleted)
|
|
586
|
+
* 2. The directory must be reachable via getWorkingDirectory (respects pending deletes)
|
|
587
|
+
*
|
|
588
|
+
* There's a timing window where a directory has a pending delete but is not yet disposed:
|
|
589
|
+
* - When deleteSubDirectory is called locally, it adds a pending delete entry and emits a
|
|
590
|
+
* "dispose" event, but doesn't set disposed = true yet.
|
|
591
|
+
* - The directory only gets fully disposed when the delete message is sequenced.
|
|
592
|
+
* - During this window, !disposed is true but getWorkingDirectory returns undefined.
|
|
593
|
+
*
|
|
594
|
+
* This method should be used before emitting events during remote message processing to ensure
|
|
595
|
+
* events aren't emitted for directories that are invisible in the optimistic view.
|
|
596
|
+
*
|
|
597
|
+
* @returns true if this directory is visible in the optimistic view, false otherwise
|
|
598
|
+
*/
|
|
599
|
+
private isNotDisposedAndReachable;
|
|
582
600
|
get sequencedSubdirectories(): ReadonlyMap<string, SubDirectory>;
|
|
583
601
|
/**
|
|
584
602
|
* Process a clear operation.
|
package/dist/directory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
|
package/dist/directory.js
CHANGED
|
@@ -1085,7 +1085,9 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1085
1085
|
if (!this.directory.isAttached()) {
|
|
1086
1086
|
const successfullyRemoved = this.sequencedStorageData.delete(key);
|
|
1087
1087
|
// Only emit if we actually deleted something.
|
|
1088
|
-
if (
|
|
1088
|
+
if (this.isNotDisposedAndReachable() &&
|
|
1089
|
+
previousOptimisticLocalValue !== undefined &&
|
|
1090
|
+
successfullyRemoved) {
|
|
1089
1091
|
const event = {
|
|
1090
1092
|
key,
|
|
1091
1093
|
path: this.absolutePath,
|
|
@@ -1116,7 +1118,7 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1116
1118
|
// Only emit if we locally believe we deleted something. Otherwise we still send the op
|
|
1117
1119
|
// (permitting speculative deletion even if we don't see anything locally) but don't emit
|
|
1118
1120
|
// a valueChanged since we in fact did not locally observe a value change.
|
|
1119
|
-
if (previousOptimisticLocalValue !== undefined) {
|
|
1121
|
+
if (this.isNotDisposedAndReachable() && previousOptimisticLocalValue !== undefined) {
|
|
1120
1122
|
const event = {
|
|
1121
1123
|
key,
|
|
1122
1124
|
path: this.absolutePath,
|
|
@@ -1251,6 +1253,26 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1251
1253
|
this.throwIfDisposed();
|
|
1252
1254
|
return this.internalIterator();
|
|
1253
1255
|
}
|
|
1256
|
+
/**
|
|
1257
|
+
* Checks if this directory should be considered visible in the optimistic view.
|
|
1258
|
+
* This requires both:
|
|
1259
|
+
* 1. The directory object must not be disposed (disposed = true means fully deleted)
|
|
1260
|
+
* 2. The directory must be reachable via getWorkingDirectory (respects pending deletes)
|
|
1261
|
+
*
|
|
1262
|
+
* There's a timing window where a directory has a pending delete but is not yet disposed:
|
|
1263
|
+
* - When deleteSubDirectory is called locally, it adds a pending delete entry and emits a
|
|
1264
|
+
* "dispose" event, but doesn't set disposed = true yet.
|
|
1265
|
+
* - The directory only gets fully disposed when the delete message is sequenced.
|
|
1266
|
+
* - During this window, !disposed is true but getWorkingDirectory returns undefined.
|
|
1267
|
+
*
|
|
1268
|
+
* This method should be used before emitting events during remote message processing to ensure
|
|
1269
|
+
* events aren't emitted for directories that are invisible in the optimistic view.
|
|
1270
|
+
*
|
|
1271
|
+
* @returns true if this directory is visible in the optimistic view, false otherwise
|
|
1272
|
+
*/
|
|
1273
|
+
isNotDisposedAndReachable() {
|
|
1274
|
+
return (!this.disposed && this.directory.getWorkingDirectory(this.absolutePath) !== undefined);
|
|
1275
|
+
}
|
|
1254
1276
|
get sequencedSubdirectories() {
|
|
1255
1277
|
this.throwIfDisposed();
|
|
1256
1278
|
return this._sequencedSubdirectories;
|
|
@@ -1287,6 +1309,7 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1287
1309
|
this.sequencedStorageData.clear();
|
|
1288
1310
|
// Only emit for remote ops, we would have already emitted for local ops. Only emit if there
|
|
1289
1311
|
// is no optimistically-applied local pending clear that would supersede this remote clear.
|
|
1312
|
+
// Don't emit events if this directory has been disposed or no longer exists
|
|
1290
1313
|
if (!this.pendingStorageData.some((entry) => entry.type === "clear")) {
|
|
1291
1314
|
this.directory.emit("clear", local, this.directory);
|
|
1292
1315
|
this.directory.emit("clearInternal", this.absolutePath, local, this.directory);
|
|
@@ -1294,6 +1317,10 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1294
1317
|
// For pending set operations, emit valueChanged events
|
|
1295
1318
|
// Include 'path' so listeners can identify which subdirectory the change occurred in
|
|
1296
1319
|
for (const { key, previousValue } of pendingSets) {
|
|
1320
|
+
// Stop emitting events if this directory has been disposed or is no longer reachable
|
|
1321
|
+
if (!this.isNotDisposedAndReachable()) {
|
|
1322
|
+
break;
|
|
1323
|
+
}
|
|
1297
1324
|
this.directory.emit("valueChanged", {
|
|
1298
1325
|
key,
|
|
1299
1326
|
path: this.absolutePath,
|
|
@@ -1328,7 +1355,8 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1328
1355
|
const previousValue = this.sequencedStorageData.get(op.key);
|
|
1329
1356
|
this.sequencedStorageData.delete(op.key);
|
|
1330
1357
|
// Suppress the event if local changes would cause the incoming change to be invisible optimistically.
|
|
1331
|
-
if (
|
|
1358
|
+
if (this.isNotDisposedAndReachable() &&
|
|
1359
|
+
!this.pendingStorageData.some((entry) => entry.type === "clear" || entry.key === op.key)) {
|
|
1332
1360
|
const event = {
|
|
1333
1361
|
key: op.key,
|
|
1334
1362
|
path: this.absolutePath,
|
|
@@ -1370,7 +1398,8 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1370
1398
|
const previousValue = this.sequencedStorageData.get(key);
|
|
1371
1399
|
this.sequencedStorageData.set(key, value);
|
|
1372
1400
|
// Suppress the event if local changes would cause the incoming change to be invisible optimistically.
|
|
1373
|
-
if (
|
|
1401
|
+
if (this.isNotDisposedAndReachable() &&
|
|
1402
|
+
!this.pendingStorageData.some((entry) => entry.type === "clear" || entry.key === key)) {
|
|
1374
1403
|
const event = { key, path: this.absolutePath, previousValue };
|
|
1375
1404
|
this.directory.emit("valueChanged", event, local, this.directory);
|
|
1376
1405
|
const containedEvent = { key, previousValue };
|
|
@@ -1429,7 +1458,8 @@ class SubDirectory extends client_utils_1.TypedEventEmitter {
|
|
|
1429
1458
|
this.registerEventsOnSubDirectory(subDir, op.subdirName);
|
|
1430
1459
|
this._sequencedSubdirectories.set(op.subdirName, subDir);
|
|
1431
1460
|
// Suppress the event if local changes would cause the incoming change to be invisible optimistically.
|
|
1432
|
-
if (!this.pendingSubDirectoryData.some((entry) => entry.subdirName === op.subdirName)
|
|
1461
|
+
if (!this.pendingSubDirectoryData.some((entry) => entry.subdirName === op.subdirName) &&
|
|
1462
|
+
subDir.isNotDisposedAndReachable()) {
|
|
1433
1463
|
this.emit("subDirectoryCreated", op.subdirName, local, this);
|
|
1434
1464
|
}
|
|
1435
1465
|
}
|