aboutsummaryrefslogtreecommitdiff
path: root/src/fields
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields')
-rw-r--r--src/fields/Doc.ts2
-rw-r--r--src/fields/List.ts2
-rw-r--r--src/fields/util.ts2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index c8d28b4a2..4cf681482 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -399,7 +399,7 @@ export namespace Doc {
// and returns the document who's proto is undefined or whose proto is marked as a base prototype ('isPrototype').
export function GetProto(doc: Doc): Doc {
if (doc instanceof Promise) {
- console.log("GetProto: warning: got Promise insead of Doc");
+ // console.log("GetProto: warning: got Promise insead of Doc");
}
const proto = doc && (Doc.GetT(doc, "isPrototype", "boolean", true) ? doc : (doc.proto || doc));
return proto === doc ? proto : Doc.GetProto(proto);
diff --git a/src/fields/List.ts b/src/fields/List.ts
index a0cbebaf5..215dff34b 100644
--- a/src/fields/List.ts
+++ b/src/fields/List.ts
@@ -78,7 +78,7 @@ const listHandlers: any = {
}
const res = list.__fields.splice(start, deleteCount, ...items);
this[Update](items.length === 0 && deleteCount ? { op: "$remFromSet", items: removed, length: list.__fields.length } :
- items.length && !deleteCount ? { op: "$addToSet", items, length: list.__fields.length } : undefined);
+ items.length && !deleteCount && start === list.__fields.length ? { op: "$addToSet", items, length: list.__fields.length } : undefined);
return res.map(toRealField);
}),
unshift(...items: any[]) {
diff --git a/src/fields/util.ts b/src/fields/util.ts
index d48011194..15571ff8c 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -162,7 +162,7 @@ export function GetEffectiveAcl(target: any, user?: string): symbol {
}
function getPropAcl(target: any, prop: string | symbol | number) {
- if (prop === UpdatingFromServer || target[UpdatingFromServer] || prop == AclSym) return AclAdmin; // requesting the UpdatingFromServer prop or AclSym must always go through to keep the local DB consistent
+ if (prop === UpdatingFromServer || target[UpdatingFromServer] || prop === AclSym) return AclAdmin; // requesting the UpdatingFromServer prop or AclSym must always go through to keep the local DB consistent
if (prop && DocServer.PlaygroundFields?.includes(prop.toString())) return AclEdit; // playground props are always editable
return GetEffectiveAcl(target);
}