From 15a3b5f95b2a750bd006b9f840535e076d5b04e1 Mon Sep 17 00:00:00 2001 From: Josh <160112355+Josh-wt@users.noreply.github.com> Date: Sat, 11 Apr 2026 14:53:41 +0530 Subject: [PATCH 1/3] fix(server): restore bun sqlite client loader --- apps/server/src/persistence/Layers/Sqlite.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/server/src/persistence/Layers/Sqlite.ts b/apps/server/src/persistence/Layers/Sqlite.ts index 58556099db..461c681737 100644 --- a/apps/server/src/persistence/Layers/Sqlite.ts +++ b/apps/server/src/persistence/Layers/Sqlite.ts @@ -42,16 +42,15 @@ 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.provideMerge(setup, sqliteLayer); }, Layer.unwrap); export const SqlitePersistenceMemory = Layer.provideMerge( From 042849c944725cc135426f929e8362c9aa14474a Mon Sep 17 00:00:00 2001 From: Josh <160112355+Josh-wt@users.noreply.github.com> Date: Sat, 11 Apr 2026 15:03:09 +0530 Subject: [PATCH 2/3] refactor(server): extract shared sqlite persistence layer builder --- apps/server/src/persistence/Layers/Sqlite.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/apps/server/src/persistence/Layers/Sqlite.ts b/apps/server/src/persistence/Layers/Sqlite.ts index 461c681737..8ed04170a1 100644 --- a/apps/server/src/persistence/Layers/Sqlite.ts +++ b/apps/server/src/persistence/Layers/Sqlite.ts @@ -35,6 +35,9 @@ const setup = Layer.effectDiscard( }), ); +const makeSqlitePersistenceLayer = (config: RuntimeSqliteLayerConfig) => + Layer.provideMerge(setup, makeRuntimeSqliteLayer(config)); + export const makeSqlitePersistenceLive = Effect.fn("makeSqlitePersistenceLive")(function* ( dbPath: string, ) { @@ -42,7 +45,7 @@ export const makeSqlitePersistenceLive = Effect.fn("makeSqlitePersistenceLive")( const path = yield* Path.Path; yield* fs.makeDirectory(path.dirname(dbPath), { recursive: true }); - const sqliteLayer = makeRuntimeSqliteLayer({ + return makeSqlitePersistenceLayer({ filename: dbPath, spanAttributes: { "db.name": path.basename(dbPath), @@ -50,13 +53,7 @@ export const makeSqlitePersistenceLive = Effect.fn("makeSqlitePersistenceLive")( }, }); - return Layer.provideMerge(setup, sqliteLayer); -}, Layer.unwrap); - -export const SqlitePersistenceMemory = Layer.provideMerge( - setup, - makeRuntimeSqliteLayer({ filename: ":memory:" }), -); +export const SqlitePersistenceMemory = makeSqlitePersistenceLayer({ filename: ":memory:" }); export const layerConfig = Layer.unwrap( Effect.map(Effect.service(ServerConfig), ({ dbPath }) => makeSqlitePersistenceLive(dbPath)), From d90deec950eb74cb87de5d5ac1f44b5575bacafc Mon Sep 17 00:00:00 2001 From: Josh <160112355+Josh-wt@users.noreply.github.com> Date: Sat, 11 Apr 2026 15:13:16 +0530 Subject: [PATCH 3/3] docs(server): annotate sqlite layer ordering to avoid merge regressions --- apps/server/src/persistence/Layers/Sqlite.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/server/src/persistence/Layers/Sqlite.ts b/apps/server/src/persistence/Layers/Sqlite.ts index 8ed04170a1..709a88c30e 100644 --- a/apps/server/src/persistence/Layers/Sqlite.ts +++ b/apps/server/src/persistence/Layers/Sqlite.ts @@ -35,6 +35,8 @@ const setup = Layer.effectDiscard( }), ); + // `setup` depends on SqlClient, so runtime layer must be provided into `setup`. + // Keep ordering consistent with file-backed persistence (setup requires SqlClient). const makeSqlitePersistenceLayer = (config: RuntimeSqliteLayerConfig) => Layer.provideMerge(setup, makeRuntimeSqliteLayer(config));