fix: Various fixes for collaborative editing beta (#2586)
This commit is contained in:
parent
cde2909296
commit
27736f66ef
|
@ -150,7 +150,7 @@
|
|||
"react-window": "^1.8.6",
|
||||
"reakit": "^1.3.8",
|
||||
"regenerator-runtime": "^0.13.7",
|
||||
"rich-markdown-editor": "^11.17.6",
|
||||
"rich-markdown-editor": "^11.17.7",
|
||||
"semver": "^7.3.2",
|
||||
"sequelize": "^6.3.4",
|
||||
"sequelize-cli": "^6.2.0",
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
import Logger from "../logging/logger";
|
||||
export default class CollaborationLogger {
|
||||
async onCreateDocument(data: { documentName: string }) {
|
||||
Logger.info("collaboration", `Created document "${data.documentName}"`);
|
||||
Logger.info("hocuspocus", `Created document "${data.documentName}"`);
|
||||
}
|
||||
|
||||
async onConnect(data: { documentName: string }) {
|
||||
Logger.info("collaboration", `New connection to "${data.documentName}"`);
|
||||
Logger.info("hocuspocus", `New connection to "${data.documentName}"`);
|
||||
}
|
||||
|
||||
async onDisconnect(data: { documentName: string }) {
|
||||
Logger.info("collaboration", `Connection to "${data.documentName}" closed`);
|
||||
Logger.info("hocuspocus", `Connection to "${data.documentName}" closed`);
|
||||
}
|
||||
|
||||
async onUpgrade() {
|
||||
Logger.info("collaboration", "Upgrading connection");
|
||||
Logger.info("hocuspocus", "Upgrading connection");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,16 +29,13 @@ export default class Persistence {
|
|||
|
||||
if (document.state) {
|
||||
const ydoc = new Y.Doc();
|
||||
Logger.info(
|
||||
"collaboration",
|
||||
`Document ${documentId} is in database state`
|
||||
);
|
||||
Logger.info("database", `Document ${documentId} is in database state`);
|
||||
Y.applyUpdate(ydoc, document.state);
|
||||
return ydoc;
|
||||
}
|
||||
|
||||
Logger.info(
|
||||
"collaboration",
|
||||
"database",
|
||||
`Document ${documentId} is not in state, creating from markdown`
|
||||
);
|
||||
const ydoc = markdownToYDoc(document.text, fieldName);
|
||||
|
@ -60,7 +57,7 @@ export default class Persistence {
|
|||
}) => {
|
||||
const [, documentId] = documentName.split(".");
|
||||
|
||||
Logger.info("collaboration", `Persisting ${documentId}`);
|
||||
Logger.info("database", `Persisting ${documentId}`);
|
||||
|
||||
await documentUpdater({
|
||||
documentId,
|
||||
|
|
|
@ -9,7 +9,7 @@ const isProduction = env.NODE_ENV === "production";
|
|||
|
||||
type LogCategory =
|
||||
| "lifecycle"
|
||||
| "collaboration"
|
||||
| "hocuspocus"
|
||||
| "http"
|
||||
| "commands"
|
||||
| "processor"
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.addColumn("collections", "state", {
|
||||
type: Sequelize.BLOB,
|
||||
});
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.removeColumn("collections", "state");
|
||||
},
|
||||
};
|
|
@ -17,6 +17,7 @@ router.post("team.update", auth(), async (ctx) => {
|
|||
sharing,
|
||||
guestSignin,
|
||||
documentEmbeds,
|
||||
collaborativeEditing,
|
||||
} = ctx.body;
|
||||
const user = ctx.state.user;
|
||||
const team = await Team.findByPk(user.teamId);
|
||||
|
@ -31,6 +32,9 @@ router.post("team.update", auth(), async (ctx) => {
|
|||
if (documentEmbeds !== undefined) team.documentEmbeds = documentEmbeds;
|
||||
if (guestSignin !== undefined) team.guestSignin = guestSignin;
|
||||
if (avatarUrl !== undefined) team.avatarUrl = avatarUrl;
|
||||
if (collaborativeEditing !== undefined) {
|
||||
team.collaborativeEditing = collaborativeEditing;
|
||||
}
|
||||
|
||||
const changes = team.changed();
|
||||
const data = {};
|
||||
|
|
|
@ -12482,10 +12482,10 @@ retry-as-promised@^3.2.0:
|
|||
dependencies:
|
||||
any-promise "^1.3.0"
|
||||
|
||||
rich-markdown-editor@^11.17.6:
|
||||
version "11.17.6"
|
||||
resolved "https://registry.yarnpkg.com/rich-markdown-editor/-/rich-markdown-editor-11.17.6.tgz#c524ba03a3e331105c5e2a927e6359efd034295c"
|
||||
integrity sha512-lZ6gZ+C10SclOM28m1b6rElBoaylpkifGc7KJfd+rOqyFsFu1kX3RMCm2R8X2keVjTz3d0zhZ3eHNvoOaICXoQ==
|
||||
rich-markdown-editor@^11.17.7:
|
||||
version "11.17.7"
|
||||
resolved "https://registry.yarnpkg.com/rich-markdown-editor/-/rich-markdown-editor-11.17.7.tgz#833b9532812a361a9cf4f7752e4e75c6b4bff9e4"
|
||||
integrity sha512-SFIMDz8xOrasOMeMiPyFShlldd3ta1TsIe9F4M3Gkej9UxGDsjBUbKux8NGEssZrxgYNxIh9GMYgM3+IJv+/1g==
|
||||
dependencies:
|
||||
copy-to-clipboard "^3.0.8"
|
||||
lodash "^4.17.11"
|
||||
|
|
Reference in New Issue