Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在 Safari 開新 Tab 時出現 IMKServerXPCInvocation 故障,除非在 deactivateServer() 時停用 setMarkedText()。 #226

Closed
ShikiSuen opened this issue Nov 3, 2022 · 8 comments · Fixed by #228, #231, #238, #237 or #239
Assignees
Labels
BUG / DEBUFF / REGRESSION Something isn't working DEALT Case closed with effective works on.
Milestone

Comments

@ShikiSuen
Copy link
Collaborator

ShikiSuen commented Nov 3, 2022

在 M1 機種內有人提報說會在 Safari 開新 Tab 時出現 IMKServerXPCInvocation 故障。
自 2.7.0 開始出現問題。出現故障時會直接 hang 幾秒。

我只有 Intel 機種,無法重現該問題。
輸入法版本 2.9.4 SP2,系統 macOS 13.0 首發正式版。

昨天從先前的 MacBook Air 換到 MacBook Pro 14 M1 Pro。
在 Safari 版本16.1(18614.2.9.1.12)下,按 Cmd+T 開啟新的「空白分頁」或「起始畫面」時,整個 Safari 視窗會凍結,並旋轉> 彩球 3-5 秒。威注音的選單會顯示「⋯⋯⋯⋯」。
因切換至「美國」英文輸入法無此問題發生,故研判為威注音的問題。

image

該問題是個案,誘因不明。我另一個朋友測試卻沒發現該問題:

Mac Studio, Ventura 13.0 (22A380), Safari 16.1, vChewing 2.9.4 SP2 繁簡都沒遇到這個問題
Console 無錯誤訊息生成。

@ShikiSuen ShikiSuen added the BUG / DEBUFF / REGRESSION Something isn't working label Nov 3, 2022
@ShikiSuen ShikiSuen self-assigned this Nov 3, 2022
@ShikiSuen ShikiSuen added this to the 2.9.5 milestone Nov 3, 2022
@ShikiSuen
Copy link
Collaborator Author

image

@ShikiSuen
Copy link
Collaborator Author

One of my assumptions regarding this issue (Radar Issue 16792073):

Even if client() is valid (not nil), setMarkedText() still shall not be executed on deactivateServer() since it already runs this.
Otherwise, a dead loop may occur.

Previously, vChewing tried mitigating this issue with Grand Central Dispatch. Now, it looks like this workaround may not work with this specific case.

@ShikiSuen
Copy link
Collaborator Author

該問題與田所選字窗無關。

@ShikiSuen ShikiSuen changed the title 在 M1 機種內有人提報說會在 Safari 開新 Tab 時出現 IMKServerXPCInvocation 故障 在 Safari 開新 Tab 時出現 IMKServerXPCInvocation 故障,除非在 deactivateServer() 時停用 setMarkedText()。 Nov 3, 2022
@ShikiSuen ShikiSuen linked a pull request Nov 4, 2022 that will close this issue
@ShikiSuen
Copy link
Collaborator Author

Fixed in #228.

@ShikiSuen ShikiSuen added the DEALT Case closed with effective works on. label Nov 4, 2022
@ShikiSuen ShikiSuen linked a pull request Nov 4, 2022 that will close this issue
@ShikiSuen
Copy link
Collaborator Author

PR #231 重新啟用了在 deactivated 的情況下的 commit() 行為,因為該行為有助於保障使用者體驗、且與本 issue 試圖解決的問題無關。

@ShikiSuen
Copy link
Collaborator Author

#237#238 用來善後。看來還不能手動提前 deactivateServer()。

@ShikiSuen ShikiSuen linked a pull request Nov 4, 2022 that will close this issue
@ShikiSuen
Copy link
Collaborator Author

func handle(state) 不需要動。#239 用以恢復任何對該函式的修改。

@ShikiSuen
Copy link
Collaborator Author

已正式取消「強制讓其它會話副本全部 deactivateServer()」的設計。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment