Commit graph

16774 commits

Author SHA1 Message Date
Darcy Wong
7ca7cb8d70 chore(common): Update crowin strings for Fulfulde 2022-11-14 10:27:30 +07:00
Marc Durdin
c0e640fe73
Merge pull request #7710 from keymanapp/chore/windows/keyman-debug-symbols
chore(windows): include debug info in keyman build
2022-11-14 11:57:26 +11:00
Marc Durdin
1efe89b946
Merge pull request #7707 from keymanapp/chore/windows/report-errors-for-cust-init-better
chore(windows): Add safecall for internal CustomisationStorage API interface
2022-11-14 11:57:19 +11:00
Marc Durdin
350e4e2930
Merge pull request #7709 from keymanapp/fix/windows/7708-handle-timeout
fix(windows): handle timeout in downloads
2022-11-14 11:57:13 +11:00
Marc Durdin
d309d0e148
Merge pull request #7703 from keymanapp/chore/windows/add-sentry-traces-for-js-crashes
chore(windows): add sentry traces for unsolved crashes
2022-11-14 11:57:05 +11:00
Marc Durdin
11df4ff4be
Merge pull request #7699 from keymanapp/fix/windows/7698-language-switch-rounding-error
fix(windows): click in 1 pixel high box in Language Switch window caused crash
2022-11-14 11:56:58 +11:00
Marc Durdin
2e58174092 chore(windows): include debug info in keyman build
Same as #7600, but for keyman.dpr.
2022-11-14 10:52:20 +11:00
Marc Durdin
c07ea36ec2 fix(windows): handle timeout in downloads
Fixes #7708.
2022-11-14 10:35:20 +11:00
Marc Durdin
ce93901a5f chore(windows): Add safecall for internal CustomisationStorage API interface
This makes it easier to track what is happening for errors where
otherwise we found that exception messages were being cropped; for
example, see KEYMAN-WINDOWS-X.

The error messages were being cropped because the exception handler was
in the exe module, but the exception was being raised in kmcomapi
module. When the exception was handled, the handler tested to see if
the exception object inherited from exemodule.Exception, but it was
inheriting from kmcomapi.Exception instead, and so it did not attempt
to load the message detail.

By adding `safecall` calling convention to `KeymanCustomisation`, we
move responsibility for handling the exception to the
`TKeymanAutoObject.SafeCallException` function, and we get full detail
for the exception.
2022-11-14 09:40:14 +11:00
Marc Durdin
fbd1a2e7a5 chore(windows): add sentry traces for unsolved crashes
Adds Sentry breadcrumbs for the following crash reports:
* KEYMAN-WINDOWS-62
* KEYMAN-WINDOWS-6H (? no reports in recent releases, so may be
  resolved)
* KEYMAN-WINDOWS-7J
* KEYMAN-WINDOWS-4R

The source of these crashes is hard to pinpoint, so hoping that this
additional data sheds some light.
2022-11-14 07:21:22 +11:00
Keyman Server
e7175106cf
Merge pull request #7702 from keymanapp/auto/version-beta-16.0.103
auto: increment beta version to 16.0.103
2022-11-13 05:03:25 +11:00
Keyman Build Agent
15221f5f58 auto: increment beta version to 16.0.103 2022-11-12 13:02:23 -05:00
Darcy Wong
d1afadf927
Merge pull request #7700 from keymanapp/chore/android/comment-println
chore(android/app): Remove debugging info on build.gradle
2022-11-12 11:23:55 +07:00
Darcy Wong
2e553c7887 chore(android/app): Remove debugging info on build.gradle 2022-11-12 10:37:32 +07:00
Darcy Wong
71a9a36bd3
Merge pull request #7674 from keymanapp/chore/android/append-tier-to-app-name
fix(android/app): Append tier to app name
2022-11-12 06:52:59 +07:00
Darcy Wong
6c14d6cccf
Update android/KMAPro/kMAPro/build.gradle
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-12 06:52:51 +07:00
Marc Durdin
0eb39dc9ea fix(windows): click in 1 pixel high box in Language Switch window caused crash
Fixes #7698.

Due to a `>` instead of a `>=` check, there was a one pixel high box at
the bottom of each list of input methods for each language which would
reuslt in an invalid value for `FNewHoverKeyboard`
(`lang.KeyboardCount`).

As well as fixing this, I changed the result for clicking below the
input method list to the more logical last item in the list rather than
the first.
2022-11-12 10:23:32 +11:00
Marc Durdin
2fb9a3a711
Merge pull request #7692 from keymanapp/fix/windows/7690-avoid-crash-on-end-session
fix(windows): make sure IdStackWindows finalizes after Vcl.Forms
2022-11-12 06:26:17 +11:00
Keyman Server
48592c8b4b
Merge pull request #7696 from keymanapp/auto/version-beta-16.0.102
auto: increment beta version to 16.0.102
2022-11-12 05:03:44 +11:00
Keyman Build Agent
33005b80d8 auto: increment beta version to 16.0.102 2022-11-11 13:03:02 -05:00
Darcy Wong
5ad8af10fe fix(android/app): One more startsWith teak 2022-11-11 14:44:19 +07:00
Darcy Wong
ab02676a4f fix(android/app): Use regex on PR name 2022-11-11 14:30:33 +07:00
Eberhard Beilharz
b3a20f16eb
Merge pull request #7683 from keymanapp/chore/linux/standards
chore(linux): Update Debian standards version
2022-11-11 08:25:56 +01:00
Eberhard Beilharz
f7f2a00f66
Merge pull request #7682 from keymanapp/chore/linux/cherry-pick/beta/changelog
chore(linux): Update debian changelog 🍒
2022-11-11 08:25:44 +01:00
Eberhard Beilharz
0a95247fb3
Merge pull request #7678 from keymanapp/fix/linux/7547_keyboard-icon
fix(linux): Fix keyboard icon in system tray
2022-11-11 08:24:55 +01:00
Darcy Wong
ea45ab7177 fix(android/app): Update use of tag and environment 2022-11-11 13:40:25 +07:00
Marc Durdin
cb9d1589c2 fix(windows): make sure IdStackWindows finalizes after Vcl.Forms
Fixes #7690.

When kmshell.dpr is being shut down by Windows via `WM_ENDSESSION`, the
order of termination of units through `finalization` sections means that
`IdStackWindows` was finalizing while components were still depending on
it, causing a cascade of exceptions resulting eventually in the crash
visible in #7690.

We saw this when there were message loops before `Application.Run` had
ever been called. For example, message box/dialog, ShellExecute (yep...
this can do a `PeekMessage`), `THttpUploader` (which calls
`Application.ProcessMessages`) and probably others.

Ideally, it would be better to always call `Application.Run`, but it is
not safe to call `Application.Run` more than once, because it ends up
adding multiple `DoneApplication` exit procs, which would likely cause
other crashes.

I landed on the somewhat heavy-handed solution of adding
`IdStackWindows` to the start of the project `uses` list, ensuring it is
the last unit to be finalized -- importantly, before `Vcl.Forms`. A
better solution would be to find a way of ensuring that
`Application.Run` is called, just once, in all situations, but this is
likely to be hard to achieve. The shutdown sequence for Delphi apps is
so very, very fragile.
2022-11-11 13:03:47 +11:00
Darcy Wong
1647165e42
Merge pull request #7668 from keymanapp/fix/android/pm-name-not-found
fix(android/engine): Use IME package name if query permission denied
2022-11-11 06:52:45 +07:00
Marc Durdin
c18f1a7e63
Merge pull request #7631 from keymanapp/fix/developer/7628-utf8-urls
fix(developer): URL parameters should be UTF-8
2022-11-11 08:03:00 +11:00
Marc Durdin
52c9fde57a
Merge pull request #7667 from keymanapp/fix/windows/base-layout-support-in-core
fix(windows): base layout support in Keyman Core
2022-11-11 06:37:39 +11:00
Marc Durdin
96a18883e8
Merge pull request #7677 from keymanapp/fix/windows/startup-and-shutdown-robustness
fix(windows): Improve shutdown robustness
2022-11-11 06:37:30 +11:00
Keyman Server
7141226a01
Merge pull request #7685 from keymanapp/auto/version-beta-16.0.101
auto: increment beta version to 16.0.101
2022-11-11 05:03:18 +11:00
Keyman Build Agent
1825b41031 auto: increment beta version to 16.0.101 2022-11-10 13:02:34 -05:00
Eberhard Beilharz
26516e65d8
chore(linux): Update Debian standards version
This removes a warning on the Debian package page
(https://tracker.debian.org/pkg/keyman).
2022-11-10 18:08:23 +01:00
Eberhard Beilharz
33e59ed40e
chore(linux): Update debian changelog
(cherry picked from commit acdb16fd7e)
2022-11-10 17:42:46 +01:00
Darcy Wong
49a6d7fde3 fix(android/app): Tweak regex 2022-11-10 16:56:43 +07:00
Darcy Wong
8824678567 fix(android/app): Avoid calling build-utils again 2022-11-10 16:14:04 +07:00
Darcy Wong
a864e51c05
Merge pull request #7662 from keymanapp/fix/web/index-of-kmw-disabled
fix(web): Add additional checks on className.indexOf
2022-11-10 15:44:16 +07:00
Darcy Wong
aa2efd9fb2
Merge pull request #7676 from keymanapp/chore/android/less-toast-on-stable
chore(android/engine): Don't show Toast errors on stable tier
2022-11-10 15:33:25 +07:00
Darcy Wong
a0f546471f chore(android/app): Revert version.gradle
Keep build-utils code to just KMAPro so it doesn't affect FV Android
2022-11-10 15:27:29 +07:00
Eberhard Beilharz
053ee52281
fix(linux): Fix keyboard icon in system tray
Show the keyboard specific icon in the system tray on Wasta instead
of the generic keyman one.

Fixes #7547.
2022-11-10 09:11:44 +01:00
Eberhard Beilharz
a780cc47f5
Merge pull request #7492 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2022-11-10 09:03:40 +01:00
Darcy Wong
81588c9448 fix(android): Fail version.gradle on exception 2022-11-10 15:03:16 +07:00
Darcy Wong
52d45de605 fix(android/app): Use build-utils to populate build info 2022-11-10 14:45:03 +07:00
Marc Durdin
4738b6a514 fix(windows): Improve shutdown robustness
Relates to KEYMAN-WINDOWS-B.

While this doesn't address the root cause of the exception, it should
prevent this unhandled exception, and adds breadcrumbs to help us see
which code path might be triggering the issue.
2022-11-10 16:10:49 +11:00
Marc Durdin
31513d657e fix(developer): handle utf-8 paths safely 2022-11-10 15:26:27 +11:00
Darcy Wong
9645a6c11c fix(android/app): Add tier to version.gradle 2022-11-10 11:23:31 +07:00
Darcy Wong
85877d213a chore(android/engine): Don't show Toast errors on stable tier 2022-11-10 10:49:14 +07:00
Darcy Wong
b53f19dc58 fix(android/app): Append tier to app name 2022-11-10 10:22:17 +07:00
Darcy Wong
33243e3239 chore(android/engine): Apply review comments 2022-11-10 10:20:02 +07:00