[WIKI-703] fix: draw.io awareness sync (#4350)
* fix : awarness api * refactor: update collaboration-cursor to collaboration-caret
This commit is contained in:
@@ -27,15 +27,15 @@ export type TEditorFlaggingHookProps = {
|
||||
*/
|
||||
export const useEditorFlagging = (props: TEditorFlaggingHookProps): TEditorFlaggingHookReturnType => ({
|
||||
document: {
|
||||
disabled: ["ai", "collaboration-cursor"],
|
||||
disabled: ["ai", "collaboration-caret"],
|
||||
flagged: [],
|
||||
},
|
||||
liteText: {
|
||||
disabled: ["ai", "collaboration-cursor"],
|
||||
disabled: ["ai", "collaboration-caret"],
|
||||
flagged: [],
|
||||
},
|
||||
richText: {
|
||||
disabled: ["ai", "collaboration-cursor"],
|
||||
disabled: ["ai", "collaboration-caret"],
|
||||
flagged: [],
|
||||
},
|
||||
});
|
||||
|
||||
@@ -41,7 +41,7 @@ export const useEditorFlagging = (props: TEditorFlaggingHookProps): TEditorFlagg
|
||||
documentDisabled.push("ai");
|
||||
}
|
||||
if (!isCollaborationCursorEnabled) {
|
||||
// documentDisabled.push("collaboration-cursor");
|
||||
// documentDisabled.push("collaboration-caret");
|
||||
}
|
||||
if (storeType && !isNestedPagesEnabled(workspaceSlug)) {
|
||||
documentFlagged.push("nested-pages");
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { BroadcastController } from "./broadcast.controller";
|
||||
import { CollaborationController } from "./collaboration.controller";
|
||||
import { ContentController } from "./content.controller";
|
||||
import { ConvertDocumentController } from "./convert-document.controller";
|
||||
import { DocumentController } from "./document.controller";
|
||||
import { HealthController } from "./health.controller";
|
||||
@@ -12,6 +13,8 @@ export const CONTROLLERS = [
|
||||
DocumentController,
|
||||
LiveDocumentController,
|
||||
ConvertDocumentController,
|
||||
// Content service
|
||||
ContentController,
|
||||
// websocket
|
||||
CollaborationController,
|
||||
BroadcastController,
|
||||
|
||||
@@ -28,15 +28,15 @@ export type TEditorFlaggingHookProps = {
|
||||
*/
|
||||
export const useEditorFlagging = (_props: TEditorFlaggingHookProps): TEditorFlaggingHookReturnType => ({
|
||||
document: {
|
||||
disabled: ["ai", "collaboration-cursor"],
|
||||
disabled: ["ai", "collaboration-caret"],
|
||||
flagged: [],
|
||||
},
|
||||
liteText: {
|
||||
disabled: ["ai", "collaboration-cursor"],
|
||||
disabled: ["ai", "collaboration-caret"],
|
||||
flagged: [],
|
||||
},
|
||||
richText: {
|
||||
disabled: ["ai", "collaboration-cursor"],
|
||||
disabled: ["ai", "collaboration-caret"],
|
||||
flagged: [],
|
||||
},
|
||||
isLoadingIntegrations: false,
|
||||
|
||||
@@ -66,7 +66,7 @@ export const useEditorFlagging = (props: TEditorFlaggingHookProps): TEditorFlagg
|
||||
document.disabled.add("ai");
|
||||
}
|
||||
if (!isCollaborationCursorEnabled) {
|
||||
document.disabled.add("collaboration-cursor");
|
||||
document.disabled.add("collaboration-caret");
|
||||
}
|
||||
if (storeType && !isNestedPagesEnabled(workspaceSlug)) {
|
||||
document.flagged.add("nested-pages");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export type TExtensions =
|
||||
| "ai"
|
||||
| "collaboration-cursor"
|
||||
| "collaboration-caret"
|
||||
| "issue-embed"
|
||||
| "page-embed"
|
||||
| "slash-commands"
|
||||
|
||||
@@ -18,7 +18,7 @@ const renderUserCursor = (user: TUserDetails): HTMLSpanElement => {
|
||||
label.dataset.collaboratorId = user?.id;
|
||||
|
||||
label.classList.value =
|
||||
"custom-collaboration-cursor absolute rounded-[3px_3px_3px_0] text-[#0d0d0d] text-xs font-semibold leading-normal -top-[1.3rem] -left-[1px] py-0.5 px-1.5 select-none whitespace-nowrap";
|
||||
"custom-collaboration-caret absolute rounded-[3px_3px_3px_0] text-[#0d0d0d] text-xs font-semibold leading-normal -top-[1.3rem] -left-[1px] py-0.5 px-1.5 select-none whitespace-nowrap";
|
||||
label.setAttribute("style", `background-color: ${user.color}`);
|
||||
label.insertBefore(document.createTextNode(user.name), null);
|
||||
|
||||
|
||||
@@ -195,7 +195,7 @@ const extensionRegistry: TDocumentEditorAdditionalExtensionsRegistry[] = [
|
||||
},
|
||||
{
|
||||
// Collaboration cursor extension
|
||||
isEnabled: (disabledExtensions) => !disabledExtensions.includes("collaboration-cursor"),
|
||||
isEnabled: (disabledExtensions) => !disabledExtensions.includes("collaboration-caret"),
|
||||
getExtension: ({ provider, userDetails }) =>
|
||||
provider &&
|
||||
CustomCollaborationCaret({
|
||||
|
||||
@@ -80,12 +80,14 @@ export const useDrawioAwareness = (editor: Editor, diagramId: string | null) =>
|
||||
|
||||
useEffect(() => {
|
||||
if (!awarenessProvider) return;
|
||||
const awarenessStates = Array.from(awarenessProvider.states?.entries?.() ?? []) as [
|
||||
number,
|
||||
Record<string, unknown>,
|
||||
][];
|
||||
|
||||
const updateAwarenessUsers = () => {
|
||||
// Capture fresh awareness states on each update
|
||||
const awarenessStates = Array.from(awarenessProvider.states?.entries?.() ?? []) as [
|
||||
number,
|
||||
Record<string, unknown>,
|
||||
][];
|
||||
|
||||
const states = awarenessStates.map(([clientId, state]) => ({
|
||||
clientId,
|
||||
user: (state.user as TUserDetails) || { color: "", id: "", name: "" },
|
||||
|
||||
@@ -28,7 +28,7 @@ export const useEditorFlagging = (): {
|
||||
|
||||
// extensions disabled in the document editor
|
||||
if (!isIssueEmbedEnabled) disabledExtensions?.push("issue-embed");
|
||||
if (!isCollaborationCursorEnabled) disabledExtensions?.push("collaboration-cursor");
|
||||
if (!isCollaborationCursorEnabled) disabledExtensions?.push("collaboration-caret");
|
||||
return {
|
||||
disabledExtensions,
|
||||
isIssueEmbedEnabled,
|
||||
|
||||
Reference in New Issue
Block a user