spiegel-keyman/ios/engine/KMEI/KeymanEngine/Classes
Marc Durdin bbeb799ac2 feat(ios): add keyman-version to package-version check
For Keyman for iOS, add the new `keyman-version` parameter to the
api.keyman.com/package-version call so that updates to packages that are
not supported on the current version of Keyman will not be offered. This
supports the scenario where an updated keyboard or lexical model depends
on a newer version of Keyman. Note that an older version of the keyboard
or lexical model package will not be offered (the user can still
download and install an older version manually, but generally, the
recommended solution is to upgrade Keyman; there would be significant
cost to add support for querying and installation of older version
keyboards on the server side, for limited benefit).

Also change order of handling for response so that error responses are
recognized even if non-error fields are present. (The current api
endpoint, before keymanapp/api.keyman.com#325 lands, can return `kmp`
and `version` fields even when an `error` field was present, and the iOS
code would see that as a valid response for upgrade, when it shouldn't.
The keymanapp/api.keyman.com#325 change ensures that the additional
fields are not set if there is an `error` field.)

Relates-to: keymanapp/api.keyman.com#325
2026-06-25 11:27:00 +02:00
..
am.lproj chore(common): Check in crowdin strings for Amharic 2021-05-19 09:12:39 +07:00
az.lproj chorre(common): Check in crowdin files for Azerbaijani 2021-04-28 15:17:25 +07:00
Base.lproj refactor(ios/engine): creates package-centric web-view controller 2020-09-23 10:37:07 +07:00
bwr-ng.lproj chore(common): Check in crowdin strings for Bura-Pabir 2021-10-19 16:14:03 +07:00
ckl.lproj chore(common): Check in crowdin strings for Kibaku 2021-12-15 10:42:18 +07:00
cs.lproj chore(common): Add crowdin strings for Czech 2023-01-26 07:31:47 +07:00
de.lproj fix(ios): ResourceInfoView.strings l10n mapping correction 2021-03-04 09:50:22 +07:00
el.lproj fix(ios): Use el instead of el-polyton locale 2024-06-24 07:48:44 -05:00
en.lproj refactor(ios/engine): creates package-centric web-view controller 2020-09-23 10:37:07 +07:00
Errors change(ios): revert temp dev-changes to display "force error" option 2025-05-21 09:07:08 +07:00
es-419.lproj chore(common): Check in crowdin strings for Spanish (Latin America) 2021-06-11 07:33:56 +07:00
es.lproj chore(common): Add crowdin strings for Spanish (es) 2023-06-19 11:42:26 -05:00
Extension fix(ios): save keyboard height in UserDefaults 2024-11-15 14:36:55 +07:00
ff-ng.lproj chore(common): Check in crowdin strings for Fulfulde Nigeria 2021-10-20 11:18:22 +07:00
ff.lproj chore(common): Check in crowdin for Fulah 2021-04-01 09:12:31 +07:00
fr.lproj fix(ios): ResourceInfoView.strings l10n mapping correction 2021-03-04 09:50:22 +07:00
ha.lproj chore(common): Check in crowdin strings for Hausa 2021-09-29 10:47:56 +07:00
hia.lproj chore(common): Check in crowdin strings for Waha 2021-12-15 15:57:26 +07:00
Installation chore(ios): remove code conditional upon iOS 13 to iOS 15 2025-02-13 11:57:50 +07:00
it.lproj chore(common): Add crowdin strings for Italian 2022-05-09 11:04:12 +07:00
Keyboard fix(ios): restore keyboard scale map for iPad Air 2 2025-07-07 07:58:03 -05:00
km.lproj fix(ios): ResourceInfoView.strings l10n mapping correction 2021-03-04 09:50:22 +07:00
kmp.json allow mutliple languages in kmp file and warn if none found 2023-01-31 09:59:51 +07:00
kn.lproj chore(common): Add Crowdin strings for Kannada 2023-01-24 07:19:11 +07:00
kr.lproj chore(common): Check in crowdin strings for Kanuri 2021-12-15 09:57:54 +07:00
LanguagePicker fix(ios): dismissal of keyboard picker should resummon keyboard 2025-04-11 08:32:52 +07:00
mfi.lproj chore(common): Check in crowdin strings for Mandara (Wandala) 2021-10-26 15:18:51 +07:00
mnw.lproj chore(common): Add crowdin strings for Mon 2023-09-12 13:05:44 +07:00
mrt.lproj chore(common): Check in crowdin strings for Marghi 2021-12-15 12:48:09 +07:00
nl.lproj chore(common): Add crowdin strings for Dutch 2022-10-20 09:42:56 +07:00
Notification remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
pl.lproj chore(common): Add crowdin strings for Polish 2022-05-09 12:41:36 +07:00
pt-PT.lproj chore(common): Use pt-PT for iOS and macOS strings 2022-04-08 14:11:56 +07:00
Queries feat(ios): add keyman-version to package-version check 2026-06-25 11:27:00 +02:00
Resource Data chore(ios): adjustments per review 2024-08-19 12:16:04 +07:00
Resource Management maint(web): upgrade Sentry to 8.55.0 2025-05-22 14:02:16 +07:00
ru.lproj chore(common): Check in crowdin for Russian 2023-01-24 10:13:13 +07:00
Settings chore(ios): fix new codeline's indentation 2025-04-08 11:58:35 +07:00
shu-latn-n.lproj chore(common): Check in crowdin strings for Shuwa Latin 2021-09-21 14:42:58 +07:00
sv.lproj chore(common): Add crowdin for Swedish 2023-01-24 09:33:42 +07:00
uk.lproj chore(common): Check in crowdin for Ukrainian 2023-01-24 10:26:15 +07:00
vi.lproj chore(common): Add crowdin strings for Vietnamese 2025-02-22 07:37:36 +07:00
zh-Hans.lproj chore(common): Check in crowdin strings for simplified Chinese 2021-09-13 12:16:58 +07:00
Alerts.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
Colors+Extension.swift chore(ios): remove code conditional upon iOS 13 to iOS 15 2025-02-13 11:57:50 +07:00
Colors.swift change(ios): drops conditional iOS <= 11 checks 2021-05-27 14:13:27 +07:00
Constants.swift fix(ios): created a new constant unknownDeviceKeyboardHeight 2024-12-16 14:03:26 +07:00
HTTPDownloader.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
HTTPDownloadRequest.swift feat(ios): introduces HTTPDownloader unit testing 2020-05-28 10:36:37 +07:00
KeyboardHeightViewController.swift chore(ios): remove code conditional upon iOS 13 to iOS 15 2025-02-13 11:57:50 +07:00
KeyboardKeymanPackage.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
KeyboardNameTableViewCell.swift change(ios): pass 5, more reorganization 2021-05-27 12:53:43 +07:00
KeymanEngineLogger.swift respond to review comments, change subsystem names 2024-01-23 14:26:24 +07:00
KeymanHosts.swift chore: move to .localhost for local server URLs 2026-05-18 13:15:51 +02:00
KeymanPackage.swift respond to review comments, change subsystem names 2024-01-23 14:26:24 +07:00
KeymanURLProtocol.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
LanguageLMDetailViewController.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
LanguageLMDetailViewController.xib change(ios): pass 5, more reorganization 2021-05-27 12:53:43 +07:00
LexicalModelKeymanPackage.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
LexicalModelPickerViewController.swift respond to review comments, change subsystem names 2024-01-23 14:26:24 +07:00
Manager.swift feat(ios): log active keyboard, model IDs with reported errors 2025-05-20 13:44:16 +07:00
Obsoletions.swift change(ios): consolidation of obsoletions 2021-05-27 13:10:17 +07:00
PackageWebViewController.swift chore(ios): remove code conditional upon iOS 13 to iOS 15 2025-02-13 11:57:50 +07:00
ResourceDownloadStatusToolbar.swift fix(ios): ensure update notification is consistently rendered 2025-04-10 13:09:15 +07:00
ResourceInfoViewController.swift remove XCGLogger dependency from Keyman Engine 2024-01-19 10:47:54 +07:00
Settings.storyboard change(ios): pass 5, more reorganization 2021-05-27 12:53:43 +07:00
SettingsViewController.swift change(ios): revert temp dev-changes to display "force error" option 2025-05-21 09:07:08 +07:00
SpacebarTextViewController.swift feat(ios): add spacebar text controls 2021-06-25 11:44:09 +10:00
TextField.swift fix(ios): context synchronization after new paragraph 2024-02-15 10:49:46 +07:00
TextFieldDelegateProxy.swift change(ios): Swift 4 -> Swift 5 base conversion 2019-11-01 08:25:34 +07:00
TextView.swift fix(ios): context synchronization after new paragraph 2024-02-15 10:49:46 +07:00
TextViewDelegateProxy.swift Remove Keyman prefix from some classes 2017-11-06 12:03:08 +07:00
UniversalLinks.swift chore: move to .localhost for local server URLs 2026-05-18 13:15:51 +02:00