fix: Occassional user context not available in collaborative persistence
This commit is contained in:
parent
a600a897c3
commit
9865eab61c
|
@ -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, {
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
{
|
||||
|
|
Reference in New Issue