diff --git a/briar b/briar
index fe31e60e66917f9377f6465f3c883b95f95fd895..b88dbee8818fa4f650ec7bd96afa23f78fd1ac88 160000
--- a/briar
+++ b/briar
@@ -1 +1 @@
-Subproject commit fe31e60e66917f9377f6465f3c883b95f95fd895
+Subproject commit b88dbee8818fa4f650ec7bd96afa23f78fd1ac88
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopCoreModule.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopCoreModule.kt
index 21c3a3020097a006d6d2be312e2d9cc876a43251..21e278a7617dd7e50afc32a87e6bcf55514a4bbc 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopCoreModule.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopCoreModule.kt
@@ -40,6 +40,7 @@ import org.briarproject.bramble.io.DnsModule
 import org.briarproject.bramble.mailbox.MailboxModule
 import org.briarproject.bramble.mailbox.ModularMailboxModule
 import org.briarproject.bramble.network.JavaNetworkModule
+import org.briarproject.bramble.plugin.tor.CircumventionModule
 import org.briarproject.bramble.socks.SocksModule
 import org.briarproject.bramble.system.ClockModule
 import org.briarproject.bramble.system.DefaultTaskSchedulerModule
@@ -69,7 +70,6 @@ import org.briarproject.briar.desktop.ui.MessageCounter
 import org.briarproject.briar.desktop.ui.MessageCounterImpl
 import org.briarproject.briar.desktop.viewmodel.ViewModelModule
 import org.briarproject.briar.identity.IdentityModule
-import org.briarproject.onionwrapper.CircumventionModule
 import java.io.File
 import java.nio.file.Path
 import java.util.concurrent.Executor
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt
index 9e9ccde22152ab264eaedec1407a6c1d6fb7354a..6afca8aa1b50ed6350852db2e67d188eb2f6e293 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt
@@ -47,7 +47,6 @@ internal class DesktopModule {
         override fun shouldEnablePrivateGroupsInCore() = desktopFeatureFlags.shouldEnablePrivateGroups()
         override fun shouldEnableForumsInCore() = desktopFeatureFlags.shouldEnableForums()
         override fun shouldEnableBlogsInCore() = desktopFeatureFlags.shouldEnableBlogs()
-        override fun shouldEnableMailbox() = false
     }
 
     @Provides
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/navigation/BriarSidebar.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/navigation/BriarSidebar.kt
index d8b408af28688b0eec23c97efeeef4e08902fdb4..f7444f7d3c29f8c34385ee020e202fa960825199 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/navigation/BriarSidebar.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/navigation/BriarSidebar.kt
@@ -96,7 +96,7 @@ fun BriarSidebar(
         Spacer(Modifier.weight(1f))
 
         if (configuration.shouldEnableTransportSettings()) BriarSidebarButton(UiMode.TRANSPORTS)
-        if (configuration.shouldEnableMailbox()) BriarSidebarButton(
+        BriarSidebarButton(
             selected = uiMode == UiMode.MAILBOX,
             onClick = { setUiMode(UiMode.MAILBOX) },
             icon = UiMode.MAILBOX.icon,
diff --git a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt
index 61b2854139a4a06bc96c4e55c43f1098e2b43b0a..eec5e47201e1b5cd5d7d73087f0d1917312a4e97 100644
--- a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt
+++ b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/DesktopTestModule.kt
@@ -51,7 +51,6 @@ internal class DesktopTestModule {
         override fun shouldEnablePrivateGroupsInCore() = desktopFeatureFlags.shouldEnablePrivateGroups()
         override fun shouldEnableForumsInCore() = desktopFeatureFlags.shouldEnableForums()
         override fun shouldEnableBlogsInCore() = desktopFeatureFlags.shouldEnableBlogs()
-        override fun shouldEnableMailbox() = true
     }
 
     @Provides
diff --git a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestMixedConversations.kt b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestMixedConversations.kt
index 41647e12e712bd562a201f7d497ad1db8236106a..9b9108bfb717dfb4eafc46ff77418ddef19fe665 100644
--- a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestMixedConversations.kt
+++ b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestMixedConversations.kt
@@ -20,5 +20,5 @@ package org.briarproject.briar.desktop
 
 fun main() = RunWithTemporaryAccount {
     getDeterministicTestDataCreator().createTestData(5, 20, 50, 10, 20)
-    getTestDataCreator().createTestData(5, 20, 50, 4, 10, 10)
+    getTestDataCreator().createTestData(5, 20, 50, 4, 10, 10, 10, 10)
 }.run()
diff --git a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestRandomConversations.kt b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestRandomConversations.kt
index d832d410a2aff49ba483f2a64481867a4fbbef04..dd7806bfa70cc7505597477d5aa5a58ed2f413b4 100644
--- a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestRandomConversations.kt
+++ b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/TestRandomConversations.kt
@@ -19,5 +19,5 @@
 package org.briarproject.briar.desktop
 
 fun main() = RunWithTemporaryAccount {
-    getTestDataCreator().createTestData(5, 20, 50, 4, 10, 42)
+    getTestDataCreator().createTestData(5, 20, 50, 4, 4, 23, 4, 23)
 }.run()
diff --git a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/testdata/DeterministicTestDataCreatorImpl.kt b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/testdata/DeterministicTestDataCreatorImpl.kt
index 18d00fc7d85ab4b8d1b0d4c39ec3382f66dd8acb..ea06b3273348166e75d36c117f7ae32c3b1add42 100644
--- a/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/testdata/DeterministicTestDataCreatorImpl.kt
+++ b/briar-desktop/src/test/kotlin/org/briarproject/briar/desktop/testdata/DeterministicTestDataCreatorImpl.kt
@@ -143,7 +143,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
         numPrivateMsgs: Int,
         avatarPercent: Int,
         numPrivateGroups: Int,
-        numPrivateGroupPosts: Int
+        numPrivateGroupPosts: Int,
     ) {
         val contacts = createContacts(numContacts, avatarPercent)
         createPrivateMessages(contacts, numPrivateMsgs)
@@ -333,7 +333,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
     @Throws(DbException::class)
     private fun createPrivateMessages(
         contacts: List<ContactId>,
-        numPrivateMsgs: Int
+        numPrivateMsgs: Int,
     ) {
         for (i in contacts.indices) {
             val contactId = contacts[i]
@@ -354,7 +354,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
     private fun createPrivateMessage(
         contactId: ContactId,
         groupId: GroupId,
-        message: Message
+        message: Message,
     ) {
         val timestamp = message.date.toEpochSecond(ZoneOffset.UTC) * 1000
         val text = message.text
@@ -372,7 +372,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
         images: List<String>,
         timestamp: Long,
         local: Boolean,
-        autoDelete: Boolean
+        autoDelete: Boolean,
     ) {
         val timer =
             if (autoDelete) AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS else AutoDeleteConstants.NO_AUTO_DELETE_TIMER
@@ -414,7 +414,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
         for (i in 0 until min(numPrivateGroups, GROUP_NAMES.size)) {
             // create private group
             val name = GROUP_NAMES[i]
-            var creator = identityManager.localAuthor
+            val creator = identityManager.localAuthor
             val privateGroup = privateGroupFactory.createPrivateGroup(name, creator)
             val joinMsg = groupMessageFactory.createJoinMessage(
                 privateGroup.id,
@@ -436,7 +436,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
     private fun createRandomPrivateGroupMessages(
         privateGroup: PrivateGroup,
         contacts: List<ContactId>,
-        numPrivateGroupMessages: Int
+        numPrivateGroupMessages: Int,
     ) {
         // TODO
     }
diff --git a/build.gradle.kts b/build.gradle.kts
index e2304f4d4b1c7d07b0ac7cda2356e205b044d5b9..839a623e63a9fbbefe55783542a51ca02d329cb2 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -28,15 +28,15 @@ buildscript {
 
     // keep version here in sync when updating briar
     dependencies {
-        classpath("ru.vyarus:gradle-animalsniffer-plugin:1.5.3")
+        classpath("ru.vyarus:gradle-animalsniffer-plugin:1.7.0")
         classpath(files("briar/libs/gradle-witness.jar"))
     }
 
     // keep version here in sync when updating briar
     extra.apply {
-        set("kotlin_version", "1.7.10") // todo: different version used in Briar-Desktop?!
-        set("dagger_version", "2.43.2")
-        set("okhttp_version", "3.12.13")
+        set("kotlin_version", "1.8.20") // todo: different version used in Briar-Desktop?!
+        set("dagger_version", "2.45")
+        set("okhttp_version", "4.10.0")
         set("jackson_version", "2.13.4")
         set("tor_version", "0.4.7.13-2")
         set("obfs4proxy_version", "0.0.14-tor2")
@@ -45,8 +45,8 @@ buildscript {
         set("bouncy_castle_version", "1.71")
         set("junit_version", "4.13.2")
         set("jmock_version", "2.12.0")
-        set("mockwebserver_version", "4.9.3")
-        set("onionwrapper_version", "0.0.1")
+        set("mockwebserver_version", "4.10.0")
+        set("onionwrapper_version", "0.0.2")
     }
 }
 
diff --git a/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt b/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
index ebd2d289aad4ad45f5ffa587b65e10ed8eab01c9..ff904cc5ee1c82c01be50944a096619f342cd232 100644
--- a/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
+++ b/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
@@ -42,7 +42,7 @@ import java.nio.file.StandardCopyOption
 open class GenerateBuildDataSourceTask : AbstractBuildDataTask() {
 
     companion object {
-        val LICENSES = buildMap<UnversionedArtifact, String> {
+        val LICENSES = buildMap {
             put(UnversionedArtifact("ch.qos.logback", "logback-classic"), "EPL 1.0/LGPL 2.1")
             put(UnversionedArtifact("ch.qos.logback", "logback-core"), "EPL 1.0/LGPL 2.1")
             put(UnversionedArtifact("com.fasterxml.jackson.core", "jackson-annotations"), "Apache 2.0")
@@ -56,7 +56,7 @@ open class GenerateBuildDataSourceTask : AbstractBuildDataTask() {
             put(UnversionedArtifact("com.rometools", "rome"), "Apache 2.0")
             put(UnversionedArtifact("com.rometools", "rome-utils"), "Apache 2.0")
             put(UnversionedArtifact("com.squareup.okhttp3", "okhttp"), "Apache 2.0")
-            put(UnversionedArtifact("com.squareup.okio", "okio"), "Apache 2.0")
+            put(UnversionedArtifact("com.squareup.okio", "okio-jvm"), "Apache 2.0")
             put(UnversionedArtifact("de.mobanisto", "toast4j"), "MIT")
             put(UnversionedArtifact("io.github.microutils", "kotlin-logging-jvm"), "Apache 2.0")
             put(UnversionedArtifact("javax.inject", "javax.inject"), "Apache 2.0")