Commit graph

10567 commits

Author SHA1 Message Date
Marc Durdin
1897ff14d6 chore(windows): cleanup task deletion issues 2020-12-01 16:45:59 +11:00
Marc Durdin
ae8bb689af chore: improve logging on uninstall 2020-12-01 11:25:38 +11:00
Marc Durdin
a2d6f7d3e8 fix(windows): Task creation and deletion cleanup
Fixes #3994.

Task creation was failing for some users because Windows Tasks are all
stored in a shared folder, so attempts to use the same task name by
different users were failing, especially if the user was a non-admin
user.

Furthermore, attempts to execute the trigger would fail because Windows
treats keyman.exe as needing elevation in this context (even though it
doesn't, actually), and so I changed the trigger to call `kmshell -s`,
which then does the needful.

Finally, the uninstaller now attempts to remove all the scheduled tasks
in the Keyman folder. It doesn't care if it fails -- it's just cleanup
and doesn't impact the system adversely if the tasks hang around.
2020-12-01 09:28:14 +11:00
Keyman Server
debfd9dbb4
Merge pull request #4027 from keymanapp/auto/version-master-14.0.194
auto: increment master version to 14.0.194
2020-12-01 05:01:55 +11:00
Keyman Build Agent
c1ae431217 auto: increment master version to 14.0.194 2020-11-30 13:01:10 -05:00
Marc Durdin
d955892c1b
Merge pull request #3999 from keymanapp/chore/github-template
chore: refresh github templates
2020-11-30 13:49:00 +11:00
Marc Durdin
bb873f32f0 chore: refresh github templates 2020-11-30 13:48:34 +11:00
Keyman Server
a63ce7442a
Merge pull request #3990 from keymanapp/auto/version-master-14.0.193
auto: increment master version to 14.0.193
2020-11-29 05:01:48 +11:00
Keyman Build Agent
c38655922f auto: increment master version to 14.0.193 2020-11-28 13:01:09 -05:00
Darcy Wong
b9a7b0e8d2
Merge pull request #3983 from keymanapp/chore/linux/cleanup-history-formatting
chore(linux/resources): Cleanup formatting in  history.md
2020-11-28 07:33:05 +07:00
Keyman Server
3c8647f183
Merge pull request #3988 from keymanapp/auto/version-master-14.0.192
auto: increment master version to 14.0.192
2020-11-28 05:02:08 +11:00
Keyman Build Agent
8805be7d1f auto: increment master version to 14.0.192 2020-11-27 13:01:30 -05:00
Darcy Wong
7aa7a9d921 chore(linux/resources): Cleanup formatting in history.md 2020-11-27 13:30:20 +07:00
Marc Durdin
6c9552a6ec
Merge pull request #3978 from keymanapp/chore/windows/cleanup-unused-variable
chore(windows): cleanup unused variable
2020-11-27 16:44:40 +11:00
Darcy Wong
680844ad52
Merge pull request #3964 from keymanapp/fix/android/engine/handle-invalid-package
fix(android/engine,android/app) Notify when invalid keyboard package fails to install
2020-11-27 12:37:00 +07:00
Darcy Wong
84d2aa6539
Merge pull request #3977 from keymanapp/chore/mac/history-stable-13
chore(mac/resources): Catch up mac history for 13.0 releases
2020-11-27 12:36:30 +07:00
Darcy Wong
e067e836fb fix(android/engine): More cleanup from review comments 2020-11-27 12:33:40 +07:00
Marc Durdin
806e6aad15
Merge pull request #3976 from keymanapp/chore/mac/test-englishspanish-keyboard
chore(mac): englishspanish test keyboard
2020-11-27 16:11:21 +11:00
Marc Durdin
376454229f chore(windows): cleanup unused variable 2020-11-27 15:58:52 +11:00
Marc Durdin
ab0ed0c614 chore: address review comments 2020-11-27 15:58:21 +11:00
Joshua Horton
6150075dcf
Merge pull request #3897 from keymanapp/fix/common/models/proper-quote-ordering
fix(common/models): proper RTL quote ordering
2020-11-27 11:50:13 +07:00
Darcy Wong
02843d1aaf chore(mac/resources): Catch up mac history for 13.0 releases 2020-11-27 11:29:45 +07:00
Marc Durdin
737ff45952 chore(mac): englishspanish test keyboard 2020-11-27 15:19:32 +11:00
Darcy Wong
07d9719df0
Merge pull request #3974 from keymanapp/chore/common/scopes-readme
chore(common/resources): Document keeping scopes in sync
2020-11-27 09:25:22 +07:00
Marc Durdin
5bcbcb260f
Merge pull request #3961 from keymanapp/fix/mac/2488-duplicate-package-filenames
fix(mac): Handle duplicate filenames for packages
2020-11-27 13:13:58 +11:00
Darcy Wong
13e2f4cc6d chore(common/resources): Document keeping scopes in sync 2020-11-27 08:25:14 +07:00
Darcy Wong
73879bd64e fix(android/engine): Count the number of keyboard ID's with matching JS 2020-11-27 07:47:04 +07:00
Marc Durdin
1d41ee193b
Merge pull request #3959 from keymanapp/fix/mac/3331-altool-robustness
fix(mac): improve robustness of altool call
2020-11-27 06:31:25 +11:00
Keyman Server
1fcfd3b722
Merge pull request #3968 from keymanapp/auto/version-master-14.0.191
auto: increment master version to 14.0.191
2020-11-27 05:01:54 +11:00
Keyman Build Agent
c2392511f1 auto: increment master version to 14.0.191 2020-11-26 13:01:12 -05:00
Darcy Wong
2e29f117df fix(android/app): Finish packageActivity on Toast errors
This stops the activity from generating the Stepper navigation on failed keyboard installs
2020-11-26 12:38:42 +07:00
Marc Durdin
e0b019be8b
Merge pull request #3957 from keymanapp/chore/common/fixup-missing-history
chore(common): fixup missing history
2020-11-26 15:41:48 +11:00
Marc Durdin
d41a047942 chore: address review comments 2020-11-26 15:41:29 +11:00
Darcy Wong
967ec86889 fix(android/app): Check touch keyboard and language count 2020-11-26 11:36:34 +07:00
Darcy Wong
5a9cb05165 fix(android/engine): Check JS file exists in kmp
Modify packageProcessor.getKeyboardCount
2020-11-26 11:36:34 +07:00
Darcy Wong
63d92cd05b
Merge pull request #3923 from keymanapp/fix/fv/android/force-keyboard-setup
fix(android/oem): Check keyboard selected  before allowing setup
2020-11-26 11:06:06 +07:00
Marc Durdin
be544f49a7 fix(mac): Handle duplicate filenames for packages
If multiple copies of a package are saved by a browser, the browser will
typically append a ` (#)` to the filename, where `#` is a number. This
should be stripped off before installation to prevent duplicates of the
package being installed.

Fixes #2488.
2020-11-26 14:44:38 +11:00
Marc Durdin
9757e4330b fix(mac): improve robustness of altool call
Handles temporary failures calling altool where Apple servers return
"Could not find the RequestUUID" for a few minutes post-upload.

Example log we are handling:

```
[04:50:44][Step 5/5] Zipping Keyman.app for notarization to /Users/mcdurdin/buildAgent/work/99b311828f4ee7c/keyman/mac/Keyman4MacIM/build/Release/Keyman.zip
[04:50:44][Step 5/5] Uploading Keyman.zip to Apple for notarization
[04:51:23][Step 5/5] <?xml version="1.0" encoding="UTF-8"?>
[04:51:23][Step 5/5] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
[04:51:23][Step 5/5] <plist version="1.0">
[04:51:23][Step 5/5] <dict>
[04:51:23][Step 5/5] 	<key>notarization-upload</key>
[04:51:23][Step 5/5] 	<dict>
[04:51:23][Step 5/5] 		<key>RequestUUID</key>
[04:51:23][Step 5/5] 		<string>fd45e30c-5a96-4d02-9196-0923d4e5e90f</string>
[04:51:23][Step 5/5] 	</dict>
[04:51:23][Step 5/5] 	<key>os-version</key>
[04:51:23][Step 5/5] 	<string>10.15.3</string>
[04:51:23][Step 5/5] 	<key>success-message</key>
[04:51:23][Step 5/5] 	<string>No errors uploading '/Users/mcdurdin/buildAgent/work/99b311828f4ee7c/keyman/mac/Keyman4MacIM/build/Release/Keyman.zip'.</string>
[04:51:23][Step 5/5] 	<key>tool-path</key>
[04:51:23][Step 5/5] 	<string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
[04:51:23][Step 5/5] 	<key>tool-version</key>
[04:51:23][Step 5/5] 	<string>4.01.1182</string>
[04:51:23][Step 5/5] </dict>
[04:51:23][Step 5/5] </plist>
[04:51:23][Step 5/5]
[04:51:23][Step 5/5] Waiting 30 seconds for status
[04:51:55][Step 5/5] <?xml version="1.0" encoding="UTF-8"?>
[04:51:55][Step 5/5] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
[04:51:55][Step 5/5] <plist version="1.0">
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] 	<key>os-version</key>
[04:51:55][Step 5/5] 	<string>10.15.3</string>
[04:51:55][Step 5/5] 	<key>product-errors</key>
[04:51:55][Step 5/5] 	<array>
[04:51:55][Step 5/5] 		<dict>
[04:51:55][Step 5/5] 			<key>code</key>
[04:51:55][Step 5/5] 			<integer>1519</integer>
[04:51:55][Step 5/5] 			<key>message</key>
[04:51:55][Step 5/5] 			<string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] 			<key>userInfo</key>
[04:51:55][Step 5/5] 			<dict>
[04:51:55][Step 5/5] 				<key>NSLocalizedDescription</key>
[04:51:55][Step 5/5] 				<string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] 				<key>NSLocalizedFailureReason</key>
[04:51:55][Step 5/5] 				<string>Apple Services operation failed.</string>
[04:51:55][Step 5/5] 				<key>NSLocalizedRecoverySuggestion</key>
[04:51:55][Step 5/5] 				<string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] 			</dict>
[04:51:55][Step 5/5] 		</dict>
[04:51:55][Step 5/5] 	</array>
[04:51:55][Step 5/5] 	<key>tool-path</key>
[04:51:55][Step 5/5] 	<string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
[04:51:55][Step 5/5] 	<key>tool-version</key>
[04:51:55][Step 5/5] 	<string>4.01.1182</string>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </plist>
[04:51:55][Step 5/5]
[04:51:55][Step 5/5] altool failed with code 1
```
2020-11-26 11:53:35 +11:00
Marc Durdin
59aa301ea4 fix(oem/fv/android): tweaked check boxes
I opted to make the checkbox invisible when the step has not been
completed. This seemed to look a little clearer when I tried it.
2020-11-26 10:48:10 +11:00
Marc Durdin
fb36fc3f69 chore(common): remove --first-parent when searching for PRs
Instead of just reporting on --first-parent, now lists all merges that
are in the log, which means we get some non-PR merges but that's ok. At
least we get all of them.

This was most visible with chained PRs which were merged bottom-up.
2020-11-26 09:49:21 +11:00
Marc Durdin
51c69e2894 chore(common): fixup missing history
Discovered that some history entries were missing. This was because we
were calling `--first-parent` on `git log` in fixupHistory.ts. (I will
fix that in the next commit.)

I manually constructed the remaining history by hacking up
fixupHistory.ts to pull together the additional entries. A bit scary but
it worked.

For ref, I threw together the following PHP to get the list of missing
PRs:

```
<?php
  $foo = shell_exec("git log --merges --oneline --decorate=short master...release-14.0.3-alpha | grep -E \"#|-alpha\"");
  $foo = explode("\n", $foo);

  $version = '14.0.187';

  $history = file_get_contents('HISTORY.md');

  foreach($foo as $line) {
    $PR = null;
    if(preg_match("/#(\d\d\d\d)/", $line, $matches)) {
      // Is this entry a PR
      if(!preg_match("/keymanapp\/auto\/version-master/", $line)) {
        // Skip automatic version upgrades
        $PR = $matches[1];
      }
    }
    if(preg_match('/\(tag: release-(\d+\.\d+\.\d+)-alpha\)/', $line, $matches)) {
      // Was there a version tag here?
      $version = $matches[1];
    }
    if($PR) {
      if(strpos($history, "(#$PR)") === false ) {
        echo " $version: $PR [$line]\n";
      }
    }
  }
?>
```

And I munged up fixupHistory.ts to just lookup each PR returned from
that report and splice it into HISTORY.md. That hackery is so awful I am
not sharing it here.
2020-11-26 09:44:36 +11:00
Keyman Server
922ac7953c
Merge pull request #3956 from keymanapp/auto/version-master-14.0.190
auto: increment master version to 14.0.190
2020-11-26 05:01:54 +11:00
Keyman Build Agent
5f32b941ad auto: increment master version to 14.0.190 2020-11-25 13:01:09 -05:00
Darcy Wong
1d580360d7
Merge pull request #3947 from keymanapp/chore/common/cleanup-lmlayer-history
chore(common/resources): Part 3 of additional HISTORY.md cleanup
2020-11-25 19:19:48 +07:00
Marc Durdin
7df7d78749
Merge pull request #3952 from keymanapp/chore/mac/iso_section_key_code
chore(mac): fix iso section key code
2020-11-25 19:46:45 +11:00
Marc Durdin
0c67dbf5dd
Merge pull request #3949 from keymanapp/feat/mac/1953-user-controllable-legacy-app-list
feat(mac): user-controllable legacy app list
2020-11-25 19:46:35 +11:00
Marc Durdin
78816cbe6a
Merge pull request #3946 from keymanapp/fix/mac/3939-arrow-keys-reset-context
fix(mac): arrow keys now reset context
2020-11-25 19:05:39 +11:00
Marc Durdin
0981473514 chore(mac): fix iso section key code 2020-11-25 18:56:23 +11:00
Darcy Wong
bb424b8f50 chore: Split (android,ios) scope
* Split (android,ios) scopes into separate lines so that App store submission won't get blocked
* fix chore(mac)
2020-11-25 14:26:52 +07:00
Darcy Wong
f19cfff3f4 chore: address review comments 2020-11-25 14:15:57 +07:00