Skip to content

Align LeanTypeDual with current upstream and retire retained backends - #155

Open
AsafMah wants to merge 123 commits into
devfrom
asafmah-fix-backspace-paragraph-delete
Open

Align LeanTypeDual with current upstream and retire retained backends#155
AsafMah wants to merge 123 commits into
devfrom
asafmah-fix-backspace-paragraph-delete

Conversation

@AsafMah

@AsafMah AsafMah commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Purpose

Promote the installed, upstream-aligned LeanTypeDual EXP baseline into dev. Preserve the working keyboard while reducing intentionally retained older upstream implementations. This is not a release or a claim that the remaining fork is already minimal.

Scope

The diff against dev also contains the earlier v4.2.0 integration and corrections, not just the final alignment commits. Principal boundaries: integration f1c0fb71d, retirement b0398220a, initial user feedback b1694d8df.

Remaining fork differences

The categorized inventory is recorded in docs/HANDOFF.md. Its frozen comparison is b1694d8df against upstream 52567c0f, not this PR's diff against dev: 282 paths, with approximately 65% of added text in tests, tooling and documentation. The inventory separates dual-thumb core, retired backends, optional extras, later carried repairs and small upstream candidates. No additional optional feature was removed or upstream PR submitted during this inventory pass.

Evidence

  • 35 targeted upstream-merge cases, including OCR relayout.
  • 187 native-routing/composition/settings cases and 59 offline-plugin/language/editor-ownership cases, with fresh-result/baseline gates.
  • 40 repository-tooling tests and the three-flavor source contract.
  • Test-only CI follow-through: 7b8527bee bounds the Robolectric worker heap; 143416bb2 shares and resets the input-method fixture across application startups. Four new cases cover actual shortcut/subtype queries and automatic fixture reset on SDK 33 and 35. Two fresh full Windows runs contain 610 cases and only the four existing Parser baseline failures. No baseline/exclusion changes or production exception suppression; all diagnostic probes removed. The GitHub checks show the result for the current head.
  • Standard, Standard Full and Offline EXP APKs assembled; package/SDK/permission/ABI and unbundled-asset contracts inspected.
  • Standard EXP installed with data-preserving replacement; selected normal keyboard unchanged. Existing gesture library and English dictionary preserved. User's initial feedback: "feels ok". The subsequent CI and inventory follow-ups do not change this installed APK.
  • Installed APK SHA-256: 8291f4fca9fd4bffea57c497d7cfedc2046c1d670245f091c1b80a404c78fe2f.

Limits

  • No agent-driven phone swipe test: the user explicitly chose installation without switching keyboards. Initial feedback is not exhaustive gesture/native-plugin validation.
  • The original Notes/Word paragraph-deletion report remains unresolved.
  • External plugins retain their own runtime/privacy boundary. No private llama rebuild is pending.
  • No version bump, release publication, automatic merge, or further optional-feature removal is included.

Related: #16, #148, #152, #153, #154. Historical merged #134 is not this integration PR.

github-actions Bot and others added 30 commits August 30, 2026 04:17
AsafMah and others added 25 commits September 5, 2026 13:11
Revalidate editor session and exact selection before math acceptance, keep private history unrecorded, preserve delimiters and whitespace, and correctly evaluate unary operators and percentages. Refs #153.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Cover opt-in insertion, default result panels, stale input sessions and restored torch UI through the camera and screenshot workflows. Document all #153 corrections with hardware validation limits.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Stage and validate backups before replacing selected data, serialize completion without blocking Activity Result callbacks, and refresh active imported settings with lifecycle-safe listener recovery.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Invalidate spelling and gesture/prediction snapshots only at owned mutation publication. Serialize dictionary writes, preserve newer provider generations, reject stale index builds and close-time retries, and keep routine history learning from rebuilding gesture indexes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…g feedback, and touch pass-through prevention
Merge the reviewed runtime correction branch into the pinned upstream integration candidate. No new feature work.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Preserve the reviewed runtime fixes and inline-math gate while merging the existing restore/cache correction branch. Resolve release notes with correct issue ownership: runtime #152, state #153.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Keep the live InputLogic combining timer, connector, normalization, defaults and stored user data. Remove the unreachable pointer grace and seed branches, unused spacing signals and settings, duplicate blocklist route and toolbar snapshot. Cover final-finger completion, elapsed-time reset, retired settings, actual blocked-words navigation and keyboard-frame visibility. Refs #16, #153.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Document exact cleanup source, APK fingerprint and identity, executed-path evidence and unresolved device/AI work. No release or installation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Updated existing Samsung EXP installation without uninstalling data or changing the selected daily keyboard. Record exact artifact identity; phone behavior acceptance remains separate.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
)

Collect native tokens in a request-owned buffer, serialize load/generate/unload, suppress stale plugin feedback, and remove application content logs. Redact JVM wrapper parameters; bundled JNI prompt diagnostics remain a documented dependency privacy blocker.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Hardware shortcut superscripts belong to the rendered label, not dictionary entries. Keep dialog title and curation callbacks bound to SuggestedWordInfo.mWord. Regressions exercise actual decorated rendering, long press and dialog buttons.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
…ading (#154)

Separate current-editor completion cleanup from unchanged-source result delivery. Reject refused selections explicitly, notify all three AI callers through a localized resource, and retain ticket/editor ownership barriers for stale results and UI.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Keep the installed comparison build distinct from newer AI commits, record the resolved completion feedback cases, and retain the bundled-native privacy boundary without claiming full closure of #154.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Preserve the earlier comparison artifact and record the updated APK source, size, hash and Samsung installation. Normal keyboard selection remains unchanged; native offline privacy and device behavior remain explicit limits.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Adopt camera viewfinder/inset and plugin restart updates. Resolve overlaps with session-owned cancellation and asynchronous validated imports; preserve fork identity. Retiring retained older backends and flavors follows separately.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Follow upstream native gesture and plugin-based offline AI paths. Remove Java fallback, bundled llama/handwriting runtimes, OfflineLite, and flavor-specific dictionary packaging while preserving identity, stored data, and live dual-thumb composition. Update product gates, exact-path regressions, and current documentation.

Standard EXP installed with data-preserving replacement; selected keyboard unchanged by explicit user choice. APK SHA256: 8291f4fca9fd4bffea57c497d7cfedc2046c1d670245f091c1b80a404c78fe2f. Native phone swiping was not exercised.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
User reports the installed candidate feels ok. Preserve that initial acceptance without claiming detailed gesture coverage or resolution of paragraph backspace.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
AsafMah and others added 2 commits September 8, 2026 21:35
CI run34261780213 exhausted the default worker and produced no result XML. Configure one2GiB worker and fail fast on future OOM. Keep every test and the authoritative result gate. The full local run now completes606 cases; investigation of one cross-test uncaught-exception failure remains, with the baseline unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Cover shortcut queries and automatic state reset on SDK 33 and 35; persist the baseline PR and remaining-fork inventory handoff. Keep production behavior and failure baselines unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants