🐛(frontend) only owner will make initial content
In some cases, the sync of the initial content is not being done correctly. We will let only the owner of the document to make the initial content.
This commit is contained in:
@@ -93,6 +93,7 @@ test.describe('Config', () => {
|
|||||||
|
|
||||||
const fileChooserPromise = page.waitForEvent('filechooser');
|
const fileChooserPromise = page.waitForEvent('filechooser');
|
||||||
|
|
||||||
|
await page.locator('.bn-block-outer').last().fill('Anything');
|
||||||
await page.locator('.bn-block-outer').last().fill('/');
|
await page.locator('.bn-block-outer').last().fill('/');
|
||||||
await page.getByText('Resizable image with caption').click();
|
await page.getByText('Resizable image with caption').click();
|
||||||
await page.getByText('Upload image').click();
|
await page.getByText('Upload image').click();
|
||||||
|
|||||||
@@ -124,7 +124,9 @@ test.describe('Doc Header', () => {
|
|||||||
.getByRole('heading', { name: 'Top World', level: 2 })
|
.getByRole('heading', { name: 'Top World', level: 2 })
|
||||||
.fill(' ');
|
.fill(' ');
|
||||||
|
|
||||||
await page.getByText('Created at').click();
|
await page.getByText('Created at').click({
|
||||||
|
delay: 200,
|
||||||
|
});
|
||||||
|
|
||||||
await expect(
|
await expect(
|
||||||
docHeader.getByRole('heading', { name: 'Untitled document', level: 2 }),
|
docHeader.getByRole('heading', { name: 'Untitled document', level: 2 }),
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import * as Y from 'yjs';
|
|||||||
|
|
||||||
import { Box, TextErrors } from '@/components';
|
import { Box, TextErrors } from '@/components';
|
||||||
import { useAuthStore } from '@/core/auth';
|
import { useAuthStore } from '@/core/auth';
|
||||||
import { Doc } from '@/features/docs/doc-management';
|
import { Doc, Role, currentDocRole } from '@/features/docs/doc-management';
|
||||||
|
|
||||||
import { useUploadFile } from '../hook';
|
import { useUploadFile } from '../hook';
|
||||||
import { useHeadings } from '../hook/useHeadings';
|
import { useHeadings } from '../hook/useHeadings';
|
||||||
@@ -133,7 +133,7 @@ export const BlockNoteEditor = ({ doc, provider }: BlockNoteEditorProps) => {
|
|||||||
* better to let Blocknote manage, then we update the block with the content.
|
* better to let Blocknote manage, then we update the block with the content.
|
||||||
*/
|
*/
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (doc.content) {
|
if (doc.content || currentDocRole(doc.abilities) !== Role.OWNER) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@ export const BlockNoteEditor = ({ doc, provider }: BlockNoteEditorProps) => {
|
|||||||
content: '',
|
content: '',
|
||||||
});
|
});
|
||||||
}, 100);
|
}, 100);
|
||||||
}, [editor, doc.content]);
|
}, [editor, doc.content, doc.abilities]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setEditor(editor);
|
setEditor(editor);
|
||||||
|
|||||||
Reference in New Issue
Block a user