Commit graph

6211 commits

Author SHA1 Message Date
jahorton
df9ea22924 fix(web): Cleans up PR changes 2019-11-27 11:55:00 +07:00
jahorton
acf138c8fb fix(web): Fixes #2379. Allows '.' in macOS version strings 2019-11-27 11:54:41 +07:00
jahorton
775fd4db45 fix(web): unit test reporting stability 2019-11-27 11:54:41 +07:00
Joshua Horton
55d8614ec2
Merge pull request #2372 from keymanapp/web-cherry-browserstack-target-update
change(web): Updates unit test browser targets for CI
2019-11-25 09:38:33 +07:00
jahorton
dba14455bd docs(web): for BrowserStack CI test target change 2019-11-25 08:16:24 +07:00
Darcy Wong
8f687fc6bb
Merge pull request #2281 from keymanapp/android-fix-left-deletions
[Android] Workaround to fix left deletions
2019-11-22 16:03:01 +07:00
jahorton
267126bd16 change(web): Updates unit test browser targets for CI 2019-11-22 14:39:14 +07:00
Darcy Wong
811eb2ac6f chore(android): Remove commented code and update history.md 2019-11-21 13:38:26 +07:00
Darcy Wong
197f47438d fix(android): Remove split surrogate pair from beginning of context
In a scenario where the context is 8 smiley emojis followed by `p̂p̂`
A backspace was removing an entire `p̂` sequence.

Because the new context was crossing a surrogate pair.
2019-11-21 13:32:24 +07:00
Darcy Wong
b29e112a4a fix(android): Fix NPE when deleting empty context 2019-11-21 11:27:20 +07:00
Darcy Wong
6887aeacab chore(android): Forgot hash 2019-11-19 11:52:30 +07:00
Darcy Wong
e346566fec chore(android): Update history.md 2019-11-19 11:21:56 +07:00
Darcy Wong
d82026c366 chore(android): Add comment to Chromium issue
Also remove debugging logs
2019-11-18 13:18:16 +07:00
Darcy Wong
ce98d7ac0b fix(android): Remove use of BreakIterator
Specifying newCursorPosition `1` fixed the cursor placement after inserting text.
2019-11-18 11:45:31 +07:00
Darcy Wong
adffc42b8d Merge remote-tracking branch 'origin/stable-12.0' into android-fix-left-deletions 2019-11-18 11:22:41 +07:00
Marc Durdin
086a52236b
Merge pull request #2343 from keymanapp/fix/developer/stable/2199-kmcomp-merge-platform-support
fix(developer): keyboard_info merge mobile wrong 🍒
2019-11-18 13:54:50 +11:00
Marc Durdin
4150f3d5ec
Update history.md 2019-11-18 08:59:07 +11:00
Marc Durdin
d4edfaa5a4 chore(developer): history.md 2019-11-15 13:50:29 +11:00
Marc Durdin
0cfb842b06 fix(developer): keyboard_info merge mobile wrong
The .keyboard_info merge of `platformSupport` would not always give the
right result, for .js keyboards. We have a certain lack of information
in the .js which makes it a little tricky to determine precisely what
the set of supported platforms are. Thus, if we find a .js within a
.kmp, we'll assume it supports mobile; if we find a .js by itself,
we'll assume it supports web. (Thus, a keyboard that builds a .js
is assumed to always support web -- but not necessarily mobile now).

Some keyboards that have incorrectly added a .js into a package, e.g.
sil_cipher_music, will be marked as supporting mobile even though they
don't. The correct fix here is to remove the .js from the package for
that keyboard.
2019-11-15 13:49:52 +11:00
Marc Durdin
fefe4f0ec7
Merge pull request #2340 from keymanapp/fix/windows/stable/2314-focus-incorrect-for-cef
fix(windows): focus is incorrect for CEF 🍒
2019-11-15 13:45:35 +11:00
Marc Durdin
86b168d339
Merge pull request #2341 from keymanapp/fix/windows/stable/2270-on-screen-keyboard-position-wrong
fix(windows): OSK restores to wrong monitor 🍒
2019-11-15 13:45:26 +11:00
Marc Durdin
fb29d5ba59 chore(windows): history.md 2019-11-15 11:12:54 +11:00
Marc Durdin
b31baa4f9f fix(windows): OSK restores to wrong monitor
If the On Screen Keyboard was closed when on a monitor other than the
primary monitor, it would restore to the primary monitor in the top-
left corner instead of the previous location.

This fix allows the OSK to be restored to another monitor, but still
avoids positioning the window off screen if the monitor has been
disconnected.

Fixes #2270.
2019-11-15 11:11:49 +11:00
Marc Durdin
bdd2cb9034 chore(developer): history.md 2019-11-15 11:08:00 +11:00
Marc Durdin
3d198d213f fix(windows): focus is incorrect for CEF
The focus code paths for Chromium frames (CEF4Delphi) were incorrect.
The return value for preventing focus on navigation events was
inverted, and then other code was attempting to work around this
inversion, wrongly. Fixed the root issue of the inverted test (it would
help if the parameter cefSetFocus was known as `Handled` rather than
`Result`!) and then the remaining code pathways became far simpler.

Fixes #2314.
2019-11-15 11:06:08 +11:00
Darcy Wong
99ce557cf1 fix(android): refactor method that removes split surrogate pair 2019-11-14 11:44:28 +07:00
Darcy Wong
b880638ed0 fix(android): Use BreakIterator to determine cursor when commiting text 2019-11-14 11:08:17 +07:00
Darcy Wong
a3f2ec720d Merge branch 'stable-12.0' into android-fix-left-deletions 2019-11-13 16:45:16 +07:00
Darcy Wong
29b201cd00 fix(android): Still trying to adjust the cursor on Firefox
* Also updated CharSequenceUtilTest to reflect expected rota keyboard output
2019-11-13 15:43:23 +07:00
Darcy Wong
6fde9c1739 chore(android): move utility methods to new class
Refactor charSequence utilities to CharSequenceUtil.java
2019-11-13 08:37:52 +07:00
Marc Durdin
246afc5656
Merge pull request #2317 from keymanapp/ios-cherrypick-2299
fix(ios): System keyboard popup-key positioning confinement 🍒
2019-11-13 07:17:51 +11:00
Marc Durdin
80d292454c
Merge pull request #2318 from keymanapp/ios-cherrypick-2301
fix(ios): Fixes bad initialization of system keyboard width
2019-11-13 07:17:01 +11:00
Marc Durdin
51bd89d0ef
Merge pull request #2324 from keymanapp/fix/windows/cherrypick/2147-exception-closing-keyman
fix(windows): Keyman crash and interop with Metro-style apps 🍒
2019-11-13 07:09:57 +11:00
Marc Durdin
aa3abb2ed7
Merge pull request #2288 from keymanapp/web-2209-cherry-mnemonic-code-handling
cherry(web): Fixes mnemonic code handling issues
2019-11-13 07:09:42 +11:00
Marc Durdin
b8847c79a9
Merge pull request #2283 from keymanapp/web-2267-cherry-detect-ios-spoofs
cherry(web): iOS-Safari user agent spoof detection
2019-11-13 07:09:19 +11:00
Marc Durdin
971003bf2d
Merge pull request #2284 from keymanapp/web-2261-cherry-nul-context-replacement
cherry(web): Bounds-check on context deletion from keyboard rules
2019-11-13 07:08:42 +11:00
Darcy Wong
c4c85af98f chore(android): Add logging and adjust unit test constant 2019-11-12 22:18:52 +07:00
Darcy Wong
002f378a51 fix(android): Add unit test for adjust cursor position
Still wip for adjusting cursor in Firefox
2019-11-12 15:26:38 +07:00
Marc Durdin
cd6a8ddf52 chore(windows): history.md 2019-11-12 16:49:00 +11:00
Marc Durdin
eb13e26b1e fix(windows): Keyman was not working with Skype
Fixes #1680. This issue arose only on some systems where
permissions for Keyman registry keys were not being
set correctly.
2019-11-12 16:44:26 +11:00
Marc Durdin
e91f29ee03 chore(windows): unreferenced param in release build 2019-11-12 16:42:01 +11:00
Marc Durdin
35584b669b chore(developer): tidy up from review comments 2019-11-12 16:42:01 +11:00
Marc Durdin
a8dcf173e1 fix(windows): tweak preprocessor conditional 2019-11-12 16:42:01 +11:00
Marc Durdin
805c640802 fix(windows): Keyman was crashing sporadically
Fixes #2147.

This potentially addresses the issues reported in #2147 where Keyman
would crash due to a race condition as a critical section was not
deleted before attempting to recreate it.

Some logging has been added for debugging these issues.

Also fixes memory leaks and another race on startup relating to loading
the taskbar icon.

There are still some known memory leaks because DLL_THREAD_DETACH is
not called for all threads before keyman32.dll is unloaded, so those
threads don't get the opportunity to clean themsselves up. However, the
key danger with the csGlobals critical section has been addressed.
2019-11-12 16:42:00 +11:00
Darcy Wong
d66d029406 fix(android): change adjustCursorPosition to use CharSequence
Changed signature in preparation for unit testing
2019-11-11 23:16:27 +07:00
Darcy Wong
f25633fe24 chore(ios): Update history.md 2019-11-11 13:09:09 +07:00
Darcy Wong
1847f761e4 fix(ios): Cherry-pick #2301 for stable-12.0
Fixes #2260 for stable-12.0

These changes ensure that the Swift side of the keyboard can provided the KMW side with an initial width, bypassing the need for the failing `window.orientation` check (which was used to produce said initial width).
2019-11-11 12:02:07 +07:00
Darcy Wong
5728c410fb fix(ios): Cherry-pick #2306 to stable-12.0
Fixes #2299 for 12.0 stable
2019-11-11 11:54:34 +07:00
Marc Durdin
65deb74455
Merge pull request #2282 from keymanapp/ios-cherry-toolchain-update
cherry(iOS):  Toolchain update
2019-11-11 15:34:34 +11:00
Darcy Wong
1d521913e4 fix(android): Add unit test RestoreCharsTest 2019-11-09 08:03:57 +07:00