A simple, high performance text editor.
Go to file
Greg Pomerantz cb8ebc003f IME: force a re-syncing snippet re-push when the IME desynchronizes
After the selection-replacement autocorrect on the phone, Gboard's
local text was out of sync with ours and it re-sent the same empty
fix-up commit in an endless loop (~one per 150 ms, each drift-snapped
to the caret and applied as a no-op). The file was never damaged, but
the IME never converged because it kept 'fixing' text that did not
exist in its own model.

The app cannot see the IME's model; the only recovery the IME
contract offers is a restartInput, which makes it re-fetch the
real text and selection around the caret. Arm that recovery
automatically: three consecutive anomalous commits (drift-snapped,
or empty text) set IMEForceResync, and the next frame ships the
snippet trimmed by one rune, which changes the pushed text and
forces the restart. The streak resets on any normal commit, so
isolated anomalies never trigger it, and the resync is one-shot.

TestRealFile_IMEForceResync pins the arm/reset/consume cycle.
2026-09-13 18:23:06 -04:00
.qwen Add ShapeText/DrawShapedText: single shaper call, zero-call drawing 2026-05-12 12:06:28 -04:00
cmd/pad IME: fix random mid-word capitalization (stable snippet window + commit in-flight handling) 2026-09-13 17:00:49 -04:00
doc Restore the browser page on relaunch, not the last edited file 2026-09-03 12:11:44 -04:00
internal IME: force a re-syncing snippet re-push when the IME desynchronizes 2026-09-13 18:23:06 -04:00
scripts IME: map commits against the whole buffer; drop the renderer-side model 2026-09-13 11:57:38 -04:00
tools/touchinject Pinch-to-font-size (continuous, content-point pinned) + IME-open scroll fix 2026-08-23 09:00:51 -04:00
.DS_Store Add drawPng function to Renderer for PNG icon rendering 2026-05-10 06:26:29 -04:00
.gitignore Pinch-to-font-size (continuous, content-point pinned) + IME-open scroll fix 2026-08-23 09:00:51 -04:00
go.mod IME: map commits against the whole buffer; drop the renderer-side model 2026-09-13 11:57:38 -04:00
go.sum Bump gioui.org v0.10.0 -> v0.10.2 2026-09-02 19:36:08 -04:00