Commit graph

354 commits

Author SHA1 Message Date
Marc Durdin
3575691ef9
Merge pull request #3127 from keymanapp/fix/windows/http-based-configuration
feat(windows): Use http: instead of file: for Configuration UI
2020-05-19 11:19:19 +10:00
Marc Durdin
8b715ac747 fix(windows): propagate title from html to delphi 2020-05-15 14:32:26 +10:00
Marc Durdin
a4eb75777a fix(windows): use correct name for Sentry in C++ 2020-05-15 13:25:02 +10:00
Marc Durdin
6eb516f9d9 chore(windows): more cleanup 2020-05-15 12:46:54 +10:00
Marc Durdin
1fa4f7ddda chore(windows): cleanup 2020-05-15 09:49:47 +10:00
Marc Durdin
0bbf6d7cac fix(windows): translate remaining data
Moves rest of the data into the http layer. Some messy
stuff around lifetime for the main form which will need
to be refactored in a future iteration.
2020-05-14 06:50:42 +10:00
Marc Durdin
b1ed449ea6 fix(windows): start data refactor for http
Start moving data from forms to models/controllers for
onlineupdate and establish a shared data pattern for
transitional refactoring. Also establish a TLocaleStrings
class which has no global variable dependency.
2020-05-13 06:41:35 +10:00
Marc Durdin
aa4f1febe6 refactor(windows): use http instead of file for ui
Serve all Keyman Configuration dialogs over a local http server
instead of over file protocol. This is more secure and allows for
a bunch of things in the future, including simple online integration
and stable reporting.
2020-05-11 15:11:31 +10:00
Marc Durdin
6d7c92bfff fix(windows): kmshell title and kmbrowserhost sentry
kmshell had no application.title set and this gave incorrect
results for crash report dialog.
kmbrowserhost was acting as a VCL app but it isn't, and the
sentry integration was pulling in all the VCL dependencies which
was a bad outcome. This removes those and handles crashes as a
non-VCL app.
2020-05-11 08:10:26 +10:00
Marc Durdin
dc5cab612b chore: add comment post review 2020-05-08 16:57:20 +10:00
Marc Durdin
bf1c2cde90 chore(windows): cleanup deps 2020-05-08 14:45:52 +10:00
Marc Durdin
5e7df2e051 fix(windows): sentry cef shutdown interactions
When Sentry is trying to shutdown an app which has CEF windows active,
the main process can hang waiting for the CEF renderer etc processes to
shutdown. Instead, we now rely on the child (CEF renderer etc) processes
to shutdown when their parent process aborts, with a watchdog thread, and
then abandon everything in the parent process with ExitProcess. This is
more reliable, especially with nastier crashes like memory corruption or
stack corruption.
2020-05-08 14:42:39 +10:00
Marc Durdin
ce5db177c2 fix(windows): use consistent sentry db location 2020-05-08 07:46:09 +10:00
Marc Durdin
9030a66f11 fix(windows): sentry x64 stacks truncated pointers 2020-05-06 16:16:46 +10:00
Marc Durdin
3b0fe837e0 fix(windows): pointer casts for x64 2020-05-05 16:35:42 +10:00
Marc Durdin
3f98c6027b fix(windows): decxstr was not checking start of string properly 2020-05-04 16:18:31 +10:00
Marc Durdin
edc53fb468 fix(windows): use KeymanWindows rather than KeymanDesktop as logger for sentry 2020-04-27 14:00:30 +10:00
Marc Durdin
2d4b2a7af0 fix(windows): attempt to shutdown CEF before exception handler 2020-04-27 12:55:01 +10:00
Marc Durdin
e09b081a34 fix(windows): cleanup release and environment for Sentry 2020-04-20 07:07:39 +10:00
Marc Durdin
d6ddebe64f fix(windows): use correct slug for Keyman Desktop 2020-04-19 16:32:57 +10:00
Marc Durdin
c8c9f780eb fix(windows): add extra detail for console app crashes 2020-04-18 15:22:18 +10:00
Marc Durdin
4548040661
Merge pull request #2923 from keymanapp/feat/windows/test-sentry-integration
feat(windows): Testing Sentry integration
2020-04-08 06:02:00 +07:00
Marc Durdin
7715c1a5b9 fix(windows): refactor compile.pas for early load
We want the compiler to load early so that Sentry will
include it in the module list. DRYed out the compiler load
code at the same time.
2020-04-02 06:16:51 +11:00
Marc Durdin
1413615e1d fix(windows): use safe strcat 2020-04-01 13:27:22 +11:00
Marc Durdin
5928052d93 feat(windows): use crashpad and better call stacks
Also moves to sentry native 2.0.
2020-04-01 12:02:26 +11:00
Marc Durdin
fed63d4690 feat(windows): sentry integration test points 2020-03-31 16:16:56 +11:00
Marc Durdin
90f4a5109f feat(windows): report process start to sentry
Also handles -sentry-client-test-exception command line parameter
for console apps and tidies up Sentry instantiation.
2020-03-30 12:21:47 +11:00
Marc Durdin
9eb28cb738 fix(windows): replaces empty eventid with underscore when autoreport errors off
Fixes #2911. This adds a default parameter so the error reporting dialog can show details of the
report. It does not address manual report sending.
2020-03-30 06:47:06 +11:00
Marc Durdin
00e58c13ec feat(windows): user control for upload to sentry 2020-03-27 17:50:51 +11:00
Marc Durdin
d33d429cd2 feat(windows): sentry x64 support 2020-03-27 14:40:59 +11:00
Marc Durdin
9779792059 fix(windows): remove errlogpath and cleanup 2020-03-27 11:23:51 +11:00
Marc Durdin
e99a6677e1 feat(windows): kmcomapi callstacks for sentry 2020-03-27 09:54:48 +11:00
Marc Durdin
62dcadad4d fix(windows): show error if tsysinfo fails to start 2020-03-27 06:55:25 +11:00
Marc Durdin
e00d4ebe8e feat(windows): crash reports in CEF 2020-03-25 17:42:06 +11:00
Marc Durdin
4846127985
Merge pull request #2886 from keymanapp/feat/windows/sentry-cpp-wrapper
feat(windows): sentry c++ wrappers
2020-03-25 12:45:07 +11:00
Marc Durdin
a467006bb8 chore(windows): address review comments 2020-03-25 12:33:36 +11:00
Marc Durdin
a5c3213470 fix(windows): report error to console 2020-03-25 07:43:45 +11:00
Marc Durdin
b75e506782 feat(windows): sentry c++ wrappers 2020-03-25 07:38:29 +11:00
Marc Durdin
1e755385a6 feat(windows): new error notification dialog 2020-03-23 16:50:24 +11:00
Marc Durdin
17e2a17c08 fix(windows): sentry proxy support 2020-03-23 07:55:08 +11:00
Marc Durdin
03b421843d fix(windows): various fixes for sentry 2020-03-18 17:25:40 +11:00
Marc Durdin
948bc3d239 fix(windows): tier.md and version.md reading 2020-03-18 17:25:39 +11:00
Marc Durdin
4f37651b2e fix(windows): typo for version info 2020-03-18 17:25:39 +11:00
Marc Durdin
eade8c34f3 refactor(windows): Use 14.0-style versioning
Moves all version construction to use VERSION.md and
TIER.md and reduces intermediate file usage, so we can
present sensible versions across the project.
2020-03-18 17:25:39 +11:00
Marc Durdin
2121f5ea94 feat(windows): consume new sentry api in delphi projects
Updates Delphi projects to use Sentry API instead of legacy
reporting mechanisms, and strips out existing text-based
reports. Not yet complete: reporting from kmcomapi and
hosted web controls, release number. These are flagged
as build hints.
2020-03-18 17:25:38 +11:00
Marc Durdin
7be25b6e4e feat(windows): Integrate Sentry
First stage of Sentry integration. Adds a basic library
for handling errors through Sentry. Does not include
integration into external handler or Keyman apps as yet.
2020-03-18 17:25:37 +11:00
Marc Durdin
2dc1dd6d9d
Merge pull request #1720 from keymanapp/windows-use-chromium
feat(windows): Chromium replacement for embedded MSHTML in for Keyman Desktop
2020-03-08 20:36:41 +11:00
Marc Durdin
7638b32bc8 feat(windows): asynchronous hint window 2020-02-29 20:08:51 +07:00
Marc Durdin
6d0caaf3d2 feat(developer): allow use of ISO9995 in key ids
ISO9995 describes keys by positions, where E00 is 5th (top) row,
left-most key. This feature allows keyboard developers to use
clearly positional identifiers in place of K_ identifiers.
2020-02-26 23:25:08 +07:00
Marc Durdin
cb91009369 feat(developer): always save options
Allow user to automatically save changes before
compiling and similar options. Fixes #2727.
2020-02-25 23:51:07 +07:00