Skip to content

v1.9.0

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Jul 19:23
92dd850

Summary

Highlights

The biggest wins this release: connecting the app securely to your AI client, giving it a stable public address, and making browser/WebView apps reliable to drive.

  • Secure one-tap connection — link the app to Claude.ai, Claude Desktop, and ChatGPT with a quick approval on your phone; no tokens to copy or paste (PR #109).
  • Fixed public hostname — Cloudflare named tunnels give a stable public URL that survives restarts (PR #111).
  • Browser support works — WebView reads are no longer stale, so browsers and WebView/hybrid apps are finally drivable (PR #115).

🌐 Browser & WebView Support

  • Fresh WebView reads (PR #115) — v1.8.0 collapsed WebView nodes, but Android's framework cached the accessibility tree, so after a page changed get_screen_state/find_nodes returned the previous screen and browsers looked frozen. Every read path now clears the framework cache first (with concurrent access serialized), making the whole class of browser, news, shopping, and hybrid apps reliable.

🔐 Self-Contained OAuth 2.1 Authorization Server (PR #109)

  • The app now acts as its own OAuth 2.1 authorization server with dynamic client registration and an on-device approval step, so Claude Desktop and other OAuth-capable connectors authenticate directly — no token copying, no empty-token workaround.
  • ChatGPT is now officially tested and works. As with Claude.ai, add it as a custom connector: in ChatGPT, enable Developer Mode (Settings → Security and login), then Settings → Plugins+ and enter the server URL.

📡 Remote Access

  • Cloudflare named (token) tunnels (PR #111) — a static public hostname that survives restarts, instead of a fresh random URL each time.
  • ngrok on arm64-v8a + x86_64 (PR #112) — fixes the on-device UnsatisfiedLinkError and adds 16KB page alignment to the ngrok native library (which previously failed the alignment check), so the in-process ngrok tunnel runs on real devices.
  • Immediate tunnel status row (PR #110) — the connection panel shows the tunnel row right away with aligned columns.

📤 Sharing

  • Share target + ephemeral capability links (PR #108) — push files into the device via Android's share sheet, served over short-lived capability-scoped links.

Fixes / Dependencies

  • Netty native transports pinned to 4.2.15.Final (PR #107) — completes the v1.8.0 Netty security bump so the native transport artifacts match the patched core.

Documentation

  • Permissions reference + programmatic grant guide (PR #113).

What's Changed

  • fix(deps): pin Netty native transports to 4.2.15.Final by @danielealbano in #107
  • feat(sharing): share target + ephemeral capability-link file serving by @danielealbano in #108
  • Plan 49: Self-contained OAuth 2.1 authorization server (Claude.ai connectors) by @danielealbano in #109
  • feat(ui): show tunnel status row immediately with aligned columns by @danielealbano in #110
  • feat(tunnel): Cloudflare token (named) tunnel mode with static hostname by @danielealbano in #111
  • fix(tunnel): load ngrok native lib via System.loadLibrary; enable arm64-v8a + x86_64 by @danielealbano in #112
  • docs: add permissions reference and programmatic grant guide by @danielealbano in #113
  • fix(mcp): defeat stale WebView accessibility reads via framework cache clear by @danielealbano in #115

Full Changelog: v1.8.0...v1.9.0