fix: retrieve read-only state for y-doc-sync-server-adapter from connection

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2023-05-08 18:06:54 +02:00
parent 29afcce555
commit eebbb79d08
3 changed files with 5 additions and 5 deletions

View file

@ -46,7 +46,7 @@ export class RealtimeConnection {
this.yDocSyncAdapter = new YDocSyncServerAdapter(
this.transporter,
realtimeNote.getRealtimeDoc(),
acceptEdits,
() => acceptEdits,
);
this.realtimeUserStateAdapter = new RealtimeUserStatusAdapter(
this.user?.username ?? null,

View file

@ -105,13 +105,13 @@ describe('message transporter', () => {
const yDocSyncAdapterServerTo1 = new YDocSyncServerAdapter(
transporterServerTo1,
docServer,
true
() => true
)
const yDocSyncAdapterServerTo2 = new YDocSyncServerAdapter(
transporterServerTo2,
docServer,
true
() => true
)
const waitForClient1Sync = new Promise<void>((resolve) => {

View file

@ -11,14 +11,14 @@ export class YDocSyncServerAdapter extends YDocSyncAdapter {
constructor(
readonly messageTransporter: MessageTransporter,
readonly doc: RealtimeDoc,
readonly acceptEdits: boolean
private readonly acceptEditsProvider: () => boolean
) {
super(messageTransporter, doc)
this.markAsSynced()
}
protected applyIncomingUpdatePayload(update: number[]): void {
if (!this.acceptEdits) {
if (!this.acceptEditsProvider()) {
return
}
super.applyIncomingUpdatePayload(update)