From 26b133825d57f0509f886f8adf98d9498c3eb533 Mon Sep 17 00:00:00 2001 From: Segi Date: Sun, 11 Jan 2026 14:33:06 -0800 Subject: [PATCH 1/5] Fixed: Tailscale will not reconnect to the Tailscale network after using another VPN until Tailscale app is force closed because currentState=Ipn.State.Stopping on subsequent attempts to start TS Signed-off-by: Segi --- README.md | 2 ++ android/build.gradle | 1 + .../main/java/com/tailscale/ipn/ui/viewModel/MainViewModel.kt | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/README.md b/README.md index e07206131e..b5c0d7020e 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ If you installed Android Studio the tools may not be in your path. To get the correct tool path, run `make androidpath` and export the provided path in your shell. +You will also need to run `make llibtailscale` to build the Tailscale AAR which is required to build the Android app. + #### Code Formatting The ktmft plugin on the default setting should be used to autoformat all Java, Kotlin diff --git a/android/build.gradle b/android/build.gradle index 8f64b3de8e..71d60435ea 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -85,6 +85,7 @@ android { buildConfigField "String", "GITHUB_2FA_SECRET", "\"" + getLocalProperty("github2FASecret", "")+"\"" } debug { + applicationIdSuffix ".debug" manifestPlaceholders.leanbackRequired = false } release { diff --git a/android/src/main/java/com/tailscale/ipn/ui/viewModel/MainViewModel.kt b/android/src/main/java/com/tailscale/ipn/ui/viewModel/MainViewModel.kt index 49ab557f32..716a5f3527 100644 --- a/android/src/main/java/com/tailscale/ipn/ui/viewModel/MainViewModel.kt +++ b/android/src/main/java/com/tailscale/ipn/ui/viewModel/MainViewModel.kt @@ -210,6 +210,10 @@ class MainViewModel(private val appViewModel: AppViewModel) : IpnViewModel() { val currentState = Notifier.state.value if (desiredState) { + if (currentState != Ipn.State.Stopped) { + stopVPN() + } + // User wants to turn ON the VPN when { currentState != Ipn.State.Running -> startVPN() From 1bf3c295969487450ff03a2023331f798f50632e Mon Sep 17 00:00:00 2001 From: Segi Date: Sun, 11 Jan 2026 17:35:42 -0800 Subject: [PATCH 2/5] Apply same fix when using TileService Signed-off-by: Segi --- android/src/main/java/com/tailscale/ipn/QuickToggleService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/com/tailscale/ipn/QuickToggleService.java b/android/src/main/java/com/tailscale/ipn/QuickToggleService.java index f2374ccbf0..ecb4103810 100644 --- a/android/src/main/java/com/tailscale/ipn/QuickToggleService.java +++ b/android/src/main/java/com/tailscale/ipn/QuickToggleService.java @@ -97,6 +97,7 @@ private void onTileClick() { if (needsToStop) { app.stopVPN(); } else { + app.stopVPN(); app.startVPN(); } } From 453b83254d128a5e010f1d4ddf539a776f1b5ead Mon Sep 17 00:00:00 2001 From: Segi Date: Mon, 9 Feb 2026 18:39:43 -0800 Subject: [PATCH 3/5] Fix typo in make libtailscale command Signed-off-by: Segi --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b5c0d7020e..fdf6284778 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ If you installed Android Studio the tools may not be in your path. To get the correct tool path, run `make androidpath` and export the provided path in your shell. -You will also need to run `make llibtailscale` to build the Tailscale AAR which is required to build the Android app. +You will also need to run `make libtailscale` to build the Tailscale AAR which is required to build the Android app. #### Code Formatting From 20a2b4c03b99f5282361143b1b5e503119ccc64d Mon Sep 17 00:00:00 2001 From: Segi Date: Wed, 11 Feb 2026 19:02:45 -0800 Subject: [PATCH 4/5] Small fix. Updates #17190 Signed-off-by: Segi --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdf6284778..dc20284692 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Tailscale Android Client - + https://tailscale.com Private WireGuard® networks made easy From 05a30651d7153254914a64bda8af4ae933d2e095 Mon Sep 17 00:00:00 2001 From: Segi Date: Wed, 11 Feb 2026 19:04:34 -0800 Subject: [PATCH 5/5] Remove debug prefix. Updates #17190 Signed-off-by: Segi --- android/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index 71d60435ea..8f64b3de8e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -85,7 +85,6 @@ android { buildConfigField "String", "GITHUB_2FA_SECRET", "\"" + getLocalProperty("github2FASecret", "")+"\"" } debug { - applicationIdSuffix ".debug" manifestPlaceholders.leanbackRequired = false } release {