Ticket #30703

デスクトップ版Skype 6がWindows8でフリーズする

Open Date: 2013-02-08 15:07 Last Update: 2013-06-23 11:44

Reporter:
Owner:
(None)
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

Windows 8(64ビット)+NVDA 2012.3.1jp インストール環境+デスクトップ版 Skype 6.1 の組み合わせで Skype がフリーズしたのでチケットにしておきます。

日本語版の開発スナップショットでは起きないのですが、「バージョンアップすると解決する」と宣言してよいかどうか、引き続き検証および情報収集したいと思います。

本家は Skype 6.1 対応で具体的な作業をしてはいないようですが、 Skype の最近の新機能(Facebook連携などメッセージ関連)にアクセシブルでない部分があるという情報を見ました。

余談ですが、Skype をスクリーンリーダーで使いやすくするツールとしてよく知られている Skype Tallking

https://code.google.com/p/skypetalking/

が開発を終了しているため、それに替わるツールとして GW Connect がよく紹介されており、NVDA でもうまく動くとされています。

http://www.gwmicro.com/App_Central/Apps/App_Details/?scriptid=1353

Ticket History (3/10 Histories)

2013-02-08 15:07 Updated by: nishimoto
  • New Ticket "デスクトップ版Skype 6.1の動作が不安定" created
2013-02-15 11:26 Updated by: nishimoto
  • Summary Updated
Comment

Skype 6.2 が公開されました。

INTERNET Watch の記事: http://internet.watch.impress.co.jp/docs/news/20130214_587715.html

安定性が改善されたかどうかは未検証ですが、チケットのタイトルを変更します。

2013-04-10 15:42 Updated by: nishimoto
Comment

UIA を Windows 8 で無効にするとフリーズは回避できるようですが、いろいろ悪影響もあります。

本家チケット 2746

http://community.nvda-project.org/ticket/2746

に jteh さんが添付している unregUIAEvents.py グローバルプラグインを、NVDA 日本語ベータ版 2013.1jp-beta2 (電子署名あり)で試してみました。

どうやら NVDA+Shift+1 (UIA ToolTipOpened の登録解除)を使うと、Tabキーでユーザー検索のエディットボックスにフォーカスしたときのフリーズが解決するようです。

NVDA+Shift+2 だけ使ったときにはやはりエディットボックスでフリーズします。

テスト環境 Windows 8 (64bit) + デスクトップ用 Skype 6.2.60.106 + ATOK 2013

他にも Skype がフリーズしやすいタイミングがあるかも知れません。

NVDA本家版でも確認してみます。

2013-04-12 13:06 Updated by: nishimoto
Comment

本家チケット 3036 NVDA not reading first letters in the edit field when searching for contacts in skype 6.2. http://community.nvda-project.org/ticket/3036

ここで議論されている TAccessibleEdit コントロールは、フォーカスがあたるとフリーズする「ユーザー検索のエディットボックス」が当てはまります。

ただ、このチケットで解決策とされている修正 (Branch nvda/main: Rev 5981)は(少なくとも Windows 8 日本語環境では)適用しても、やはりフリーズします。

テスト環境を Skype 6.3.59.105 に更新しましたが、状況は変わりません。(unregUIAEventsでNVDA+Shift+1する、UIAをグローバルに無効化すれば解決する、という状況)

2013-04-18 00:12 Updated by: nishimoto
Comment

jteh さんの unregUIAEvents.py から判断したのですが、下記の変更で Skype の検索ボックス TAccessibleEdit でのフリーズは回避できるようです。

diff --git a/source/_UIAHandler.py b/source/_UIAHandler.py
index 798a936..5f560ab 100644
--- a/source/_UIAHandler.py
+++ b/source/_UIAHandler.py
@@ -102,7 +102,7 @@ UIAEventIdsToNVDAEventNames={
        UIA_SelectionItem_ElementRemovedFromSelectionEventId:"stat
eChange",
        #UIA_MenuModeEndEventId:"menuModeEnd",
        #UIA_Text_TextSelectionChangedEventId:"caret",
-       UIA_ToolTipOpenedEventId:"alert",
+#      UIA_ToolTipOpenedEventId:"alert",
        #UIA_AsyncContentLoadedEventId:"documentLoadComplete",
        #UIA_ToolTipClosedEventId:"hide",
 }
2013-04-21 15:37 Updated by: nishimoto
  • Milestone Update from (None) to 2013.1jp (closed)
  • Resolution Update from None to Fixed
Comment

下記の git コミットで「日本語設定」に「Windows 8 トースト通知」という設定を追加し、デフォルトを無効にしました。

nvdajp release-2013.1jp 2038dcd

要するに Windows 8 トースト対応と、Skype 6.3 のバグ回避か、どちらかをユーザーに選んでいただく、という方針です。

本家のチケット 2712 が Skype のフリーズを扱っています。 http://community.nvda-project.org/ticket/2712

Skype のバグレポートが下記の通り登録されています。 https://jira.skype.com/browse/SCW-4107

Skype のバグフィックスは時間の問題と思いますが、現時点では、たとえ機能を削っても、フリーズを回避できる設定で提供したいと思います。

Skype の app module に手を入れるアプローチも引き続き検討しますが、いつでも正式版がリリースできるように、当面この状態で開発スナップショットを作りたいと思います。

2013-04-23 21:15 Updated by: nishimoto
  • Summary Updated
Comment

下記の git commit で対策方法を変更しました。

release-2013.1jp 1585f64

元々の _UIAHandler.py は本家の実装に戻しました。

「Windows 8 トースト通知」のチェックボックスのかわりに「Skypeフリーズ対策」というチェックボックスを作り、デフォルトを「有効」にしました。

このチェックボックスが有効のときには misono さんが実装してくださった新しい Skype の appModule を使用して、チェックなしのときには本家の skype.py のままになるようにしました。

この切替を行うために misono さんバージョンの skype.py (現時点の最新のひとつ前のもの)を _skypeWin8Hack.py とリネームして、オリジナルの skype.py の最後にモンキーパッチ処理を追加するようにしました。

本家が skype.py を更新したときに、この方針のほうがマージが容易になると思います。

skypeWin8Hack そのものがまだ更新される可能性がありますが、現状では、Skype が実行されていなければ Windows 8 のトーストは通知されるようになっています。

2013-04-27 01:26 Updated by: nishimoto
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2013-04-27 01:26
Comment

下記の git コミットで skypeWin8Hack を更新しました。

release-2013.1jp 00dbf2a

「Skype が実行されていなければ Windows 8 のトーストは通知される」という仕様はそのままです。

2013-05-03 14:48 Updated by: nishimoto
Comment

本チケットの作業において skype のアプリケーションモジュールを独自に更新したのですが、本家は 2013.2 に向けて下記のチケットの作業をしており、モジュールが大幅に書き換わっているので、念のために情報共有しておきます。

NVDA should read automatically incoming chat from Skype http://community.nvda-project.org/ticket/2298

変更したファイルを _skypeWin8Hack.py に分離したので、マージはうまくできると思うのですが。。

2013-06-23 11:44 Updated by: nishimoto
Comment

Skype 6.5.59.158 と NVDA 本家版の最新スナップショット release-2013.1-9175,c22133d で、連絡先検索のエディットがフリーズしないことを確認しました。

すでに本家 master ブランチの skype モジュールはかなり書き換わっていますが 2013.2jp で日本語版のSkypeフリーズ対策をもういちどマージするか、Skypeフリーズ対策を廃止して 6.5 の使用を推奨するか、2013.1.1jp が終わってから、検討したいと思います。

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login