Commit graph

807 commits

Author SHA1 Message Date
Marc Durdin
4de4f3c42e feat(developer): support major version upgrades
See also keymanapp/api.keyman.com#123
2020-11-16 15:33:26 +11:00
Marc Durdin
42aab7a4c4
Merge pull request #3834 from keymanapp/chore/windows/3590-symbol-server
chore(windows): symbol server support
2020-11-12 15:07:44 +11:00
Marc Durdin
f3dce9e580
Merge pull request #3833 from keymanapp/fix/windows/3831-sizeofimage-header
fix(windows): SizeOfImage header was wrong for dbg
2020-11-12 15:07:37 +11:00
Marc Durdin
ebf03bb873
Merge pull request #3830 from keymanapp/fix/windows/3810-import-windows-keyboard-layout-mismatch
fix(windows): Import OSK wrong for European layouts
2020-11-12 15:07:19 +11:00
Marc Durdin
79cd83e105 chore(windows): fixup makefiles 2020-11-11 10:33:18 +11:00
Marc Durdin
00a9744253 chore(windows): symbol server support, initial steps 2020-11-11 10:33:16 +11:00
Marc Durdin
60abfdf1df fix(developer): Remove IE dependency from Developer Setup
Fixes #3832.

Removes the now-unneeded Internet Explorer dependency from Developer
Setup, and corresponding strings (plus a couple of other unused
strings).

I18n of these strings is a future project.
2020-11-08 14:00:49 +11:00
Marc Durdin
af07e236a0
Merge pull request #3829 from keymanapp/fix/developer/3827-debug-default-font
fix(developer): debug window inherits editor font
2020-11-07 10:58:46 +11:00
Marc Durdin
3d977d9c92
Merge pull request #3816 from keymanapp/fix/developer/917-support-for-context-and-notany
fix(developer): support for notany() and context()
2020-11-07 10:50:52 +11:00
Marc Durdin
5deb799e33 chore: address review comments 2020-11-06 17:59:06 +11:00
Marc Durdin
3d1601ffe5 fix(windows): SizeOfImage header was wrong for dbg
Fixes #3831.

This fixes both issues reported in the bug (dproj changes ensure
separate .tds, and Makefile changes fix order of execution so that
dbg is generated after sentryprep's cleanup).
2020-11-06 17:36:56 +11:00
Marc Durdin
526164fbd4 fix(windows): detect 102nd key in keyboard import
The detection of the 102nd key is a heuristic - it will decide it is
present if it has a vk code and its corresponding unshifted character
is not the same as the backslash key. This matches the general pattern
for US vs European keyboards.
2020-11-06 08:15:21 +11:00
Marc Durdin
79f6910971 fix(windows): Import OSK wrong for European layouts
Fixes #3810.

Importing a Windows keyboard would not produce correct OSK for European
layouts because it was based on virtual key instead of scan code.
Mapping through the scan code back to "US" base layout resolves the
issue.

Note that there is a slight difference between Import Windows Keyboard
and Fill from Layout results, as deadkeys have slightly more information
in the Import process, and can display the base deadkey, whereas Fill
from Layout will result in a blank deadkey. This difference is by
design.
2020-11-06 07:49:10 +11:00
Marc Durdin
ef7d2bfb0e fix(developer): debug window inherits editor font
Fixes #3827.

The debugger was not inheriting the editor font -- this is a regression
from when we replaced TPlusMemo with Monaco editor.
2020-11-06 07:12:17 +11:00
Marc Durdin
fe986a2fda
Merge pull request #3818 from keymanapp/fix/developer/1584-incorrect-script-for-language
fix(developer): Incorrect script:language map
2020-11-05 13:11:09 +11:00
Marc Durdin
94a062f20a fix(developer): remove obsolete NRSIAllTags
Relates to #799.

Removes NRSIAllTags, alltags.txt, parser and utility units.

Also re-enables standardsdata.dpr unit test which needed some syntax
cleanup.
2020-11-04 18:41:17 +11:00
Marc Durdin
3c2857da51 fix(developer): Incorrect script:language map
Fixes #1584.

In the "Select BCP 47 Tag" dialog, when the user starts typing a
language tag, e.g. "hi" for Hindi, the "h" would match "ha" for Hausa,
and set the script to "Latn". When the "i" was then typed, the script
box would not be cleared, giving an incorrect result of "hi-Latn"
instead of just plain "hi".

The earlier issue of "yo-Brai" has already been resolved.
2020-11-04 15:01:21 +11:00
Marc Durdin
d8e70bea77 fix(developer): support for notany() and context()
This is part 1 of 2 of a fix for #917. This adds in version 14.0
targeting and a new function `KNO` which is used in one specific place:
when a context() statement references a notany() statement. This
minimizes any risk in this change because existing supported patterns
should compile identically.

If the compiler finds this pattern, it will enforce 14.0 minimum version
for web targets.
2020-11-04 13:49:48 +11:00
Marc Durdin
4c7e6f242f fix(windows): Crash in Keep in Touch external link
Fixes #3756.
Fixes KEYMAN-WINDOWS-5F.
Fixes KEYMAN-WINDOWS-5E.
2020-10-27 08:21:33 +11:00
Marc Durdin
2354970427 fix(developer): crash creating basic project
Fixes #3715.

This is a regression introduced in #1720.
2020-10-19 11:26:39 +11:00
Marc Durdin
47adfac4f6 chore: address review comments 2020-10-08 15:21:35 +11:00
Marc Durdin
3c32267a50 chore: don't add tag to version in filenames
While it might be nice to add the tag to versions in filenames, this
creates a lot of work on the website where we make some filename
assumptions. So, this PR winds that detail of filename changes back,
and renames copydev.in to download.in to make it consistent with the
other download.in files.
2020-10-08 14:59:59 +11:00
Marc Durdin
c42eed6235 chore: address review comments 2020-10-08 14:25:14 +11:00
Marc Durdin
80db548432 chore: address review comments 2020-10-08 13:35:33 +11:00
Marc Durdin
4e18f9a531 chore: address review comments 2020-10-08 13:34:37 +11:00
Marc Durdin
c655c4eaf5 fix(windows): improve version numbers
Release build executables should have 3 component version numbers with
the version tag appended, e.g. keymandesktop-14.0.155-alpha-local.exe.

Coming later, rename keymandesktop-version.exe to keyman-version.exe.
2020-10-08 09:13:48 +11:00
Marc Durdin
ccdf820a5d
Merge pull request #3670 from keymanapp/fix/developer/ci-use-repo-tier-and-version
fix(developer): ci uses repo tier and version
2020-10-08 06:21:08 +11:00
Marc Durdin
3319f5d29d fix: call to build.sh now has invalid variables 2020-10-07 14:34:35 +11:00
Marc Durdin
53a197fba5 chore(windows): Move to Windows SDK 10.0.17763.0
This removes the requirement for the Windows 8.1 SDK.
2020-10-05 14:11:34 +11:00
Marc Durdin
41fb5296e4
Update windows/src/developer/kmcmpdll/Compiler.cpp
additional braces

Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2020-10-05 13:07:39 +11:00
Marc Durdin
50ad8335ef
Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2020-10-02 09:18:49 +10:00
Marc Durdin
508441ebf4 fix(developer): coverity reports for compiler
Addresses Coverity reports for compiler.cpp and other files.

Note that whitespace was reformatted on this PR. You may want to compare
with ignore-whitespace.
2020-09-30 14:20:41 +10:00
Marc Durdin
dd4ac89468 fix(developer): coverity issues for compiler.cpp
CID 309307 through 309313, 309318, 309321, 309371, 309388.
2020-09-30 11:58:28 +10:00
Marc Durdin
d57bbbf20c fix(developer): missing dependencies 2020-09-25 11:10:25 +10:00
Marc Durdin
8460b8ff6c fix(developer): Project window and About window hardcoded urls
Relates to #3394.

Fixes all remaining hardcoded URLs in the Project / Welcome and the
About window in Keyman Developer.
2020-09-25 09:54:27 +10:00
Marc Durdin
25085ddfb3 fix(developer): hardcoded urls in debugger
Part of #3394.

Fixes two hard-coded URLs in the web debugger.
2020-09-24 14:54:16 +10:00
Marc Durdin
d5790ca9b6 fix(windows): cleanup pointer to int typecasts
Fixes #3084.

This does two things:

1. Cleans up a bunch of places where we used to use `(int)` typecasts
   for pointer math, which was problematic. We now use `(INT_PTR)` per
   MSDN https://docs.microsoft.com/en-us/windows/win32/winprog64/rules-for-using-pointers
   and then cast that down to `(int)` where necessary, e.g. when storing
   string lengths which are never going to be more than a few hundred
   characters! Doing this explicitly helps to clarify that we are aware
   of the typecast and believe it to be safe.

2. Adds in some build infrastructure for future use of Coverity Scan
   https://scan.coverity.com/ which we plan to use for further code
   quality updates. I have submitted the project to Coverity and are
   now waiting for approval so we can check results. Once we have
   approval, I do plan to add this to the nightly build (we need to
   keep submissions under 3 builds/day).

   Note: I have not yet added Keyman Core (Windows) to this project,
   nor are we currently building Keyman Core (macOS) or Keyman for
   Linux, but we should consider adding those in future.
2020-09-24 14:39:59 +10:00
Marc Durdin
6d0c3ff318
Merge pull request #3585 from keymanapp/fix/developer/3487-font-size-string
fix(developer): Touch font size should be string
2020-09-18 06:08:54 +10:00
Marc Durdin
50ab57faac
Merge pull request #3531 from keymanapp/feat/developer/3525-add-viewport-to-templates
feat(developer): add viewport to html templates
2020-09-18 06:08:10 +10:00
Marc Durdin
e996d82403 fix(developer): Touch font size should be string
Fixes #3487.

The fontsize property for touch layout elements was treated as
an integer by Developer but should be a string (as it might contain
units such as 'em').

To help with back-compat, updated the GetValue string overload
to ignore value type and return the stringified form, regardless of
the actual type, which should always work.
2020-09-16 04:54:43 +10:00
Marc Durdin
6d5ccbd719 fix(windows): add tests and improve canonical options 2020-09-01 09:41:33 +10:00
Marc Durdin
bdd5165013 chore: cleanup 2020-09-01 09:00:36 +10:00
Marc Durdin
84f0219541 fix(windows): canonicalization
Reworks the BCP 47 tag canonicalization algorithm.
2020-09-01 08:42:56 +10:00
Marc Durdin
22f165f39b feat(developer): add viewport to html templates 2020-08-28 15:25:46 +10:00
Marc Durdin
39edce5986 feat(windows): generate message consts at build time 2020-07-28 13:05:12 +10:00
Marc Durdin
640f523485 chore: cleanup global ExtPath 2020-07-07 06:57:08 +10:00
Marc Durdin
5e954a46f4 fix(developer/ide): double click to change layer update combo
Fixes #2658. Double-clicking on a layer change key will now update the combo
box at the top of the editor appropriately.
2020-06-13 13:14:48 +10:00
Marc Durdin
1bcb91e048 fix(developer/compilers): normalise touch layout on compile
Works around #119 on the compiler side. This normalises the touch layout file in the
compile phase, fixing integers which should be strings, etc. This means that
we no longer need to correct the issue in the Engine; a rebuild of affected
keyboards is sufficient (although of course we'll need a version bump in order
for them to be distributed.
2020-06-03 14:07:19 +10:00
Joshua A. Horton
0cf1ee449d change(developer/compilers): addresses PR review 2020-05-29 14:01:45 +07:00
Joshua A. Horton
b2c79ba51f fix(developer): copies package-lock.json for version consistency 2020-05-26 10:29:46 +07:00