Commit graph

33096 commits

Author SHA1 Message Date
Darcy Wong
bc2eeb62d0 chore(android): Tweak names to describe context 2025-02-25 10:16:06 +07:00
Joshua Horton
34a907862e
Merge pull request #13332 from keymanapp/change/ios/reorder-host-page-script-load
change(ios): re-order host page script load so Sentry can report script load failures
2025-02-25 08:18:51 +07:00
Joshua Horton
0a8c99e322
Merge pull request #13291 from keymanapp/fix/web/engine-main-headless-tests
fix(web): reconnect, patch up engine/main headless unit tests
2025-02-25 08:17:48 +07:00
Joshua Horton
69c80d31e4
Merge pull request #13290 from keymanapp/fix/web/workerless-engine-support
fix(web): properly support workerless use of Web engine
2025-02-25 08:17:33 +07:00
Keyman Server
f375e81848
Merge pull request #13342 from keymanapp/auto/version-beta-18.0.200
auto: increment beta version to 18.0.200
2025-02-24 10:02:55 -08:00
Keyman Build Agent
ef0448e9de auto: increment beta version to 18.0.200 2025-02-24 13:02:19 -05:00
Marc Durdin
671b1baf6e fix(developer): prevent simultaneous opening of the same project by two processes
There is a race condition where two processes may both attempt to open
the same project file. This appears to happen, for example, if an author
double-clicks on a single-click shortcut, launching Keyman Developer
twice in quick succession.

This fix adds a .lock file which is deleted automatically on close of
the project or on normal or abnormal process termination. If a second
process encounters the .lock file, it will simply open the welcome view
instead of attempting to open the project.

Fixes: #11584
Fixes: KEYMAN-DEVELOPER-1PR
2025-02-24 18:14:00 +01:00
Marc Durdin
86e141a963 chore(developer): add missing dependency reference 2025-02-24 10:56:50 +01:00
Marc Durdin
2add4d354d fix(developer): use U+0001 for deadkey markers in the debugger
Previously, we used U+FFFC as a marker in the debugger (for deadkeys and
LDML keyboard markers), which displayed as the letters OBJ in a small
dotted square. However, we switched the underlying component to
RichEdit, in order to better support rendering of many scripts (EDIT has
some problems). The RichEdit control silently converts U+FFFC to U+0020.
I switched to U+0001 as this is handled better, but has an unfortunate
missing-glyph marker.

In the future, it would be better to use a non-character marker
(leveraging RichEdit), but this is a much more complex change, and this
fix at least matches previous functionality.

Fixes: #13293
2025-02-24 10:38:33 +01:00
Marc Durdin
bdf6503eb6 chore(developer): Merge branch 'fix/developer/13292-handle-line-breaks-in-debugger' 2025-02-24 10:33:19 +01:00
Marc Durdin
cd29991697 fix(developer): additional cleanup of CRLF in debugger 2025-02-24 10:32:24 +01:00
Marc Durdin
f9ab3c7045
Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-02-24 09:58:48 +01:00
Shawn Schantz
2785fa1af6 fix(mac): add Sentry breadcrumbs 2025-02-24 15:58:07 +07:00
Marc Durdin
3a9bbdaff7
Update developer/src/tike/child/UfrmDebug.pas 2025-02-24 09:51:00 +01:00
Marc Durdin
3c86ac332d fix(developer): handle line breaks in debugger correctly
The debugger memo takes input with \n but internally represents this as
\r\n, so we need to strip out \r in order to track caret position
correctly.

Fixes: #13292
2025-02-24 09:35:17 +01:00
Joshua Horton
fe6218f83b change(android): re-order host page script load so Sentry can report script load failures
Parallels #13332, though we haven't seen similar issues for Android at this point.
2025-02-24 13:16:44 +07:00
Joshua Horton
439980a02c change(ios): re-order host page script load so Sentry can report script load failures
This change is designed to help further investigate #13312.
2025-02-24 13:12:17 +07:00
Joshua Horton
72a9e8b8fe fix(web): fix up applied suggestion - properly "fill in" Worker type 2025-02-24 13:06:17 +07:00
Joshua Horton
f3946ffc76 fix(web): prevent cookie-default behavior from mangling engine init
Fixes: #13278

The fallback default keyboard corresponding to an uninitialized cookie is `Keyboard_us:en`.   This should only occur if the site actually registers its stub before initialization - and we weren't checking/filtering for this properly.

The error itself only occurred if there _were_ stubs pre-registered before init - if none existed, the error does not result.
2025-02-24 12:37:09 +07:00
rc-swag
a89a9832e2 fix(windows): dont send kmshell event in silent mode
Don't start an install of a Keyman Update if the user has not been
notified.

Fixes: #13329
2025-02-24 14:28:11 +10:00
Joshua Horton
accdb3752e
change(web): apply focused try-catch suggestion from review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-24 09:15:50 +07:00
Darcy Wong
118e15bfd4 fix(android): Control when system keyboard Keyboard Picker clears 2025-02-24 08:34:57 +07:00
Darcy Wong
c9e0402971
Merge pull request #13323 from keymanapp/fix/windows/crowdin-keyboard-x
fix(windows): Update Greek Polytonic for keyboard help
2025-02-24 07:41:21 +07:00
Marc Durdin
a04e977749 fix(developer): include nul in offset calculations for kmw v10 compiler
The cached context comparison for v10 kmw compiler includes the `nul`
statement, unlike the comparison in the earlier compiler. This
difference was missed in earlier iterations including the recent patch
in #13003. This patch fixes the problem for both `context(n)` and
`index(store,n)` offset calculations.

Fixes: #13306
Fixes: #13307
Follows: #13003
2025-02-23 16:25:51 +01:00
Eberhard Beilharz
2c7cd3a8d2
chore(linux): Update to new Debian policy version 2025-02-22 12:22:34 +01:00
Marc Durdin
ef60c08d7c chore: add build.sh edit action for Delphi projects
This opens up the Delphi IDE with the correct KEYMAN_ROOT environment,
which allows for debugging. This is very helpful when working with
multiple worktrees, and also helps to avoid editing a project in the
wrong tree.
2025-02-22 06:18:47 +01:00
Marc Durdin
549189e834 docs: clean up links in builder.md 2025-02-22 06:16:52 +01:00
Marc Durdin
1aaddf49c7 feat(developer): use .kps folder as initial dir for Add Files
Requested by @DavidLRowe. Default was either CWD or My Documents,
neither of which is helpful.

The initial dir will now be folder of the .kps file, and then will
remember last used folder for each additional use of the dialog for that
.kps file.
2025-02-22 06:13:03 +01:00
Darcy Wong
6b2129ca1d fix(windows): Update Greek Polytonic for keyboard help
The Greek Polytonic translator says instead of
Help on "x" keyboard, Greek syntax does:
Help on keyboard x
2025-02-22 08:58:11 +07:00
Darcy Wong
0674317a00 chore(android): Add PR number 2025-02-22 07:49:30 +07:00
Darcy Wong
40d166f873 fix(android): Add Vietnamese 2025-02-22 07:45:46 +07:00
Darcy Wong
1a1056ca50 chore(common): Add crowdin strings for Vietnamese 2025-02-22 07:37:36 +07:00
Keyman Server
7ab6887e08
Merge pull request #13321 from keymanapp/auto/version-master-19.0.9
auto: increment master version to 19.0.9
2025-02-21 10:03:04 -08:00
Keyman Server
e6e41f6dcb
Merge pull request #13320 from keymanapp/auto/version-beta-18.0.199
auto: increment beta version to 18.0.199
2025-02-21 10:02:57 -08:00
Keyman Build Agent
0960aaef6d auto: increment master version to 19.0.9 2025-02-21 13:02:29 -05:00
Keyman Build Agent
db2f77b730 auto: increment beta version to 18.0.199 2025-02-21 13:02:14 -05:00
Eberhard Beilharz
cbaf916fcc
Merge pull request #13318 from keymanapp/chore/linux/docker
fix(linux): remove `--platform amd64` from docker build script
2025-02-21 18:28:10 +01:00
Eberhard Beilharz
9252b9388b
fix(linux): remove --platform amd64 from docker build script
Passing this parameter causes docker image builds on mac to fail (#13295).
Since `amd64` is the default anyways (and we don't support other values),
we can simply remove that parameter.

Fixes: #13295
2025-02-21 12:54:45 +01:00
Shawn Schantz
98232185ba fix(mac): improve detection of stale TextApiCompliance 2025-02-21 17:17:43 +07:00
Marc Durdin
b973bcc0d9 fix(core): include nul in context offset calculations in kmx processor
Two separate bugs addressed, with `index()` references and with
`context()` references -- both have the same root cause, of not taking
`nul` at the start of the context into account (as `nul` is not included
in the `m_miniContext` member, being a non-character). We already fixed
this issue for `if()` quite a long time ago, and some of the same
patterns can be with `m_miniContextIfLen` for example.

Fixes: #13304
Fixes: #13316
2025-02-21 17:17:19 +07:00
Darcy Wong
9712e3b798
Merge pull request #13273 from keymanapp/fix/android/adjust-osk-height-rotate
fix(android): Update system keyboard height consistently
2025-02-21 13:34:37 +07:00
Marc Durdin
2b9b8eb419 chore(core): add unit tests to validate nul with index and context
Add 4 test keyboards to validate `nul` and `if` used in conjunction with
`index` and `context` and corresponding references in core unit tests.

Add a script to rebuild baseline keyboards using a copy of kmcomp.exe
16.0.138; this is setup and tested only on Windows (YMMV on WINE, etc).

Add the 4 additional baseline test keyboards to kmcmplib unit tests for
build consistency between kmcomp 16 and kmcmplib 18 (all pass).

Note: two of the new Core tests currently fail. This is expected, see
issue #13304.

Fixes: #13303
2025-02-21 13:06:29 +07:00
Steven R. Loomis
38b1fec843
Merge pull request #13236 from keymanapp/feat/developer/13175-abnf-on-compileepic-ldml 2025-02-20 23:46:11 -06:00
Marc Durdin
5d16d083bd chore(developer): update unit test error checks 2025-02-21 11:10:53 +07:00
Marc Durdin
4a797d0e5a fix(developer): verify context(n) offsets are valid in kmcmplib
Add validity checks to kmcmplib to verify that offsets provided to
`context(n)` are in range for the context, and do not point to
non-character elements (`nul` and `if`) in the context string.

Fixes: #13301
Fixes: #13302
Relates-to: #13299
Relates-to: #13276
2025-02-21 09:58:26 +07:00
Marc Durdin
4430fe6d51
Merge pull request #13237 from keymanapp/feat/windows/kmdevlink-github-features
feat(windows): hack in some fun features for kmdevlink
2025-02-21 08:47:11 +07:00
Joshua Horton
3d879ed295 docs(web): remove outdated comment in engine/main/build.sh 2025-02-21 08:16:21 +07:00
rc-swag
3168a670f3 feat(windows): configuration icon refrest cont
Fixes: #13166
2025-02-21 09:46:25 +10:00
Keyman Server
aa43b3b310
Merge pull request #13297 from keymanapp/auto/version-beta-18.0.198
auto: increment beta version to 18.0.198
2025-02-20 10:03:06 -08:00
Keyman Server
d08e712aa8
Merge pull request #13296 from keymanapp/auto/version-master-19.0.8
auto: increment master version to 19.0.8
2025-02-20 10:02:49 -08:00