From 5e5d9a621595ca6723ffbb019fc88748a40e7103 Mon Sep 17 00:00:00 2001 From: Jonah Iden Date: Fri, 10 Apr 2026 14:38:10 +0200 Subject: [PATCH] normalize eol for monaco client as well. Signed-off-by: Jonah Iden --- .../src/collaboration-instance.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/open-collaboration-monaco/src/collaboration-instance.ts b/packages/open-collaboration-monaco/src/collaboration-instance.ts index bcb14ebb..cf81d0e8 100644 --- a/packages/open-collaboration-monaco/src/collaboration-instance.ts +++ b/packages/open-collaboration-monaco/src/collaboration-instance.ts @@ -496,7 +496,7 @@ export class CollaborationInstance implements Disposable { value = debounce(() => { this.yjsMutex(() => { const yjsText = this.yjs.getText(path); - const newContent = yjsText.toString(); + const newContent = this.adjustEol(yjsText.toString(), document.getEndOfLineSequence()); if (newContent !== document.getValue()) { this.updateDocumentContent(document, newContent); } @@ -657,4 +657,9 @@ export class CollaborationInstance implements Disposable { return decoder.decode(file.content); } } + + private adjustEol(text: string, eol: monaco.editor.EndOfLineSequence): string { + const newEol = eol === monaco.editor.EndOfLineSequence.LF ? '\n' : '\r\n'; + return text.replace(/\r?\n/g, newEol); + } }