Skip to content

feat: ensure that packages that depend on a newer version of Keyman are not offered for iOS, Android #325

@mcdurdin

Description

@mcdurdin

The server won't offer it.

At least, that was in the original design. I haven't looked at this for a long time.

For Windows, for example:

if(isset($KeyboardDownload->minKeymanVersion) && version_compare($KeyboardDownload->minKeymanVersion, $appVersion, '>')) {
// New version of the keyboard doesn't run with the user's Keyman Desktop version
return FALSE;
}

General online update check, used only by Windows (and Developer) at this point:

if(isset($KeyboardDownload->minKeymanVersion) && version_compare($KeyboardDownload->minKeymanVersion, $appVersion, '>')) {
// New version of the keyboard doesn't run with the user's Keyman Desktop version
return FALSE;
}

And it looks like that was not implemented in Android or iOS package-version check. So that needs to be fixed in https://github.com/keymanapp/api.keyman.com/blob/8209e4212df69149f0c39d518359f04afcec0b1a/script/package-version/package-version.php and apps:

  1. api.keyman.com API should only offer keyboard and package updates that are supported (we can handle this for apps older than 19.0 by treating a missing version parameter as '18.0').
  2. apps should always include version parameter in their package-version query.

Originally posted by @mcdurdin in #13559

Metadata

Metadata

Assignees

Type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions