Commit graph

14 commits

Author SHA1 Message Date
Niko Marmeladkov
98d5b89cd2 1.4.0: personal context — location and device info
Some checks failed
build / apk (push) Has been cancelled
The app now reports where the person is (Android geocodes the position, so
the address is street-level) and which phone they write from (model and
firmware). Both are optional and switched on in Settings → Context.

Co-Authored-By: opencode <opencode@openai.com>
2026-10-20 08:07:34 +03:00
Niko Marmeladkov
a59271522c 1.3.1: offer updates in the app
Some checks failed
build / apk (push) Has been cancelled
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.
2026-10-19 08:47:38 +03:00
Niko Marmeladkov
73e098b8eb 1.3.0: share files, not just text
Some checks failed
build / apk (push) Has been cancelled
"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).
2026-10-19 08:30:39 +03:00
Niko Marmeladkov
6e02c22b4f 1.2.4: pull-to-refresh only at the top of the chat
Some checks failed
build / apk (push) Has been cancelled
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.
2026-10-19 08:19:09 +03:00
Niko Marmeladkov
3ad6e6cf7c 1.2.3: sign in through the new NikoAuth SSO (browser handoff)
Some checks failed
build / apk (push) Has been cancelled
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).
2026-10-17 16:18:39 +03:00
Niko Marmeladkov
ad92e93660 1.2.2: fix accidental pull-to-refresh; settings tabs on phones
Some checks failed
build / apk (push) Has been cancelled
- the web app reports the message list's scroll position through the bridge,
  so pull-to-refresh only fires when the list is really at the top; the
  trigger distance is bigger (the WebView itself never scrolls)
- settings tabs scroll horizontally on narrow screens (all tabs reachable)
- version 1.2.2
2026-10-05 21:27:01 +03:00
Niko Marmeladkov
bcebc1dbcf 1.2.1: clearer Google sign-in failures on microG
Some checks failed
build / apk (push) Has been cancelled
- show the ApiException status code (e.g. DEVELOPER_ERROR 10) instead of
  silently falling back to the browser
- do not leave the app when the picker is cancelled (12501/16)
- report a missing ID token explicitly (Android OAuth client / SHA-1 hint)
- version 1.2.1
2026-10-05 21:23:18 +03:00
Niko Marmeladkov
07383624fc 1.2.0: voice input in the web chat
Some checks failed
build / apk (push) Has been cancelled
- RECORD_AUDIO permission granted to the WebView (onPermissionRequest)
- the chat's single composer button becomes a microphone when the input is
  empty and voice input is available; recording stops into server-side ASR
  (/api/transcribe) when the browser has no Web Speech API
- version 1.2.0
2026-10-05 20:33:26 +03:00
Niko Marmeladkov
898bcb792b 1.1.0: release signing, App Links, camera and share, update check
Some checks failed
build / apk (push) Has been cancelled
- 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
2026-10-05 18:14:21 +03:00
Niko Marmeladkov
b2914f685a Google sign-in fallback chain: Credential Manager -> legacy API (microG) -> browser
Some checks failed
build / apk (push) Has been cancelled
- 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
2026-10-05 17:31:30 +03:00
Niko Marmeladkov
147b17dc44 Native Google sign-in via Credential Manager
Some checks failed
build / apk (push) Has been cancelled
- window.NikoGPTAndroid bridge: the web app asks the app for the native
  account picker; the returned ID token is posted through the WebView
- falls back to the browser flow (nikogpt:// deep link handoff) when the
  provider is missing (microG) or the user cancels
- version 1.0.3
2026-10-05 17:15:51 +03:00
Niko Marmeladkov
ed08921a78 Fix session loss on restart; English-only resources
Some checks failed
build / apk (push) Has been cancelled
- flush the WebView cookie store in onStop/onPageFinished: Chromium batches
  cookie writes, so the session could be lost when Android killed the process
- English default strings + values-ru translations
- bump to 1.0.1
2026-10-05 16:26:21 +03:00
Niko Marmeladkov
8a2a075894 README: absolute releases URL 2026-10-05 16:18:55 +03:00
Niko Marmeladkov
e3f80c058f NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev
Some checks failed
build / apk (push) Has been cancelled
- 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
2026-10-05 16:18:00 +03:00