Skip to content

Android APK: missing location permissions breaks map plugin / geolocation #1227

Description

@Yanqh

Summary / 问题摘要

Official Blinko Android APK (Tauri) cannot request location permission, so navigator.geolocation never prompts the user and always fails. Plugins that depend on GPS (e.g. blinko-toolbar-map “current location”) do not work in the APK, while the same self-hosted instance works in a mobile browser.

官方 Android APK(Tauri)未声明定位权限,navigator.geolocation 不会弹出系统授权,定位会直接失败。依赖 GPS 的插件(如工具栏地图的「当前位置」)在 APK 中不可用;同一自建实例用手机浏览器打开则正常。

Evidence / 依据

Current AndroidManifest.xml in the repo includes INTERNET, storage, and RECORD_AUDIO, but no location permissions:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION

Reference: app/src-tauri/gen/android/app/src/main/AndroidManifest.xml

Blinko also does not appear to ship @tauri-apps/plugin-geolocation, which would normally inject those permissions and provide a native permission request flow on Android/iOS.

Steps to reproduce / 复现

  1. Install the official Blinko Android APK and connect to a self-hosted instance over HTTPS.
  2. Install / enable blinko-toolbar-map.
  3. Create a note → open the map toolbar → use current location.
  4. Observe: no system location permission dialog; location fetch fails.
  5. Open the same instance URL in Chrome/Safari on the same phone → location permission prompts and works.

Expected / 期望

  • APK should declare location permissions and be able to show the system permission prompt.
  • WebView navigator.geolocation (or Tauri geolocation plugin API) should work for map / location plugins after the user grants permission.

Suggested fix / 建议

  1. Add Android (and iOS if needed) location permissions to the app manifest / Info.plist.
  2. Prefer integrating tauri-plugin-geolocation and enabling the related capabilities (geolocation:allow-request-permissions, geolocation:allow-get-current-position, etc.).
  3. Ensure WebView permission callbacks forward geolocation requests to the native permission flow (if keeping navigator.geolocation).

Environment / 环境

  • Blinko server: 1.8.8 (self-hosted)
  • Client: official Android APK
  • Feature affected: toolbar map plugin / any plugin using navigator.geolocation

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions