Skip to content

Commit 2d76e45

Browse files
authored
Merge branch 'main' into kari/taildropsaf
Signed-off-by: kari-ts <[email protected]>
2 parents 3e15c26 + ff4a49a commit 2d76e45

File tree

14 files changed

+99
-141
lines changed

14 files changed

+99
-141
lines changed

.github/workflows/android.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ jobs:
1616

1717
steps:
1818
- name: Check out code
19-
uses: actions/checkout@v3
20-
- uses: actions/setup-go@v5
19+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
20+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
2121
with:
2222
go-version-file: "go.mod"
2323
- name: Switch to Java 17 # Note: 17 is pre-installed on ubuntu-latest
24-
uses: actions/setup-java@v3
24+
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
2525
with:
2626
distribution: "temurin"
2727
java-version: "17"

.github/workflows/go_mod_tidy.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919

2020
steps:
2121
- name: Check out code
22-
uses: actions/checkout@v4
22+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2323

2424
- name: Set up Go
25-
uses: actions/setup-go@v5
25+
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
2626
with:
2727
cache: false
2828
go-version-file: go.mod

.github/workflows/license-headers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: checkout
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1818
- name: check license headers
1919
run: ./scripts/check_license_headers.sh .

Makefile

+4-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# with this name, it will be used.
1111
#
1212
# The convention here is tailscale-android-build-amd64-<date>
13-
DOCKER_IMAGE := tailscale-android-build-amd64-031325-1
13+
DOCKER_IMAGE := tailscale-android-build-amd64-041425-1
1414
export TS_USE_TOOLCHAIN=1
1515

1616
# Auto-select an NDK from ANDROID_HOME (choose highest version available)
@@ -355,13 +355,12 @@ docker-remove-build-image: ## Removes the current docker build image
355355
docker-all: docker-build-image docker-run-build $(DOCKER_IMAGE)
356356

357357
.PHONY: docker-shell
358-
docker-shell: ## Builds a docker image with the android build env and opens a shell
359-
docker build -f docker/DockerFile.amd64-shell -t tailscale-android-shell-amd64 .
360-
docker run --rm -v $(CURDIR):/build/tailscale-android -it tailscale-android-shell-amd64
358+
docker-shell: docker-build-image ## Builds a docker image with the android build env and opens a shell
359+
docker run --rm -v $(CURDIR):/build/tailscale-android -it $(DOCKER_IMAGE) /bin/bash
361360

362361
.PHONY: docker-remove-shell-image
363362
docker-remove-shell-image: ## Removes all docker shell image
364-
docker rmi --force tailscale-android-shell-amd64
363+
@echo "docker-remove-shell-image retained for backward compatibility, but is a no-op; docker-shell now uses build image"
365364

366365
.PHONY: clean
367366
clean: ## Remove build artifacts. Does not purge docker build envs. Use dockerRemoveEnv for that.

android/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ dependencies {
139139
implementation "androidx.compose.animation:animation:1.7.4"
140140

141141
// Navigation dependencies.
142-
def nav_version = "2.8.2"
142+
def nav_version = "2.8.5"
143143
implementation "androidx.navigation:navigation-compose:$nav_version"
144144
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
145145

android/src/main/java/com/tailscale/ipn/ui/model/Ipn.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Ipn {
3131
}
3232
}
3333

34-
// A nofitication message recieved on the Notify bus. Fields will be populated based
34+
// A notification message received on the Notify bus. Fields will be populated based
3535
// on which NotifyWatchOpts were set when the Notifier was created.
3636
@Serializable
3737
data class Notify(

android/src/main/java/com/tailscale/ipn/ui/view/MainView.kt

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
package com.tailscale.ipn.ui.view
55

6+
import android.os.Build
67
import androidx.compose.foundation.ExperimentalFoundationApi
78
import androidx.compose.foundation.background
89
import androidx.compose.foundation.clickable
@@ -45,7 +46,6 @@ import androidx.compose.material3.OutlinedTextField
4546
import androidx.compose.material3.Scaffold
4647
import androidx.compose.material3.Text
4748
import androidx.compose.runtime.Composable
48-
import androidx.compose.runtime.DisposableEffect
4949
import androidx.compose.runtime.LaunchedEffect
5050
import androidx.compose.runtime.collectAsState
5151
import androidx.compose.runtime.derivedStateOf
@@ -548,13 +548,14 @@ fun PeerList(
548548
var isListFocussed by remember { mutableStateOf(false) }
549549
val expandedPeer = viewModel.expandedMenuPeer.collectAsState()
550550
val localClipboardManager = LocalClipboardManager.current
551-
val enableSearch = !isAndroidTV()
551+
// Restrict search to devices running API 33+ (see https://github.com/tailscale/corp/issues/27375)
552+
val enableSearch = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU
552553

553554
Column(modifier = Modifier.fillMaxSize()) {
554-
if (FeatureFlags.isEnabled("enable_new_search")) {
555+
if (enableSearch && FeatureFlags.isEnabled("enable_new_search")) {
555556
Search(onSearchBarClick)
556557
} else {
557-
if (enableSearch) {
558+
if (!isAndroidTV()) {
558559
Box(
559560
modifier =
560561
Modifier.fillMaxWidth().background(color = MaterialTheme.colorScheme.surface)) {

docker/DockerFile.amd64-build

+19-19
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,30 @@
33

44
FROM --platform=linux/amd64 eclipse-temurin:21
55

6-
# To enable running android tools such as aapt
7-
RUN apt-get update && apt-get -y upgrade
8-
RUN apt-get install -y libz1 libstdc++6 unzip zip
9-
# For Go:
10-
RUN apt-get -y --no-install-recommends install curl gcc
11-
RUN apt-get -y --no-install-recommends install ca-certificates libc6-dev git
12-
13-
RUN apt-get -y install make
14-
15-
RUN mkdir -p build
166
ENV HOME /build
17-
18-
# Make android sdk location, the later make step will populate it.
19-
RUN mkdir android-sdk
207
ENV ANDROID_HOME $HOME/android-sdk
218
ENV ANDROID_SDK_ROOT $ANDROID_HOME
229
ENV PATH $PATH:$HOME/bin:$ANDROID_HOME/platform-tools
2310

11+
RUN mkdir -p \
12+
${HOME} \
13+
/android-sdk \
14+
${ANDROID_HOME} \
15+
$HOME/tailscale-android
16+
17+
# To enable running android tools such as aapt
18+
COPY scripts/docker-build-apt-get.sh /tmp
19+
RUN chmod 755 /tmp/docker-build-apt-get.sh && \
20+
/tmp/docker-build-apt-get.sh && \
21+
rm -f /tmp/docker-build-apt-get.sh
22+
2423
# We need some version of Go new enough to support the "embed" package
2524
# to run "go run tailscale.com/cmd/printdep" to figure out which Tailscale Go
2625
# version we need later, but otherwise this toolchain isn't used:
27-
RUN curl -L https://go.dev/dl/go1.23.0.linux-amd64.tar.gz | tar -C /usr/local -zxv
28-
RUN ln -s /usr/local/go/bin/go /usr/bin
26+
RUN \
27+
curl -L https://go.dev/dl/go1.24.1.linux-amd64.tar.gz | tar -C /usr/local -zxv && \
28+
ln -s /usr/local/go/bin/go /usr/bin
2929

30-
RUN mkdir -p $HOME/tailscale-android
3130
RUN git config --global --add safe.directory $HOME/tailscale-android
3231
WORKDIR $HOME/tailscale-android
3332

@@ -37,10 +36,11 @@ COPY Makefile Makefile
3736
RUN make androidsdk
3837

3938
# Preload Gradle
40-
COPY android/gradlew android/gradlew
39+
COPY android/gradlew android/build.gradle android
4140
COPY android/gradle android/gradle
42-
RUN ./android/gradlew
41+
42+
RUN chmod 755 android/gradlew && \
43+
./android/gradlew
4344

4445
# Build the android app, bump the playstore version code, and make the tv release
4546
CMD make clean && make release && make bump_version_code && make release-tv
46-

docker/DockerFile.amd64-shell

-47
This file was deleted.

go.mod

+6-9
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ go 1.24.0
55
require (
66
github.com/tailscale/wireguard-go v0.0.0-20250304000100-91a0587fb251
77
golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab
8-
inet.af/netaddr v0.0.0-20220617031823-097006376321
9-
tailscale.com v1.81.0-pre.0.20250313173742-f0b395d851bb
8+
tailscale.com v1.83.0-pre.0.20250414201714-10fd61f1bb6b
109
)
1110

1211
require (
@@ -79,18 +78,16 @@ require (
7978
github.com/u-root/uio v0.0.0-20240224005618-d2acac8f3701 // indirect
8079
github.com/vishvananda/netns v0.0.4 // indirect
8180
github.com/x448/float16 v0.8.4 // indirect
82-
go4.org/intern v0.0.0-20211027215823-ae77deb06f29 // indirect
8381
go4.org/mem v0.0.0-20240501181205-ae6ca9944745 // indirect
8482
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
85-
go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 // indirect
86-
golang.org/x/crypto v0.35.0 // indirect
83+
golang.org/x/crypto v0.37.0 // indirect
8784
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac // indirect
8885
golang.org/x/mod v0.23.0 // indirect
8986
golang.org/x/net v0.36.0 // indirect
90-
golang.org/x/sync v0.11.0 // indirect
91-
golang.org/x/sys v0.31.0 // indirect
92-
golang.org/x/term v0.29.0 // indirect
93-
golang.org/x/text v0.22.0 // indirect
87+
golang.org/x/sync v0.13.0 // indirect
88+
golang.org/x/sys v0.32.0 // indirect
89+
golang.org/x/term v0.31.0 // indirect
90+
golang.org/x/text v0.24.0 // indirect
9491
golang.org/x/time v0.10.0 // indirect
9592
golang.org/x/tools v0.30.0 // indirect
9693
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect

0 commit comments

Comments
 (0)