Download Latest Version v.1.3.0 source code.zip (28.4 MB) Google Add to Preferred Sources
Home / 1.3.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-09-14 6.2 kB
v.1.3.0 source code.tar.gz 2026-09-14 28.1 MB
v.1.3.0 source code.zip 2026-09-14 28.4 MB
Totals: 3 Items   56.5 MB 3

Highlights

  • Web search, and it runs on the phone. A Web toggle per chat brings current information into an answer. The search, the page fetch and the reading all happen on the device — nothing is sent to a server of ours. Every answer shows the pages it drew on, each one openable, and the trace can be expanded while the search is still running to see what was searched and what came back.
  • The model list arrives from a manifest. Models are read from a remote catalog with DEFAULT_MODELS as the fallback, so the library can grow or drop an entry without shipping a build. Each entry can declare the memory it needs, and the compatibility gate refuses a model this phone cannot hold.
  • An answer can no longer land under the wrong question. Three places addressed the assistant message by its position in the list. The chat route rebuilds that list from the database when the screen regains focus, so leaving a chat mid-answer and coming back handed the reply to the previous message and failed the turn that asked for it — reported as an answer appearing under an older question while the current one showed "Failed to generate a response". A turn now carries an identity and writes nowhere when its message is gone.
  • The input follows the keyboard from its first frame. The lift was released by keyboardDidShow, which on iOS arrives only once the show animation has finished, so the bar sat at the bottom while the keyboard rose behind it and then jumped the whole distance in one frame.

Fixes

Chat

  • An answer the model left inside a <think> block it never closed is kept instead of being discarded as a failed turn — unless the block holds nothing but a repetition, which still fails.
  • Sending travels in one motion. The keyboard's close and the message's journey to the top used to run one after the other, with the bubble parked in between; the conversation also blanked for ~200 ms mid-send, measured frame by frame on a Pixel 10.
  • Scrolling with the keyboard up no longer dismisses it. Tapping a message still does — a tap and a scroll only separate once the finger has moved.
  • The pin floor follows the keyboard rather than ignoring it, and is dropped once a finished answer has outgrown it.

Web search

  • The search-model prompt appears on a slow first launch. The wait for the embedding model's status timed out after 8 s, and a still-unknown status was read as "no prompt needed" — leaving the toggle on with no model behind it and nothing on screen.
  • That sheet always offers a way out. On a device capable enough for the model to be required, Cancel was hidden, the backdrop inert and pan-down disabled.
  • Web search stays off while an image is attached, as it already did for documents, and says so in its own words rather than claiming documents are active.

Toggles

  • Think and Web stay tappable while a model loads. Both write a chat setting and never needed a loaded model; picking a suggested message starts a load, so from that tap until the load finished the switches did nothing, silently.
  • Thinking now reads and behaves like Web on a model that cannot do it: off when unavailable, explained when you try to enable it, and remembered so returning to a capable model brings it back. Enabling it and then switching models previously left a switch that showed on and could not be turned off.

Security

  • Source links are checked for their URL scheme before opening. SourceRow, WebSearchBlock and DominantSourceBadge handed a URL straight to the browser; the markdown link handler was already guarded.

Under the hood

  • The What's New card reads the installed version from the build instead of a constant, so the number on screen is the build in hand.
  • Grounding caveat badges are development-only for now. The caveats are still computed and persisted, so how often each fires can be measured before deciding whether they belong in front of users.
  • RELEASE.md is now a general guide to producing a release build rather than a walkthrough of this team's store submissions.
  • Pod versions carrying the scroll-worklet crash fix were restored after the catalog merge moved them.

What's Changed

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

Source: README.md, updated 2026-09-14