aboutsummaryrefslogtreecommitdiff
path: root/src/fields/util.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2023-04-27 22:56:56 -0400
committerbobzel <zzzman@gmail.com>2023-04-27 22:56:56 -0400
commitc27fcf300d72248e82d722e1b7ded9e0ca07f657 (patch)
treee6c99b49324c60713b59c65c8963b018f59dc1ec /src/fields/util.ts
parentd3dc9938b38e89b2215d13fbc5bc92d33502e818 (diff)
parent66e5fe4d8c4c6fae768305e31b45735f563b7500 (diff)
merged with master
Diffstat (limited to 'src/fields/util.ts')
-rw-r--r--src/fields/util.ts3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/fields/util.ts b/src/fields/util.ts
index 70d9ed61f..92f3a69eb 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -107,8 +107,11 @@ const _setterImpl = action(function (target: any, prop: string | symbol | number
redo: () => (receiver[prop] = value),
undo: () => {
const wasUpdate = receiver[UpdatingFromServer];
+ const wasForce = receiver[ForceServerWrite];
+ receiver[ForceServerWrite] = true; // needed since writes aren't propagated to server if UpdatingFromServerIsSet
receiver[UpdatingFromServer] = true; // needed if the event caused ACL's to change such that the doc is otherwise no longer editable.
receiver[prop] = curValue;
+ receiver[ForceServerWrite] = wasForce;
receiver[UpdatingFromServer] = wasUpdate;
},
prop: prop?.toString(),