1. Dec 01, 2020
  2. Nov 30, 2020
  3. Nov 29, 2020
  4. Nov 28, 2020
  5. Nov 27, 2020
  6. Nov 26, 2020
    • Darcy Wong's avatar
      fix(android/app): Finish packageActivity on Toast errors · 2e29f117
      Darcy Wong authored
      This stops the activity from generating the Stepper navigation on failed keyboard installs
      2e29f117
    • Marc Durdin's avatar
      Merge pull request #3957 from keymanapp/chore/common/fixup-missing-history · e0b019be
      Marc Durdin authored
      chore(common): fixup missing history
      e0b019be
    • Marc Durdin's avatar
      chore: address review comments · d41a0479
      Marc Durdin authored
      d41a0479
    • Darcy Wong's avatar
      967ec868
    • Darcy Wong's avatar
      fix(android/engine): Check JS file exists in kmp · 5a9cb051
      Darcy Wong authored
      Modify packageProcessor.getKeyboardCount
      5a9cb051
    • Darcy Wong's avatar
      Merge pull request #3923 from keymanapp/fix/fv/android/force-keyboard-setup · 63d92cd0
      Darcy Wong authored
      fix(android/oem): Check keyboard selected  before allowing setup
      63d92cd0
    • Marc Durdin's avatar
      fix(mac): Handle duplicate filenames for packages · be544f49
      Marc Durdin authored
      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.
      be544f49
    • Marc Durdin's avatar
      fix(mac): improve robustness of altool call · 9757e433
      Marc Durdin authored
      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
      ```
      9757e433
    • Marc Durdin's avatar
      fix(oem/fv/android): tweaked check boxes · 59aa301e
      Marc Durdin authored
      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.
      59aa301e
    • Marc Durdin's avatar
      chore(common): remove --first-parent when searching for PRs · fb36fc3f
      Marc Durdin authored
      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.
      fb36fc3f
    • Marc Durdin's avatar
      chore(common): fixup missing history · 51c69e28
      Marc Durdin authored
      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.
      51c69e28