From dddba0704f63b500d75f61b327cef6744f67731b Mon Sep 17 00:00:00 2001 From: James Rich Date: Wed, 6 May 2026 13:36:39 -0500 Subject: [PATCH] feat(database): enable WAL connection pool for parallel reads Room 3.0.0-alpha04 adds setMultipleConnectionPool(). Enable it with 4 readers / 1 writer to allow concurrent read operations (paging, multiple Flow collectors) without contention. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../kotlin/org/meshtastic/core/database/MeshtasticDatabase.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/database/src/commonMain/kotlin/org/meshtastic/core/database/MeshtasticDatabase.kt b/core/database/src/commonMain/kotlin/org/meshtastic/core/database/MeshtasticDatabase.kt index d329d184c..b46d3b360 100644 --- a/core/database/src/commonMain/kotlin/org/meshtastic/core/database/MeshtasticDatabase.kt +++ b/core/database/src/commonMain/kotlin/org/meshtastic/core/database/MeshtasticDatabase.kt @@ -120,7 +120,9 @@ abstract class MeshtasticDatabase : RoomDatabase() { companion object { /** Configures a [RoomDatabase.Builder] with standard settings for this project. */ fun RoomDatabase.Builder.configureCommon(): RoomDatabase.Builder = - this.fallbackToDestructiveMigration(dropAllTables = false).setQueryCoroutineContext(ioDispatcher) + this.fallbackToDestructiveMigration(dropAllTables = false) + .setMultipleConnectionPool(maxNumOfReaders = 4, maxNumOfWriters = 1) + .setQueryCoroutineContext(ioDispatcher) } }