From 33af6dedb9ece583bcca3fa07703ef6fef1af12e Mon Sep 17 00:00:00 2001 From: ksqsf Date: Mon, 9 Sep 2024 20:33:18 +0200 Subject: [PATCH] fix: create sessions for empty app bundle identifiers Closes #977 --- action-install.sh | 2 +- sources/SquirrelInputController.swift | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/action-install.sh b/action-install.sh index 0f884d6f4..d5a0cbdb1 100755 --- a/action-install.sh +++ b/action-install.sh @@ -3,7 +3,7 @@ set -e rime_version=latest -rime_git_hash=6b1b41f +rime_git_hash=24f0f7b sparkle_version=2.6.2 rime_archive="rime-${rime_git_hash}-macOS-universal.tar.bz2" diff --git a/sources/SquirrelInputController.swift b/sources/SquirrelInputController.swift index 3b4861a11..370d01ef6 100644 --- a/sources/SquirrelInputController.swift +++ b/sources/SquirrelInputController.swift @@ -9,6 +9,7 @@ import InputMethodKit final class SquirrelInputController: IMKInputController { private static let keyRollOver = 50 + private static var unknownAppCnt: UInt = 0 private weak var client: IMKTextInput? private let rimeAPI: RimeApi_stdbool = rime_get_api_stdbool().pointee @@ -332,7 +333,10 @@ private extension SquirrelInputController { } func createSession() { - guard let app = client?.bundleIdentifier() else { return } + let app = client?.bundleIdentifier() ?? { + SquirrelInputController.unknownAppCnt &+= 1 + return "UnknownApp\(SquirrelInputController.unknownAppCnt)" + }() print("createSession: \(app)") currentApp = app session = rimeAPI.create_session()