The shell asks /api/app for the published version once per launch and
shows an update dialog (download + system installer) when a newer build
exists. The check is on by default and switchable: Settings -> App in the
web UI (a per-device preference stored in the app) or the dialog's
"don't check again" button.
"Share to NikoGPT" now accepts any file type (single or multiple): the
stream is read through the content resolver and pushed into the web
composer as base64 chunks, so photos and documents land next to the
keyboard ready to send. Oversized files are refused with a clear
message (the chat takes up to 16 MB).
The swipe gesture no longer reloads the page while a presentation, the
canvas, a dialog or any other scrolled list is on screen: the web app
reports a single pull-allowed flag (overlays + every scroller), the shell
starts from 'forbidden' until the page says otherwise and the WebView
drops its overscroll glow.
The web chat moved from the in-app Google flow to NikoAuth (auth.n1ko.dev);
the old bridge no longer exists, so sign-in was impossible: the WebView
follows /api/auth/start out to the SSO host, and every non-chat host opens
in the system browser.
Sign-in now leaves for the system browser on purpose: the app intercepts
/api/auth/start and appends app=1, and the server answers the finished
callback with the /app-auth App Link, which hands the fresh session back
into the app's WebView (google blocks its own login inside WebViews, so
that round trip cannot happen in-app).
- signed release builds via keystore.properties (gitignored)
- Android App Links (https://chat.n1ko.dev/app-auth) verified through
/.well-known/assetlinks.json; nikogpt:// stays as fallback
- attach sheet with File/Camera (FileProvider)
- Share to NikoGPT (ACTION_SEND text)
- user agent carries the app version so the web UI can offer updates
- try Credential Manager first; on any failure fall back to the legacy
GoogleSignIn API, which microG implements
- only when no Google provider is available (isGooglePlayServicesAvailable
fails) use the browser flow with the nikogpt:// hand-back
- README: document the order and the Android OAuth client requirements
- version 1.0.4
- Android 10+ (minSdk 29), target/compile SDK 35
- chat.n1ko.dev only; other links open in the system browser
- system file picker for attachments, DownloadManager for files
- TLS never bypassed, no cleartext, no analytics
- pull-to-refresh, back navigation, progress and retry screen