diff --git a/briar-desktop/build.gradle.kts b/briar-desktop/build.gradle.kts
index c3f86fa97885449ac1fd671c469cb1da4bfe0464..ad11ad3d11f95237a58706cabadd9e1143b96689 100644
--- a/briar-desktop/build.gradle.kts
+++ b/briar-desktop/build.gradle.kts
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 plugins {
     kotlin("jvm") version "1.7.20"
     kotlin("kapt") version "1.7.20"
-    id("org.jetbrains.compose") version "1.3.0"
+    id("org.jetbrains.compose") version "1.4.3"
     id("de.mobanisto.pinpit") version "0.5.0"
     id("java")
     id("idea")
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogInput.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogInput.kt
index ace699076d19cd8aecd6eb87a3db02fa8656c359..a240addce8ffb9da7637e5d27a8f8f47eec8bad2 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogInput.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogInput.kt
@@ -40,7 +40,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Alignment.Companion.Top
 import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.input.pointer.PointerIconDefaults
+import androidx.compose.ui.input.pointer.PointerIcon
 import androidx.compose.ui.input.pointer.pointerHoverIcon
 import androidx.compose.ui.unit.dp
 import org.briarproject.bramble.util.StringUtils.utf8IsTooLong
@@ -131,7 +131,7 @@ fun BlogInput(
                     modifier = Modifier
                         .padding(4.dp)
                         .size(32.dp)
-                        .pointerHoverIcon(PointerIconDefaults.Default),
+                        .pointerHoverIcon(PointerIcon.Default),
                 )
             }
         )
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/add/remote/AddContactDialog.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/add/remote/AddContactDialog.kt
index f08c78a85bdef742c9db1b61d750a9740f8d275d..93c43e62d3e08970476403bf917a19a89c4bee11 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/add/remote/AddContactDialog.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/add/remote/AddContactDialog.kt
@@ -67,7 +67,7 @@ import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.focus.FocusRequester
 import androidx.compose.ui.focus.focusRequester
-import androidx.compose.ui.input.pointer.PointerIconDefaults
+import androidx.compose.ui.input.pointer.PointerIcon
 import androidx.compose.ui.input.pointer.pointerHoverIcon
 import androidx.compose.ui.platform.ClipboardManager
 import androidx.compose.ui.platform.LocalClipboardManager
@@ -423,7 +423,7 @@ private fun ContactLink(
                         }
                     }
                 },
-                modifier = Modifier.pointerHoverIcon(PointerIconDefaults.Default)
+                modifier = Modifier.pointerHoverIcon(PointerIcon.Default)
             )
         }
     )
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt
index 6c11e914aafe51f517ae0c29db65720adb910a59..19f8bff69f117771ba7ec73db8199839ba589128 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt
@@ -1,6 +1,6 @@
 /*
  * Briar Desktop
- * Copyright (C) 2021-2022 The Briar Project
+ * Copyright (C) 2021-2023 The Briar Project
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -45,7 +45,7 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.ImageBitmap
-import androidx.compose.ui.input.pointer.PointerIconDefaults
+import androidx.compose.ui.input.pointer.PointerIcon
 import androidx.compose.ui.input.pointer.pointerHoverIcon
 import androidx.compose.ui.res.ResourceLoader
 import androidx.compose.ui.res.loadImageBitmap
@@ -132,7 +132,7 @@ fun ConversationInput(
                     iconTint = MaterialTheme.colors.sendButton,
                     contentDescription = i18n("access.message.send"),
                     onClick = onSend,
-                    modifier = Modifier.padding(4.dp).size(32.dp).pointerHoverIcon(PointerIconDefaults.Default),
+                    modifier = Modifier.padding(4.dp).size(32.dp).pointerHoverIcon(PointerIcon.Default),
                 )
             }
         )
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/threadedgroup/conversation/ThreadedGroupConversationInput.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/threadedgroup/conversation/ThreadedGroupConversationInput.kt
index f61e6445c377bf209bba054afe4aecd4085d3ff8..c5eaa6c3554d4a3cbe918b6861235fac565512f2 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/threadedgroup/conversation/ThreadedGroupConversationInput.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/threadedgroup/conversation/ThreadedGroupConversationInput.kt
@@ -41,7 +41,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.ui.Alignment.Companion.Top
 import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.input.pointer.PointerIconDefaults
+import androidx.compose.ui.input.pointer.PointerIcon
 import androidx.compose.ui.input.pointer.pointerHoverIcon
 import androidx.compose.ui.unit.dp
 import org.briarproject.bramble.util.StringUtils.utf8IsTooLong
@@ -137,7 +137,7 @@ fun ThreadedGroupConversationInput(
                     modifier = Modifier
                         .padding(4.dp)
                         .size(32.dp)
-                        .pointerHoverIcon(PointerIconDefaults.Default),
+                        .pointerHoverIcon(PointerIcon.Default),
                 )
             }
         )
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/ColoredIconButton.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/ColoredIconButton.kt
index 870c8ce0a492e9718afc8d43704568d8f814ab36..6eae21b0745b8628b852de5278bae7f0a80f7f79 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/ColoredIconButton.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/ColoredIconButton.kt
@@ -1,6 +1,6 @@
 /*
  * Briar Desktop
- * Copyright (C) 2021-2022 The Briar Project
+ * Copyright (C) 2021-2023 The Briar Project
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -34,7 +34,7 @@ import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.vector.ImageVector
-import androidx.compose.ui.input.pointer.PointerIconDefaults
+import androidx.compose.ui.input.pointer.PointerIcon
 import androidx.compose.ui.input.pointer.pointerHoverIcon
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
@@ -48,11 +48,11 @@ fun ColoredIconButton(
     contentColor: Color = contentColorFor(color),
     enabled: Boolean = true,
     interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
-    content: @Composable () -> Unit
+    content: @Composable () -> Unit,
 ) = IconButton(
     onClick = onClick,
     modifier = modifier
-        .pointerHoverIcon(PointerIconDefaults.Default)
+        .pointerHoverIcon(PointerIcon.Default)
         .background(color, CircleShape)
         .then(Modifier.size(32.dp)),
     enabled = enabled,
@@ -76,13 +76,13 @@ fun ColoredIconButton(
     color: Color = MaterialTheme.colors.primary,
     contentColor: Color = contentColorFor(color),
     enabled: Boolean = true,
-    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }
+    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
 ) = IconButton(
     icon = icon,
     contentDescription = contentDescription,
     onClick = onClick,
     modifier = modifier
-        .pointerHoverIcon(PointerIconDefaults.Default)
+        .pointerHoverIcon(PointerIcon.Default)
         .background(color, CircleShape)
         .then(Modifier.size(32.dp)),
     iconSize = iconSize,