Skip to content

Conversation

@rc-swag
Copy link
Contributor

@rc-swag rc-swag commented Aug 26, 2025

Fixes: #293
Ref:

User Testing

@mcdurdin I think the test you did can be a test for this api side change. As such I did not right every detailed step as you have already carried out this test.

TEST_local_host

  • Setup api.keyman.com running as a local host with this PR change running.
  • Install Keyman for Windows 18.0.235 or 18.0.236
  • Change the api.keyman.com host using the advanced developer settings to local host
  • Check for updates on the Update tab.
  • Verify that C:\Users\{UserName}\AppData\Local\Keyman\UpdateCache contains keyman keyman-18.0.000.exe once downloaded.
  • Then either restart or press install now and choose 'update' and Yes to elevation prompt.

Once installed verify the new version is 18.0.240

@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Aug 26, 2025

User Test Results

Test specification and instructions

  • TEST_local_host (PASSED): ran this test on my machine and verified that the installed version afterwards was 18.0.240.

@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S10 milestone Aug 26, 2025
// If we include the fixed file in the stable directory we maybe able to access the
// $tierdata->files to help us.
$installedParts = explode('.', $InstalledVersion);
if($installedParts[0] == '18' && version_compare($InstalledVersion, '18.0.236', '<=')) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure version compare will be able to ccompare against 18.0.236 ?

@rc-swag
Copy link
Contributor Author

rc-swag commented Aug 29, 2025

@mcdurdin
I think this code should work for the downloading,
and we host it at
https://downloads.keyman.com/windows/stable/18.0.001_fix/
It will really be a build of .240 (or anything later than .236)
I am not sure if we hand craft all the .info files and rename the executable of the .240 build. Or should we do an actual build?

I'm not sure though is there an index file GetPlatformVersion or is it actually reading the directories. If so I guess the fix build will be in that list. Not that it would matter the code in this PR would still work. It could even be improved to loop through and find the file and return that rather than all the hardcoded strings I have at line 91

@mcdurdin
Copy link
Member

https://downloads.keyman.com/windows/stable/18.0.001_fix/

For safety, I think we put the file at /windows/stable/18.0.240/____/keyman-18.0.001_fix.exe. Where ____ is a name I haven't decided on yet. We include a README.md in that folder explaining why this is here and linking to both this PR and related issues on keymanapp/keyman. The file should be a copy of the existing 18.0.240.exe build.

This avoids the creation of a folder which could be enumerated by other systems, and keeps the file together with its actual version. With a little bit of setup, we should be able to test this locally before deployment.

@rc-swag
Copy link
Contributor Author

rc-swag commented Aug 29, 2025

This avoids the creation of a folder which could be enumerated by other systems, and keeps the file together with its actual version. With a little bit of setup, we should be able to test this locally before deployment.

Yes, I was concerned about side effects to differnt components that may enumerate the directory tree. So this is a good idea having the subdirectory. In the code I actually went from using the prefix fix to repair, which we could consider for the directory ___ name also... or something that gives the meaning.

@darcywong00 darcywong00 modified the milestones: A19S10, A19S11 Aug 29, 2025
rc-swag and others added 2 commits September 2, 2025 17:28
call RepairVersionCheck on for the bundle, in the excute function.
@mcdurdin mcdurdin changed the title feat: init todo special version check WIP fix: provide repair version of keyman-18.0.240.exe for 18.0.235-236 version users Sep 2, 2025
@rc-swag rc-swag marked this pull request as ready for review September 3, 2025 01:42
@rc-swag rc-swag self-assigned this Sep 3, 2025
@rc-swag rc-swag requested a review from mcdurdin September 3, 2025 01:42
@github-actions github-actions bot added the fix label Sep 3, 2025
@mcdurdin
Copy link
Member

mcdurdin commented Sep 3, 2025

Test Results

  • TEST_local_host (PASSED): ran this test on my machine and verified that the installed version afterwards was 18.0.240.

@rc-swag rc-swag merged commit 997ce40 into master Sep 3, 2025
5 checks passed
@rc-swag rc-swag deleted the feat/293/check-install-return-fix branch September 3, 2025 05:37
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Sep 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

feat: add check for 18.0.235 and 18.0.236 releases and return the url for a special fix update to 18.0.239 or later

4 participants