|
| 1 | +# SwiftFloris Cycle 3 Findings - 2026-06-04 |
| 2 | + |
| 3 | +## Scope |
| 4 | + |
| 5 | +Cycle 3 began after `git pull --rebase` reported `master` up to date with the |
| 6 | +remote, while the local branch remained five commits ahead of `origin/master`. |
| 7 | +The worktree was clean. This pass did not edit feature code; it reconciled local |
| 8 | +post-v1.8.225 commits, checked current Android-keyboard competitor releases, and |
| 9 | +looked for net-new roadmap work not already covered by RA-4/RA-9, F21/F22, or |
| 10 | +the device/maintainer-gated queues. |
| 11 | + |
| 12 | +## Local Evidence |
| 13 | + |
| 14 | +- `git describe --tags --dirty --always` returned `v1.8.223-5-g8142536`, and |
| 15 | + `git tag --points-at HEAD` returned nothing. |
| 16 | +- `CHANGELOG.md` has a top `v1.8.225` section, while the newest local commits |
| 17 | + after the docs marker are: |
| 18 | + - `1917583` - n-gram per-locale counters, thread-safety, crypto KDF, trace |
| 19 | + privacy gates. |
| 20 | + - `5df1cfa` - sealed-box shared-secret scrubbing and Arabic combining-mark |
| 21 | + join-context handling. |
| 22 | + - `8142536` - Snygg selector fallback and `contentScale` serialization id. |
| 23 | +- `ClipboardHistoryFilter.kt` and `ClipboardPrefs.historySearchEnabled` already |
| 24 | + implement/test the privacy-neutral query contract, but `ClipboardInputLayout` |
| 25 | + currently wires only item-type filters. |
| 26 | +- `SealedBoxCryptoTest` covers generated round-trips, wrong-key failure, |
| 27 | + truncation, freshness, and public-key length, but not deterministic vectors or |
| 28 | + envelope schema compatibility. |
| 29 | + |
| 30 | +## External Evidence |
| 31 | + |
| 32 | +- FUTO Keyboard v0.1.29 (published 2026-06-01) introduced FUTO Swipe, cites a |
| 33 | + 1M-swipe public QWERTY English dataset, reports top-1/top-4 error framing, |
| 34 | + exposes the accepted word plus three glide alternatives, and adds clipboard |
| 35 | + history search: https://github.com/futo-org/android-keyboard/releases/tag/0.1.29 |
| 36 | +- AnySoftKeyboard 1.13-r1 continues to emphasize gesture-typing accuracy, |
| 37 | + Android 15 16 KB pages, emoji updates, edge-to-edge, and stability: |
| 38 | + https://github.com/AnySoftKeyboard/AnySoftKeyboard/releases/tag/1.13-r1 |
| 39 | +- HeliBoard 3.9 remains current in the OpenBoard-derived space and mentions |
| 40 | + incognito-state and backup-restore gesture-data fixes: |
| 41 | + https://github.com/HeliBorg/HeliBoard/releases/tag/v3.9 |
| 42 | +- FlorisBoard v0.6.0-alpha02 remains the current upstream alpha, with existing |
| 43 | + F22 relevance for number fields, clipboard sensitivity, CLDR/emoji, and |
| 44 | + layout/font scaling: |
| 45 | + https://github.com/florisboard/florisboard/releases/tag/v0.6.0-alpha02 |
| 46 | +- Libsodium sealed-box documentation confirms the ephemeral-public-key-prefixed |
| 47 | + shape and erasure of the ephemeral secret after encryption: |
| 48 | + https://doc.libsodium.org/public-key_cryptography/sealed_boxes |
| 49 | +- RFC 5869 remains the primary HKDF reference and publishes SHA-256 test |
| 50 | + vectors: |
| 51 | + https://datatracker.ietf.org/doc/html/rfc5869 |
| 52 | + |
| 53 | +## Roadmap Changes Fed |
| 54 | + |
| 55 | +1. R3-1, P0: reconcile post-v1.8.225 local fixes into a versioned release |
| 56 | + ledger. |
| 57 | +2. R3-2, P1: wire existing clipboard-history text search into the in-keyboard |
| 58 | + clipboard palette. |
| 59 | +3. R3-3, P1: freeze the sealed-box envelope/KDF contract with deterministic |
| 60 | + vectors before sync transport ships. |
| 61 | +4. R3-4, P2: backfill focused tests for the newest local hotfix surfaces. |
| 62 | +5. F21 evidence sharpened with the FUTO Swipe v0.1.29 release and top-1/top-4 |
| 63 | + benchmark framing. |
| 64 | + |
| 65 | +## Non-Adds |
| 66 | + |
| 67 | +- No new upstream-FlorisBoard row was added; F22 already captures the alpha |
| 68 | + cherry-pick work. |
| 69 | +- No new Android 16 KB / edge-to-edge row was added; AnySoftKeyboard and |
| 70 | + existing SwiftFloris release/CI work already cover it. |
| 71 | +- No cloud GIF/search or vendor-account feature was added; those remain |
| 72 | + explicit non-goals. |
0 commit comments