Skip to content

auto: A19S32 merge master into autocorrect 🚂 - #16194

Merged
keyman-server merged 58 commits into
epic/autocorrectfrom
auto/A19S32-merge-base-into-autocorrect
Jul 4, 2026
Merged

auto: A19S32 merge master into autocorrect 🚂#16194
keyman-server merged 58 commits into
epic/autocorrectfrom
auto/A19S32-merge-base-into-autocorrect

Conversation

@keyman-server

Copy link
Copy Markdown
Collaborator

Test-bot: skip
Build-bot: build

ermshiperete and others added 30 commits June 18, 2026 19:43
Build-bot: skip build:web
Test-bot: skip
If a Keyman Cloud keyboard is legacy and has no source available, make
this more obvious to the author when they attempt to clone it. Add also
messages to help the author complete the other required steps to clone
a keyboard.

Fixes: #15606
Test-bot: skip
This just adds the update property to the HTTP request
in the RemoteUpdateCheck call.

Fixes: #15433
…out Editor

Also address fixup after renaming a layer so that it does not touch the
key `layer` property, because that refers actually to "modifier", not
"layer" (these terms were conflated in the original design).

Fixes: #15340
Test-bot: skip
* Remove Server's 'config.json' redundant user options handling
* Refactor options.ts in Server and kmc to share common cross-platform
  code
* Move option defaults into common code and sync with .pas defaults
* Rename config.ts to standardPaths.ts to better represent the remaining
  purpose of the module.

Fixes: #13458
…nder

I uncovered one race, documented in the source. Not trying to resolve
that race at this time (it is not consequential). There is a second
condition which is unclear -- and may have other consequences. So report
a warning to Sentry when this arises, but do not crash out on the user.

Fixes: #11916
Test-bot: skip
This change moves to using `WebViewAssetLoader` for loading files from
the device instead of using file:// URLs. This fixes the blank keyboard
problem reported in #16096 for Android.

Also make `KMKeyboard.getKeyboardRoot()` private, and rename public
`Keyboard.getKeyboardPath()` to private `Keyboard.getKeyboardUrl()`.

Part-of: #16096
Pretty much just what the title says; it's been silently missing this whole time.

This doesn't fix iOS keyboard's display by itself, but it is a prerequisite for the full solution offered by #16136.

Build-bot: skip build:ios
Test-bot: skip
…andler

This bypasses any need to modify KMW keyboard loading (say, via .fetch), though it does require a number of collateral changes to be made in order for CORS, etc to be satisfied.

Build-bot: skip build:ios
Previously the output of running the API check was only shown on the
summary page, but not in the log file of the step. With this change it
is now also displayed in the log file.

Build-bot: skip
Test-bot: skip
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
Build-bot: skip

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
chore: add missing line to history
…rting-interface-cleanup

maint(resources): DRY out `PRInformation` interface
…lone-legacy-keyboards

fix(developer): prevent clone of legacy keyboards with no source
…ate-server-options

fix(developer): consolidate user options in TypeScript code
…ferences-after-deleting-layer

fix(developer): fixup references to layer after deleting in Touch Layout Editor
…-osk

fix(web): revert regression in setting `activeKeyboard` in `set osk`
Co-authored-by: Marc Durdin <marc@durdin.net>
Co-authored-by: Marc Durdin <marc@durdin.net>
Co-authored-by: Marc Durdin <marc@durdin.net>
We don't actually pass JSON through our scheme handler yet, but just in case... we ensure we detect JSON's MIME type and annotate appropriately
test(web): add e2e tests for examples from guide
Also fix `assertEquals` in that test file - the parameter ordering is
`expected, actual` but we had it the other way round which gives a
confusing message if the test fails.
@github-project-automation github-project-automation Bot moved this to Todo in Keyman Jul 4, 2026
@keymanapp-test-bot

keymanapp-test-bot Bot commented Jul 4, 2026

Copy link
Copy Markdown

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Android
    • Keyman for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KeyboardHarness apk - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample1 apk - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample2 apk - build : all tests passed (no artifacts on BuildLevel "build")
  • Developer
    • Keyman Developer - build : all tests passed (no artifacts on BuildLevel "build")
    • Compiler Regression Tests - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman Developer (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • iOS
    • Keyman for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Keyboards
    • Test Keyboards - build : all tests passed (no artifacts on BuildLevel "build")
  • macOS
    • Keyman for macOS (.dmg) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for macOS (.pkg) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for macOS (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")
  • Windows
    • Keyman for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (ARM64) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (x64) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (x86) - build : all tests passed (no artifacts on BuildLevel "build")

@keymanapp-test-bot keymanapp-test-bot Bot changed the title auto: A19S32 merge master into autocorrect auto: A19S32 merge master into autocorrect 🚂 Jul 4, 2026
@keymanapp-test-bot keymanapp-test-bot Bot added this to the A19S32 milestone Jul 4, 2026
@keyman-server keyman-server modified the milestones: A19S32, A19S33 Jul 4, 2026
@keyman-server
keyman-server merged commit a6747c8 into epic/autocorrect Jul 4, 2026
31 of 32 checks passed
@keyman-server
keyman-server deleted the auto/A19S32-merge-base-into-autocorrect branch July 4, 2026 14:02
@github-project-automation github-project-automation Bot moved this from Todo to Done in Keyman Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants