From 0a71e7b321e71d732dd13b77f79ba8f054b371fd Mon Sep 17 00:00:00 2001 From: Jared Miller Date: Tue, 27 Jan 2026 16:20:42 -0500 Subject: [PATCH] Fix linting errors and formatting --- adapters/vim/bridge.ts | 21 +++++++++++++++------ src/index.ts | 11 +++++++++-- src/protocol.ts | 3 ++- src/session.ts | 2 +- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/adapters/vim/bridge.ts b/adapters/vim/bridge.ts index bbe6ac8..fba0032 100644 --- a/adapters/vim/bridge.ts +++ b/adapters/vim/bridge.ts @@ -74,16 +74,22 @@ function connect(roomName: string) { function computeDiff(oldText: string, newText: string) { // find common prefix let prefixLen = 0; - while (prefixLen < oldText.length && prefixLen < newText.length && - oldText[prefixLen] === newText[prefixLen]) { + while ( + prefixLen < oldText.length && + prefixLen < newText.length && + oldText[prefixLen] === newText[prefixLen] + ) { prefixLen++; } // find common suffix let suffixLen = 0; - while (suffixLen < oldText.length - prefixLen && - suffixLen < newText.length - prefixLen && - oldText[oldText.length - 1 - suffixLen] === newText[newText.length - 1 - suffixLen]) { + while ( + suffixLen < oldText.length - prefixLen && + suffixLen < newText.length - prefixLen && + oldText[oldText.length - 1 - suffixLen] === + newText[newText.length - 1 - suffixLen] + ) { suffixLen++; } @@ -101,7 +107,10 @@ function setContent(newContent: string) { if (oldContent === newContent) return; // compute minimal diff and apply - const { deleteStart, deleteLen, insertText } = computeDiff(oldContent, newContent); + const { deleteStart, deleteLen, insertText } = computeDiff( + oldContent, + newContent, + ); const t = text; doc.transact(() => { diff --git a/src/index.ts b/src/index.ts index a7338c1..0191bc2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,10 @@ import { decode } from "./protocol"; -import { type Client, getOrCreateSession, getSession, removeSession } from "./session"; +import { + type Client, + getOrCreateSession, + getSession, + removeSession, +} from "./session"; const PORT = Number(process.env.PORT) || 4040; @@ -8,7 +13,9 @@ Bun.serve({ fetch(req, server) { const url = new URL(req.url); if (url.pathname === "/ws") { - const upgraded = server.upgrade(req, { data: { room: null, client: null } }); + const upgraded = server.upgrade(req, { + data: { room: null, client: null }, + }); if (!upgraded) { return new Response("websocket upgrade failed", { status: 400 }); } diff --git a/src/protocol.ts b/src/protocol.ts index 5c6a5c1..9809a4b 100644 --- a/src/protocol.ts +++ b/src/protocol.ts @@ -10,7 +10,8 @@ export type ServerMessage = | { type: "sync"; data: number[] } // full yjs state | { type: "update"; data: number[] } | { type: "awareness"; data: number[] } - | { type: "peers"; count: number }; + | { type: "peers"; count: number } + | { type: "error"; message: string }; export type BridgeMessage = | { type: "ready" } diff --git a/src/session.ts b/src/session.ts index 76b244a..f349d7a 100644 --- a/src/session.ts +++ b/src/session.ts @@ -44,7 +44,7 @@ export class Session { console.error(`failed to apply update in session ${this.name}:`, err); // optionally notify the client that sent the bad update try { - from.ws.send(encode({ type: "error", message: "invalid update" } as any)); + from.ws.send(encode({ type: "error", message: "invalid update" })); } catch { // ignore send errors }