From 3a2ca3ae7c48ff2f56096209b43951fd0d71a6f9 Mon Sep 17 00:00:00 2001 From: Josh <160112355+Josh-wt@users.noreply.github.com> Date: Sat, 11 Apr 2026 14:20:58 +0530 Subject: [PATCH 1/2] fix(server): use local sqlite client layer for bun runtime --- apps/server/src/persistence/Layers/Sqlite.ts | 29 ++++++++++---------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/apps/server/src/persistence/Layers/Sqlite.ts b/apps/server/src/persistence/Layers/Sqlite.ts index 58556099db..36d32c17a5 100644 --- a/apps/server/src/persistence/Layers/Sqlite.ts +++ b/apps/server/src/persistence/Layers/Sqlite.ts @@ -13,7 +13,7 @@ type Loader = { layer: (config: RuntimeSqliteLayerConfig) => Layer.Layer; }; const defaultSqliteClientLoaders = { - bun: () => import("@effect/sql-sqlite-bun/SqliteClient"), + bun: () => import("../NodeSqliteClient.ts"), node: () => import("../NodeSqliteClient.ts"), } satisfies Record Promise>; @@ -42,21 +42,22 @@ export const makeSqlitePersistenceLive = Effect.fn("makeSqlitePersistenceLive")( const path = yield* Path.Path; yield* fs.makeDirectory(path.dirname(dbPath), { recursive: true }); - return Layer.provideMerge( - setup, - makeRuntimeSqliteLayer({ - filename: dbPath, - spanAttributes: { - "db.name": path.basename(dbPath), - "service.name": "t3-server", - }, - }), - ); + const sqliteLayer = makeRuntimeSqliteLayer({ + filename: dbPath, + spanAttributes: { + "db.name": path.basename(dbPath), + "service.name": "t3-server", + }, + }); + + return Layer.merge(sqliteLayer, setup.pipe(Layer.provide(sqliteLayer))); }, Layer.unwrap); -export const SqlitePersistenceMemory = Layer.provideMerge( - setup, - makeRuntimeSqliteLayer({ filename: ":memory:" }), +const sqliteMemoryLayer = makeRuntimeSqliteLayer({ filename: ":memory:" }); + +export const SqlitePersistenceMemory = Layer.merge( + sqliteMemoryLayer, + setup.pipe(Layer.provide(sqliteMemoryLayer)), ); export const layerConfig = Layer.unwrap( From 1367f540399b76a73ed99fd1fe97752fdcc7fdaf Mon Sep 17 00:00:00 2001 From: Josh <160112355+Josh-wt@users.noreply.github.com> Date: Sat, 11 Apr 2026 14:27:48 +0530 Subject: [PATCH 2/2] refactor(server): reduce sqlite layer conflict surface --- apps/server/src/persistence/Layers/Sqlite.ts | 27 ++++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/apps/server/src/persistence/Layers/Sqlite.ts b/apps/server/src/persistence/Layers/Sqlite.ts index 36d32c17a5..25b7e46782 100644 --- a/apps/server/src/persistence/Layers/Sqlite.ts +++ b/apps/server/src/persistence/Layers/Sqlite.ts @@ -42,22 +42,21 @@ export const makeSqlitePersistenceLive = Effect.fn("makeSqlitePersistenceLive")( const path = yield* Path.Path; yield* fs.makeDirectory(path.dirname(dbPath), { recursive: true }); - const sqliteLayer = makeRuntimeSqliteLayer({ - filename: dbPath, - spanAttributes: { - "db.name": path.basename(dbPath), - "service.name": "t3-server", - }, - }); - - return Layer.merge(sqliteLayer, setup.pipe(Layer.provide(sqliteLayer))); + return Layer.provideMerge( + makeRuntimeSqliteLayer({ + filename: dbPath, + spanAttributes: { + "db.name": path.basename(dbPath), + "service.name": "t3-server", + }, + }), + setup, + ); }, Layer.unwrap); -const sqliteMemoryLayer = makeRuntimeSqliteLayer({ filename: ":memory:" }); - -export const SqlitePersistenceMemory = Layer.merge( - sqliteMemoryLayer, - setup.pipe(Layer.provide(sqliteMemoryLayer)), +export const SqlitePersistenceMemory = Layer.provideMerge( + makeRuntimeSqliteLayer({ filename: ":memory:" }), + setup, ); export const layerConfig = Layer.unwrap(