tailscale / tailscale

The easiest, most secure way to use WireGuard and 2FA.
https://tailscale.com
BSD 3-Clause "New" or "Revised" License
17.52k stars 1.34k forks source link

FR: Wear OS support #3972

Open sergmaxin opened 2 years ago

sergmaxin commented 2 years ago

What are you trying to do?

i want to access via vpn to Home Assistant (Wear OS client)

How should we solve this?

Wear OS support

What is the impact of not solving this?

No response

Anything else?

No response

bootstrap-prime commented 2 years ago

Seconding this - wearos support would be incredibly convenient. I attempted to sideload the normal tailscale app, assuming it'd be a little wonky but work since wearos is just android, and I was able to log in to tailscale. Unfortunately, after sign in it would just consistently crash. (not sure how to get debug logs from the watch, unfortunately.)

bradfitz commented 2 years ago

What does adb logcat say when it crashes?

bootstrap-prime commented 2 years ago

I'm not sure how to interpret the logs, and the log of the few seconds is rather large (4.8MB). should I load it into a gist and toss a link? (I'm not sure if adb logcat can contain sensitive information)

DentonGentry commented 2 years ago

You're welcome to email a link to support@tailscale.com and reference issue 3972, to keep it out of the public bug.

DentonGentry commented 2 years ago

I think this is it, dlopen failed: library "libgio.so" not found:

05-30 16:21:14.604  5714  5714 D AndroidRuntime: Shutting down VM
05-30 16:21:14.614  5714  5714 E AndroidRuntime: FATAL EXCEPTION: main
05-30 16:21:14.614  5714  5714 E AndroidRuntime: Process: com.tailscale.ipn, PID: 5714
05-30 16:21:14.614  5714  5714 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "libgio.so" not found
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at java.lang.System.loadLibrary(System.java:1664)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at org.gioui.Gio.init(Gio.java:37)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at com.tailscale.ipn.App.onCreate(App.java:93)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6746)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.app.ActivityThread.access$1300(ActivityThread.java:241)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1920)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:246)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7690)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
05-30 16:21:14.614  5714  5714 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
05-30 16:21:14.627   555  3018 D Debug   : low && ship && 3rd party app crash, so skip dump
05-30 16:21:14.631   555  7116 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
05-30 16:21:14.631   555  3018 W ActivityTaskManager:   Force finishing activity com.tailscale.ipn/.IPNActivity
bootstrap-prime commented 2 years ago

Is there any other information I can provide to assist diagnosis and fix?

DentonGentry commented 2 years ago

What model is the wearOS device?

I don't immediately know why libgio is missing, it is bundled into the Tailscale app.

bradfitz commented 2 years ago

Probably a missing 32-bit architecture.

bootstrap-prime commented 2 years ago

Galaxy Watch 4 SM-R860

DentonGentry commented 1 year ago

Galaxy Watch 4 SM-R860

Exynos W920 dual core 1.18 GHz CPU It is an ARM Cortex A55, which is an ARM64 v8.2

osh91 commented 1 year ago

I have a Samsung watch pro 5. It would be nice if you guys can do it with a smartwatch.

DentonGentry commented 1 year ago

Samsung Watch Pro 5 uses an Exynos W920, which is a dual Cortex-A55. Cortex-A55 is an arm64.

Even if we sort out why libgio is missing, we'd need a different UI to be functional on a watch form factor.

filviu commented 2 weeks ago

I think the phone app can "pair" (for lack of a better word) with the watch app. I have e.g. a 2fa authenticator app that automatically picks up all the accounts from the phone version and automagically adds them to the watch app without interaction. This way authenticating a watch could be a lot easier as it would be handled on the phone.

Use case for me:

Tbh I agree that the business use case might not be here - I'm not aware of many use cases that could benefit from it - maybe bragging rights ? "The only vpn with a watch app" 😄