Commit graph

24978 commits

Author SHA1 Message Date
Marc Durdin
c2f2816f83
Merge branch 'chore/mac/9999-remove-legacy-action-items-references' into feat/core/9999-normalize-output 2024-01-17 14:45:06 +11:00
Marc Durdin
cf2d6c4244 chore(mac): remove legacy Core action items references
Relates to #9999.
2024-01-17 14:44:34 +11:00
Marc Durdin
671973baab refactor(core): split context API from Core primary API
Relates to #9999.
Fixes #10384.

The context API endpoints should no longer be considered as part of the
standard Core API. The only consumers that have a need to access these
APIs are the IMX integration in Engine for Windows, and the Keyman
Developer Debugger.

These symbols are currently used by Developer:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()`
* `km_core_context_set()`
* `km_core_context_clear()`

These symbols are currently used by Windows IMX:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_context_items_dispose()`
* `km_core_context_item_list_size()`
* `km_core_state_get_intermediate_context()`

The following functions and symbols are moving to
keyman_core_api_context.h:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()` function
* `km_core_state_get_intermediate_context()` function
* `km_core_context_set()` function
* `km_core_context_clear()` function
* `km_core_context_get()` function
* `km_core_context_items_from_utf16()` function
* `km_core_context_items_from_utf8()` function
* `km_core_context_items_to_utf8()` function
* `km_core_context_items_to_utf16()` function
* `km_core_context_items_to_utf32()` function
* `km_core_context_items_dispose()` function
* `km_core_context_length()` function
* `km_core_context_append()` function
* `km_core_context_shrink()` function
* `km_core_context_item_list_size()` function
2024-01-17 14:44:25 +11:00
Marc Durdin
823b7722a0 refactor(mac): remove legacy Core context API calls
Relates to #9999.
2024-01-17 14:44:07 +11:00
Marc Durdin
e6096a267c feat(core): action output normalization
Fixes #9999.

Note TODO items:
- [ ] Renormalize cached_context across action boundary. Blocked by #10369.
- [ ] Add extra tests for surrogate pairs
- [ ] Move set_context_from_string into helper module
- [ ] if we don't apply normalization, we still need to fixup the
      app_context, to keep it coherent with cached_context (or at least
      we need to verify that app_context is never used in this
      situation)
2024-01-17 10:41:00 +07:00
Darcy Wong
36f14db740
Merge pull request #10346 from keymanapp/fix/web/offset-switch-keyboard
fix(web): Add null check for changing the keyboard during typing
2024-01-17 09:20:01 +07:00
Joshua A. Horton
dfdb4fc9b3 fix(web): if corrections not possible, returns empty Map instead of null 2024-01-17 09:01:54 +07:00
Eberhard Beilharz
f8d9a6af05
docs(linux): Add documentation for Core API verification
Closes #10405.
2024-01-16 19:46:25 +01:00
Keyman Server
f9065a0966
Merge pull request #10408 from keymanapp/auto/version-master-17.0.246
auto: increment master version to 17.0.246
2024-01-17 01:03:12 +07:00
Keyman Build Agent
93056ff663 auto: increment master version to 17.0.246 2024-01-16 13:02:39 -05:00
Marc Durdin
ba93da2de9
Merge pull request #10404 from keymanapp/chore/core/fixsymbols
chore(core): Update symbols file 🌱
2024-01-16 19:43:25 +11:00
Joshua A. Horton
3bde1222ff fix(web): coerces zeroish values from flick angle to zero 2024-01-16 15:43:22 +07:00
Eberhard Beilharz
2f9a7de87c
chore(core): Update symbols file 2024-01-16 09:14:02 +01:00
Joshua A. Horton
998f781d8f fix(web): banner scroll reset after selecting a suggestion 2024-01-16 15:00:56 +07:00
Joshua A. Horton
18a9924b1b docs(web): PR doc-comment fixes 2024-01-16 14:32:32 +07:00
Joshua A. Horton
39a4278b8b chore(web): unused method removal 2024-01-16 14:24:41 +07:00
Joshua A. Horton
f38af53681 fix(web): rtl maintenance 2024-01-16 14:24:26 +07:00
Marc Durdin
e39affe93b feat(core): infrastructure for normalization of output
Relates to #9999.

Establishes functions, unit test sources, normalization entry point and
an effectively no-op unit test for normalization support.
2024-01-16 13:46:46 +07:00
Marc Durdin
ba1f5921cf chore(mac): remove legacy Core action items references
Relates to #9999.
2024-01-16 12:18:29 +07:00
Marc Durdin
e5c2525241 refactor(core): split context API from Core primary API
Relates to #9999.
Fixes #10384.

The context API endpoints should no longer be considered as part of the
standard Core API. The only consumers that have a need to access these
APIs are the IMX integration in Engine for Windows, and the Keyman
Developer Debugger.

These symbols are currently used by Developer:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()`
* `km_core_context_set()`
* `km_core_context_clear()`

These symbols are currently used by Windows IMX:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_context_items_dispose()`
* `km_core_context_item_list_size()`
* `km_core_state_get_intermediate_context()`

The following functions and symbols are moving to
keyman_core_api_context.h:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()` function
* `km_core_state_get_intermediate_context()` function
* `km_core_context_set()` function
* `km_core_context_clear()` function
* `km_core_context_get()` function
* `km_core_context_items_from_utf16()` function
* `km_core_context_items_from_utf8()` function
* `km_core_context_items_to_utf8()` function
* `km_core_context_items_to_utf16()` function
* `km_core_context_items_to_utf32()` function
* `km_core_context_items_dispose()` function
* `km_core_context_length()` function
* `km_core_context_append()` function
* `km_core_context_shrink()` function
* `km_core_context_item_list_size()` function
2024-01-16 12:04:41 +07:00
Darcy Wong
a876c27ee2 docs(common): Update README.md
* update configure step about downloading _common/ files
* Add info about website-local-proxy
2024-01-16 11:21:52 +07:00
Marc Durdin
7b4417599a refactor(mac): remove legacy Core context API calls
Relates to #9999.
2024-01-16 11:12:01 +07:00
Joshua A. Horton
fd2f3ca8d1 feat(web): more prominent fade, fade state management 2024-01-16 10:24:59 +07:00
Marc Durdin
d2580c6a73
Merge pull request #10258 from keymanapp/feat/developer/10150-control-message-severity
feat(developer): add `-m` parameter to kmc to control message severity
2024-01-16 14:01:27 +11:00
Darcy Wong
b9d1cd044a chore(android/app): Update whatsnew for 17.0 2024-01-16 09:53:52 +07:00
Marc Durdin
a97237b6a6
Merge pull request #10382 from keymanapp/feat/core/9999-normalization-of-context
feat(core): normalize input context 🌱
2024-01-16 13:39:16 +11:00
Marc Durdin
c280870672
Merge pull request #10381 from keymanapp/refactor/mac/10365-context-debug
refactor(mac): remove unused context calls 🌱
2024-01-16 13:39:06 +11:00
Marc Durdin
a1935fa232
Merge pull request #10380 from keymanapp/refactor/windows/10365-context-debug
refactor(windows): use `km_core_state_context_debug` 🌱
2024-01-16 13:38:54 +11:00
Marc Durdin
166e4bce97
Merge pull request #10379 from keymanapp/refactor/linux/10365-context-debug
refactor(linux): use `km_core_state_context_debug` 🌱
2024-01-16 13:38:46 +11:00
Marc Durdin
707f711440
Merge pull request #10377 from keymanapp/feat/core/10365-context-debug
feat(core): add `km_core_state_context_debug` API 🌱
2024-01-16 13:38:40 +11:00
Marc Durdin
c8ee73321b
chore: Apply suggestions from code review 2024-01-16 13:33:00 +11:00
Darcy Wong
fdb14f2582 chore(android): Update targetSdkVersion to 34 2024-01-16 09:26:24 +07:00
Darcy Wong
6b79624a88
Merge pull request #10373 from keymanapp/fix/android/deprecated-rotation
fix(android): Fix OSK rotation issues
2024-01-16 08:33:56 +07:00
Steven R. Loomis
eb39bba374 chore(developer,core): change sample and test files to use \u{…} 🙀
- #10389 will require this, but at least change the test files

#10319
2024-01-15 17:27:41 -06:00
Marc Durdin
0878ee3b56 feat(core): seed Keyman Core normalization
Relates to #9999
2024-01-16 06:21:38 +07:00
Marc Durdin
8abab53988 chore(core): Merge branch 'feat/core/10365-context-debug' into feat/core/9999-normalization-of-context
Note: shifted minor changes from action_api.cpp to new
state_context_api.cpp.
2024-01-16 06:16:45 +07:00
Marc Durdin
bd870de672
chore: Apply suggestions from code review
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2024-01-16 10:01:35 +11:00
Marc Durdin
df177569a5 chore(linux): libkeymancore.symbols to .244 2024-01-16 05:55:02 +07:00
Marc Durdin
ba3290de75 chore(core): Merge branch 'master' into feat/core/10365-context-debug
Note: resolved merge conflict with action_api.cpp by shifting new code
into state_context_api.cpp.
2024-01-16 05:46:36 +07:00
Steven R. Loomis
c0928e1835
Merge branch 'master' into feat/core/10319-escaping-you-epic-ldml 2024-01-15 16:45:38 -06:00
Steven R. Loomis
a5ae4e3b25 feat(developer): don't re-escape non-syntax chars 🙀
- \u{0300} needs to turn back into an actual char, so normalization gets an opportunity to run.

#10319
2024-01-15 16:39:38 -06:00
Marc Durdin
a11fc7f46b
Merge pull request #10386 from keymanapp/chore/core/IgnoreC++Symbols
chore(core): Ignore C++ symbols
2024-01-16 09:27:57 +11:00
Steven R. Loomis
ab67061843 feat(core): 32 bit escapades 🙀
- improved test code and marker parsing

#10319
2024-01-15 14:07:19 -06:00
Steven R. Loomis
e0a2ce22d7 feat(developer): 32 bit escapades 🙀
- basic.txt fixup

#10319
2024-01-15 14:06:50 -06:00
Keyman Server
c0eb6bff7d
Merge pull request #10387 from keymanapp/auto/version-master-17.0.245
auto: increment master version to 17.0.245
2024-01-16 01:03:44 +07:00
Keyman Build Agent
bc987b4bb6 auto: increment master version to 17.0.245 2024-01-15 13:03:13 -05:00
Eberhard Beilharz
15d87963b2
chore(core): Ignore C++ symbols
We have a C API, but (internal) C++ template instantiations are visible
and so get flagged by `dpkg-gensymbols`. This change ignores the one
use of C++ by marking it optional. This is listed as a usage scenario
in the dpkg-gensymbols man page.

Note this requires a change how we call dpkg-gensymbols: if the `-O`
parameter is specified, the file is not treated as being a template file
(see man deb-src-symbols) and so the tags are not interpreted.
Additionally the file gets overwritten with the non-tag version. So this
change removes the `-O` parameter, and changes the archiving of the
generated file.
2024-01-15 18:47:53 +01:00
Marc Durdin
e853a6859a chore(mac): another test typo 2024-01-15 19:51:56 +07:00
Marc Durdin
8334325316 chore(mac): typo in test 2024-01-15 15:49:41 +07:00
Eberhard Beilharz
9afe4bd147
Merge pull request #10374 from keymanapp/docs/linux/settings
docs(linux): Update sample settings
2024-01-15 09:24:45 +01:00