diff --git a/apps/mobile/README.md b/apps/mobile/README.md
index 6fee3e8..67963a0 100644
--- a/apps/mobile/README.md
+++ b/apps/mobile/README.md
@@ -5,7 +5,7 @@ phone, over end-to-end encrypted Nostr. No accounts and no central server: the
phone and the bridge pair directly by scanning a QR code.
`@codedeck/mobile` is the Tauri v2 Android shell — a React + TypeScript webview
-over a small Rust host. Android appId `com.codedeck.next`; signed
+over a small Rust host. Android appId `com.codedeck.plus`; signed
`codedeck-vX.Y.Z.apk` builds are attached to each
[GitHub release](https://github.com/deymosh/codedeck-plus/releases).
@@ -32,8 +32,9 @@ CodeDeck+ additions on top of upstream:
The app is one half of a pair. Run [`@codedeck/bridge`](../bridge/README.md) —
the headless CLI / systemd connector — on the machine where Claude Code lives
(installed from a release tarball; it is not on npm). Both sides speak protocol
-**v10 only**. This is a clean break from the original CodeDeck
-(`com.codedeck.app`): different Android appId, so the two install side by side,
+**v10 only**. CodeDeck+ has its own Android appId (`com.codedeck.plus`),
+distinct from both the original CodeDeck (`com.codedeck.app`) and upstream
+CodeDeck Next (`com.codedeck.next`), so it installs side by side with either —
but pairings, history and settings do not carry over.
## Build from source
diff --git a/apps/mobile/src-tauri/gen/android/app/.gitignore b/apps/mobile/src-tauri/gen/android/app/.gitignore
index 7140bc0..bc4ec84 100644
--- a/apps/mobile/src-tauri/gen/android/app/.gitignore
+++ b/apps/mobile/src-tauri/gen/android/app/.gitignore
@@ -1,4 +1,4 @@
-/src/main/java/com/codedeck/next/generated
+/src/main/java/com/codedeck/plus/generated
/src/main/jniLibs/**/*.so
/src/main/assets/tauri.conf.json
/tauri.build.gradle.kts
diff --git a/apps/mobile/src-tauri/gen/android/app/build.gradle.kts b/apps/mobile/src-tauri/gen/android/app/build.gradle.kts
index 40ab14e..889f90c 100644
--- a/apps/mobile/src-tauri/gen/android/app/build.gradle.kts
+++ b/apps/mobile/src-tauri/gen/android/app/build.gradle.kts
@@ -24,10 +24,10 @@ val keystoreProperties = Properties().apply {
android {
compileSdk = 36
- namespace = "com.codedeck.next"
+ namespace = "com.codedeck.plus"
defaultConfig {
manifestPlaceholders["usesCleartextTraffic"] = "false"
- applicationId = "com.codedeck.next"
+ applicationId = "com.codedeck.plus"
minSdk = 24
targetSdk = 36
versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt()
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/java/com/codedeck/next/MainActivity.kt b/apps/mobile/src-tauri/gen/android/app/src/main/java/com/codedeck/plus/MainActivity.kt
similarity index 89%
rename from apps/mobile/src-tauri/gen/android/app/src/main/java/com/codedeck/next/MainActivity.kt
rename to apps/mobile/src-tauri/gen/android/app/src/main/java/com/codedeck/plus/MainActivity.kt
index 21a7b43..5b844b4 100644
--- a/apps/mobile/src-tauri/gen/android/app/src/main/java/com/codedeck/next/MainActivity.kt
+++ b/apps/mobile/src-tauri/gen/android/app/src/main/java/com/codedeck/plus/MainActivity.kt
@@ -1,4 +1,4 @@
-package com.codedeck.next
+package com.codedeck.plus
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index 28f1aa1..213ae2b 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
index 85d0c88..ab0df6b 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
index 28f1aa1..f19fb79 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 73e48db..48f78bf 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
index 13dd214..2431940 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
index 73e48db..20213ac 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 1d98044..2073826 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
index a888b33..49cf387 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
index 1d98044..c0cccd0 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 0818324..6335ffb 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
index a2a838e..1610e84 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
index 0818324..1a39513 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index b18bceb..2f0ae0f 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
index 3f8a57f..31b18f2 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
index b18bceb..b42b59d 100644
Binary files a/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and b/apps/mobile/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/apps/mobile/src-tauri/gen/android/app/src/main/res/values/strings.xml b/apps/mobile/src-tauri/gen/android/app/src/main/res/values/strings.xml
index b3298a8..d1b93e8 100644
--- a/apps/mobile/src-tauri/gen/android/app/src/main/res/values/strings.xml
+++ b/apps/mobile/src-tauri/gen/android/app/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
- CodeDeck Next
- CodeDeck Next
-
\ No newline at end of file
+ CodeDeck+
+ CodeDeck+
+
diff --git a/apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/next/kotlin/BuildTask.kt b/apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/plus/kotlin/BuildTask.kt
similarity index 100%
rename from apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/next/kotlin/BuildTask.kt
rename to apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/plus/kotlin/BuildTask.kt
diff --git a/apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/next/kotlin/RustPlugin.kt b/apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/plus/kotlin/RustPlugin.kt
similarity index 100%
rename from apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/next/kotlin/RustPlugin.kt
rename to apps/mobile/src-tauri/gen/android/buildSrc/src/main/java/com/codedeck/plus/kotlin/RustPlugin.kt
diff --git a/apps/mobile/src-tauri/icons/128x128.png b/apps/mobile/src-tauri/icons/128x128.png
index 77e7d23..73778c9 100644
Binary files a/apps/mobile/src-tauri/icons/128x128.png and b/apps/mobile/src-tauri/icons/128x128.png differ
diff --git a/apps/mobile/src-tauri/icons/128x128@2x.png b/apps/mobile/src-tauri/icons/128x128@2x.png
index 0f7976f..459c6b9 100644
Binary files a/apps/mobile/src-tauri/icons/128x128@2x.png and b/apps/mobile/src-tauri/icons/128x128@2x.png differ
diff --git a/apps/mobile/src-tauri/icons/32x32.png b/apps/mobile/src-tauri/icons/32x32.png
index 98fda06..4bfe62e 100644
Binary files a/apps/mobile/src-tauri/icons/32x32.png and b/apps/mobile/src-tauri/icons/32x32.png differ
diff --git a/apps/mobile/src-tauri/icons/icon.png b/apps/mobile/src-tauri/icons/icon.png
index d1756ce..f2ca99d 100644
Binary files a/apps/mobile/src-tauri/icons/icon.png and b/apps/mobile/src-tauri/icons/icon.png differ
diff --git a/apps/mobile/src-tauri/tauri.conf.json b/apps/mobile/src-tauri/tauri.conf.json
index 8be3427..b8cd2d1 100644
--- a/apps/mobile/src-tauri/tauri.conf.json
+++ b/apps/mobile/src-tauri/tauri.conf.json
@@ -2,7 +2,7 @@
"$schema": "https://schema.tauri.app/config/2",
"productName": "CodeDeck+",
"version": "0.10.0",
- "identifier": "com.codedeck.next",
+ "identifier": "com.codedeck.plus",
"build": {
"frontendDist": "../dist",
"devUrl": "http://localhost:1420",
diff --git a/apps/mobile/src/ui/screens/MeshSection.tsx b/apps/mobile/src/ui/screens/MeshSection.tsx
index 9ed6ce7..5f20b73 100644
--- a/apps/mobile/src/ui/screens/MeshSection.tsx
+++ b/apps/mobile/src/ui/screens/MeshSection.tsx
@@ -39,7 +39,7 @@ const isTauri = typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window
/** One-time USB grant that makes the test-target toggle zero-touch (the
* permission is `development`-flagged: grantable via adb, never via a tap). */
-const WD_GRANT_CMD = 'adb shell pm grant com.codedeck.next android.permission.WRITE_SECURE_SETTINGS';
+const WD_GRANT_CMD = 'adb shell pm grant com.codedeck.plus android.permission.WRITE_SECURE_SETTINGS';
let defaultApi: MeshApi | null = null;
function api(): MeshApi {
diff --git a/apps/mobile/tauri-plugin-mesh/android/src/main/AndroidManifest.xml b/apps/mobile/tauri-plugin-mesh/android/src/main/AndroidManifest.xml
index a6d2424..dd6cc07 100644
--- a/apps/mobile/tauri-plugin-mesh/android/src/main/AndroidManifest.xml
+++ b/apps/mobile/tauri-plugin-mesh/android/src/main/AndroidManifest.xml
@@ -17,7 +17,7 @@