Download Latest Version v.1.3.0 source code.zip (28.4 MB) Google Add to Preferred Sources
Home / 1.2.1
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-08-13 4.2 kB
v.1.2.1 source code.tar.gz 2026-08-13 27.6 MB
v.1.2.1 source code.zip 2026-08-13 27.8 MB
Totals: 3 Items   55.5 MB 0

Highlights

  • Model switching is solid now. Moving between variants of a model — Gemma 4 2B and its VL build, say — is handled by a state machine that cannot get stuck, the load waits until the picker sheet has settled, and the scroll layout is reset around the switch. Backed by react-native-keyboard-controller 1.21.1 → 1.22.3 and a native guard in Reanimated's event handler so a throwing worklet can no longer take the process down.
  • Attaching your first document works immediately. The + button used to be dead for the entire embedding-model download, and when the download finished the file picker never opened. The sheet now opens first and the offload runs in the background.
  • Sending a message lands in one frame. A first message in a new chat took ~1.4 s and flashed a blank screen on iOS (8–10 s on Android); it is now ~265 ms with no blank. Opening a chat from search went from ~800 ms to ~270 ms.
  • Response-speed stats are now optional. A new toggle in Settings hides the per-reply performance metrics.

Fixes

Chat

  • Copy puts on the clipboard what the bubble actually shows — <think> blocks and citation markers are dropped, and a reply that is only reasoning falls back to that reasoning instead of an empty string (#269).
  • A sent message stays pinned below the header instead of occasionally staying where it was appended; the scroll position is re-asserted across the whole settling window, and a drag cancels the pin so the list never fights you.
  • Reloading a chat's history with unchanged content no longer blanks the message list mid-scroll.
  • Chat titles are no longer cut to 25 characters with ... before they reach the database — each surface ellipsizes to its own width, and a migration rebuilds the titles of chats created earlier.
  • Sending while scrolled up snaps to the end first; scrolling up while waiting for the first token no longer snaps back.
  • The scroll-to-bottom button no longer appears over a complete view.

Model picker

  • A background re-render no longer collapses the expanded sheet.
  • The model load is deferred until the picker sheet has settled, and the loading block is silent.

Models

  • A model too large for the phone can no longer be downloaded. The compatibility check sizes a model by its actual download size instead of its parameter count, so a 4 GB download is no longer judged as if it were a 2B model — on a 6GB device that meant Gemma 4 VL could be installed and then get the app killed by the system for running out of memory. Models can now also declare the RAM they need outright.

Other

  • A decimal number no longer ends a cited sentence early — 3.5 stops splitting a citation in half.
  • Leaving a model sheet replaces instead of pushing, so the back stack stops collecting duplicate model-hub entries.
  • An interrupted collapse of the drawer's search overlay left its Modal mounted and swallowing every touch underneath; it now unmounts on a timer.
  • The benchmark screen's model selector follows the model sheet's renamed prop again.

Under the hood

  • all-MiniLM was the last model shipped with the app; the download script, npm script, CI step and the install-time asset pack are gone. Every model is now fetched from Hugging Face on device.
  • Switch and drawer metrics moved into constants/, and the switch knob colour follows the palette instead of a hard-coded #FFFFFF.

What's Changed

Full Changelog: https://github.com/software-mansion-labs/private-mind/compare/1.2.0...1.2.1

Source: README.md, updated 2026-08-13