Skip to content

Conversation

@ermshiperete
Copy link
Contributor

Part-of: #13426
Test-bot: skip

@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Jan 15, 2026

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 - 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 feat(core): expose km_core_state_options_update to WASM feat(core): expose km_core_state_options_update to WASM 🎼 Jan 15, 2026
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S20 milestone Jan 15, 2026
@ermshiperete ermshiperete changed the title feat(core): expose km_core_state_options_update to WASM 🎼 feat(core): expose km_core_state_options_update to WASM 🍪 🎼 Jan 15, 2026
}

int
km_core_state_options_update_wasm(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this get added to /core/docs/api/state.md?

(I dunno if that's the right doc)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, since it's close enough to km_core_state_options_update. From Javascript/Typescript the function looks identical to what is documented.

Having said that, we will have to add documentation for the API exposed through WASM, but that's a separate task (#13434, #13435).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are not currently adding extra docs for _wasm versions of existing functions... but we could

@keyman-server keyman-server modified the milestones: A19S20, A19S21 Jan 16, 2026
}

int
km_core_state_options_update_wasm(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are not currently adding extra docs for _wasm versions of existing functions... but we could

km_core_state const *state,
const std::vector<km_core_option_item_wasm>& new_options
) {
km_core_option_item* options_c = new km_core_option_item[new_options.size() + 1];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this needs to be freed at the end of the function

options_c[i].value = new_options[i].value.c_str();
options_c[i].scope = new_options[i].scope;
}
options_c[new_options.size()] = {nullptr, nullptr, 0};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have a constant for this:

Suggested change
options_c[new_options.size()] = {nullptr, nullptr, 0};
options_c[new_options.size()] = KM_CORE_OPTIONS_END;

Base automatically changed from feat/web/findStores to epic/web-core January 19, 2026 12:01
@ermshiperete ermshiperete requested a review from mcdurdin January 19, 2026 15:30
@ermshiperete
Copy link
Contributor Author

ermshiperete commented Jan 19, 2026

Baseline tests fail because the expiry time of cookies is set to the past. Will be fixed with #15472.

@ermshiperete ermshiperete changed the base branch from epic/web-core to fix/web/baselinetests January 19, 2026 17:21
Base automatically changed from fix/web/baselinetests to epic/web-core January 20, 2026 07:35
@ermshiperete ermshiperete merged commit 6ae03c8 into epic/web-core Jan 20, 2026
26 of 27 checks passed
@ermshiperete ermshiperete deleted the feat/core/optionsupdate branch January 20, 2026 13:57
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Jan 20, 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.

4 participants