fix: Occassional user context not available in collaborative persistence

This commit is contained in:
Tom Moor 2021-11-08 18:56:36 -08:00
parent a600a897c3
commit 9865eab61c
2 changed files with 5 additions and 4 deletions

View File

@ -52,7 +52,7 @@ export default class Persistence {
documentName,
}: {
document: Y.Doc,
context: { user: User },
context: { user: ?User },
documentName: string,
}) => {
const [, documentId] = documentName.split(".");
@ -63,7 +63,7 @@ export default class Persistence {
await documentUpdater({
documentId,
ydoc: document,
userId: context.user.id,
userId: context.user?.id,
});
} catch (err) {
Logger.error("Unable to persist document", err, {

View File

@ -13,7 +13,7 @@ export default async function documentUpdater({
}: {
documentId: string,
ydoc: Y.Doc,
userId: string,
userId?: string,
}) {
const document = await Document.findByPk(documentId);
const state = Y.encodeStateAsUpdate(ydoc);
@ -38,7 +38,8 @@ export default async function documentUpdater({
text,
state: Buffer.from(state),
updatedAt: isUnchanged ? document.updatedAt : new Date(),
lastModifiedById: isUnchanged ? document.lastModifiedById : userId,
lastModifiedById:
isUnchanged || !userId ? document.lastModifiedById : userId,
collaboratorIds,
},
{