Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
9cd1ddf150 fix(web): publish restorePosition() function
This makes the `osk.restorePosition()` function public and makes it work
even if the OSK is not presently visible. Also DRY out the repeated
implementation.
2021-04-22 06:57:02 +10:00
Keyman Server
c7adfd116d
Merge pull request #4945 from keymanapp/auto/version-master-15.0.33
auto: increment master version to 15.0.33
2021-04-22 04:03:30 +10:00
Keyman Build Agent
3b7223d4b0 auto: increment master version to 15.0.33 2021-04-21 14:02:42 -04:00
Joshua Horton
6db8de874f
Merge pull request #4821 from keymanapp/chore/web/touch-alias-issue-logging
change(web): adds error + console logs usable for Sentry reporting targeting #4797
2021-04-21 15:37:11 +07:00
Marc Durdin
0d80fa5efa
Merge pull request #4940 from keymanapp/fix/windows/4939-prevent-crash-during-upgrade
fix(windows): avoid error if keyman32.dll renamed
2021-04-21 16:47:09 +10:00
Marc Durdin
3a59175465 fix(windows): avoid error if keyman32.dll renamed
Fixes #4939.
Fixes KEYMAN-WINDOWS-70.
Fixes KEYMAN-WINDOWS-71.
Fixes KEYMAN-WINDOWS-BR.
Fixes KEYMAN-WINDOWS-6J.

I am speculating a little here, because the root cause is not visible in
the crash report, but it appears that if keyman32.dll is renamed, that
the UnregisterControllerWindows function attempts to reload keyman32.dll
which means that (a) it no longer has a list of registered controllers,
and (b) it may fail to reload.

Instead of throwing an exception, we now only log this error in
development mode. The error is not likely to cause significant trouble
for end users as they are shutting down Keyman anyway at this point.

The resolution if there is any uncertainty during an upgrade is to
restart Windows. This is less than ideal but avoids file locks and
problems with in-memory DLLs. (Future versions of Keyman will schedule
upgrades to happen automatically after a restart before Keyman has been
started, in an effort to avoid this kind of trauma.)
2021-04-21 14:21:17 +10:00
jahorton
3b902369ef change(web): SMP processing now always enabled 2021-04-21 10:53:11 +07:00
jahorton
99b0b2d437 fix(ios): proper context synchronization for combo emoji deletion 2021-04-21 10:46:08 +07:00
jahorton
9f071bb906 change(web): null guards for findTouchAliasTarget uses 2021-04-21 09:08:28 +07:00
Marc Durdin
30c64f34aa
Merge pull request #4934 from keymanapp/fix/developer/4803-chiral-warning-is-disruptive
fix(developer): chiral mismatch warning is disruptive
2021-04-21 11:27:07 +10:00
Marc Durdin
58b1f926fa
Merge pull request #4918 from keymanapp/fix/developer/4917-crash-on-malformed-kpj-user-file
fix(developer): avoid crash if .kpj.user file is malformed
2021-04-21 10:24:44 +10:00
Marc Durdin
a19b7019da
Merge pull request #4922 from keymanapp/fix/windows/4874-help-contents-broken-from-tray-menu
fix(windows): help contents broken from tray menu
2021-04-21 10:22:00 +10:00
Marc Durdin
32524601f9
Merge pull request #4920 from keymanapp/fix/windows/4848-access-violation-closing-text-editor
fix(windows): access violation closing text editor
2021-04-21 10:21:48 +10:00
Marc Durdin
a8ddf018c1
Merge pull request #4899 from keymanapp/chore/windows/4893-disable-profile-repair
chore(windows): disable profile repair
2021-04-21 10:21:34 +10:00
Marc Durdin
19a8ddcc6e
Merge pull request #4890 from keymanapp/fix/windows/4889-crash-when-installing-tip
fix(windows): crash when installing TIP in some rare situations
2021-04-21 10:21:25 +10:00
Marc Durdin
1822590261
Merge pull request #4887 from keymanapp/fix/windows/4886-install-crashes-on-invalid-and-legacy-package-names
fix(windows): handle invalid package names during install
2021-04-21 10:21:09 +10:00
Marc Durdin
355eba3514 fix(developer): chiral mismatch warning is disruptive
Fixes #4803.

This fixes part of #4803 - namely the obtrusive warning flagging that
there are mismatched modifier types in the keyboard. Instead of making
the change during tab switching, it simply shows a warning message in
the design view of the keyboard, which the developer can choose to
ignore.

This does not address the removal of comments or the switch of character
formats which is part of that conversion routine. That is a more complex
change to the parser.
2021-04-21 10:07:33 +10:00
Keyman Server
4013899673
Merge pull request #4933 from keymanapp/auto/version-master-15.0.32
auto: increment master version to 15.0.32
2021-04-21 04:02:55 +10:00
Keyman Build Agent
88cc238a43 auto: increment master version to 15.0.32 2021-04-20 14:02:11 -04:00
Eberhard Beilharz
599b602603
chore(linux): Merge branch 'master' into feat/linux/sentry
# Conflicts:
#	linux/keyman-config/keyman_config/handle_install.py
2021-04-20 11:49:43 +02:00
Eberhard Beilharz
9fcddb8afa
fix(linux): Set userid instead of username
Username expects a string, so we set the userid instead.
2021-04-20 11:46:15 +02:00
Eberhard Beilharz
9d7be1b6b5
feat(linux): Log some errors as critical
Some errors we want to be reported on Sentry, so we change those
to critical.
2021-04-20 11:45:07 +02:00
Eberhard Beilharz
68f9fd315e
feat(linux): Use hash of username 2021-04-20 11:14:23 +02:00
Eberhard Beilharz
4ac6b83088
Merge pull request #4913 from keymanapp/chore/linux/cleanup
chore(linux): Remove experimental scripts
2021-04-20 02:09:07 -07:00
Eberhard Beilharz
0845a9d6c8
Merge pull request #4912 from keymanapp/fix/linux/issue-4911
fix(linux): Don't crash on network problem (fixes #4911)
2021-04-20 02:03:18 -07:00
jahorton
00debdbb28 change(web): SMP enablement always on in embedded mode 2021-04-20 16:02:55 +07:00
Eberhard Beilharz
932a49d050
Merge pull request #4906 from keymanapp/fix/linux/cherry/4876-legacy-non-unicode
fix(linux): don't crash on legacy non-Unicode files 🍒
2021-04-20 02:02:41 -07:00
Darcy Wong
bb13047a89
Merge pull request #4927 from keymanapp/fix/android/empty-lexical-model-list-2
fix(android/engine): Don't set lexical model list to null
2021-04-20 14:41:40 +07:00
Darcy Wong
c5bce5021d fix(android/engine): Don't set lexical model list to null
Follow-on to #4926
2021-04-20 14:33:47 +07:00
Darcy Wong
46615d7b96
Merge pull request #4926 from keymanapp/fix/android/empty-lexical-model-list
fix(android/engine): Change getList() to return an empty list instead of null
2021-04-20 14:29:05 +07:00
Darcy Wong
cfd8abc744 fix(android/engine): Change getList() to return an empty list
This prevents the NullPointerException in CloudRepository.prepareResourcesUpdateQuery() when the list doesn't exist.
2021-04-20 14:06:57 +07:00
jahorton
e995a5cde1 docs(web): adjusts comments according to PR review 2021-04-20 14:01:46 +07:00
Darcy Wong
7bdf03e481
Merge pull request #4905 from keymanapp/fix/android/missing-font-file
fix(android/engine): Don't load woff fonts on Android N
2021-04-20 10:24:55 +07:00
Darcy Wong
1884c9cfaa chore(android/engine): Clean up getFontTypeface
Address review comments
2021-04-20 10:23:04 +07:00
Marc Durdin
568e4b2e7e fix(windows): help contents broken from tray menu
Fixes #4874.

Opening product help from the tray menu would end up at a broken page.

Given the title of the link is "Help Contents", I have opted to open at
the help contents... (rather than the alternative of context/tray-menu).
2021-04-20 12:54:10 +10:00
Marc Durdin
a1cf52579e fix(windows): access violation closing text editor
Fixes #4848.

This error arose because the form was destroyed after kmshell.dpr
completes, which meant that sentry had already been destroyed. The
sentry call was simply to record a breadcrumb of the form being closed.

The fix is to move the lifecycle of the form into the `OpenTextEditor`
function. `OpenTextEditor` is used only by `initprog.RunKMCOM` and so it
is safe to remove the ApplicationRunning path of the code, which
simplifies the lifecycle of the form.
2021-04-20 12:42:10 +10:00
Marc Durdin
4fcc23eb40
Update initprog.pas 2021-04-20 12:28:58 +10:00
Marc Durdin
3da6a28d79 fix(developer): avoid crash if .kpj.user file is malformed
Fixes #4917.

This updates `TProjectLoader` to use the same exception handling pattern
for loading the .kpj.user file as we use for the .kpj file.
2021-04-20 10:50:16 +10:00
Keyman Server
42a43485a7
Merge pull request #4915 from keymanapp/auto/version-master-15.0.31
auto: increment master version to 15.0.31
2021-04-20 04:02:58 +10:00
Keyman Build Agent
ea88b8e9c5 auto: increment master version to 15.0.31 2021-04-19 14:02:14 -04:00
Eberhard Beilharz
09fe5e86a5
feat(linux): Improve Sentry crash reporting
- don't log regular errors - those are handled and we report them
  to the user, but don't want to create a Sentry error
- log username in crash report
2021-04-19 18:56:06 +02:00
Eberhard Beilharz
28347053b3
chore(linux): Remove experimental scripts 2021-04-19 18:09:56 +02:00
Eberhard Beilharz
1c04d5200c
fix(linux): Don't crash on network problem (fixes #4911)
If the network is down or the server name can't be resolved we
shouldn't crash. This change logs an error instead.
2021-04-19 18:06:14 +02:00
Eberhard Beilharz
801810f72c
fix(linux): don't crash on legacy non-Unicode files
If we encounter a legacy non-Unicode file we now simply ignore the
file instead of crashing.

This fixes #4876.

(cherry picked from commit 59c45c4671)
2021-04-19 16:14:41 +02:00
Darcy Wong
b51434a611 fix(android/engine): Don't load woff fonts on Android N 2021-04-19 16:29:21 +07:00
Darcy Wong
8e8190664d
Merge pull request #4829 from keymanapp/chore/android/crowdin-id
chore(android,windows): Check in crowdin for Indonesian
2021-04-19 15:10:37 +07:00
Darcy Wong
e02d019d4f
Merge pull request #4895 from keymanapp/chore/common/update-crowdin-fr
chore(common): Update crowdin for French
2021-04-19 13:56:08 +07:00
Marc Durdin
7915429cf6 chore(windows): disable profile repair
Fixes #4893.
Fixes KEYMAN-WINDOWS-50.
Fixes KEYMAN-WINDOWS-4Z.

Profile repair was using legacy code for re-establishing Keyman TIP
profiles after they had been modified by a third party app or Windows.
However, with Keyman 14's new profile registration pattern, this is both
less likely to occur and also easier to resolve (just disabling and
re-enabling the keyboard should do it).

Thus, I have opted to disable the profile repair code as, with the way
it stands at present, it may well make things worse, even aside from the
crash, because of disparities between user and admin TSF settings.
2021-04-19 15:52:07 +10:00
Darcy Wong
5e66918f0b chore(common): Update crowdin for French 2021-04-19 10:12:58 +07:00
Darcy Wong
1b4f55bc28
Merge pull request #4863 from keymanapp/fix/developer/bcp47-info
fix(developer): Reduce non-canonical BCP 47 tag warning in PackageInfo to "Info"
2021-04-19 07:45:07 +07:00