2019年6月2日日曜日

Stream Deck を4.3にアップデートしたら、「開く」アクションでエラーが出るようになった!


先日、Stream Deck が 4.2 から 4.3 にアップデートされ、Stream Deck XL と Stream Deck Mobile が発表されました。
Stream Deck XL 欲しい!けどそんなにボタン使わないし悩ましいところですね。

Stream Deck は頻繁にアップデートされ、様々な機能の追加やデバッグされていて喜んでいたのですが、今回は思わぬバグが発生して困ってしまいました。

Stream Deck には「開く」アクションという、ファイルを開く機能があるんですが、今まではどのファイルも問題なく開けていたんです。
ですが、4.3にアップデートしたら、なぜかほとんどが開けなくなっていました。

動作を色々と調べた

調べた環境は、Windows 10 Home 64bit です。

前のバージョン4.2.1.10055では正常に開きました。
今回のバージョン4.3.0.11246で出るバグのようです。

更に調べると、どうやらパスに含まれる全角文字の文字数が問題のようです。
4.2は調べてないので上限はわからないのですが、4.3ではフルパスが英数字で247文字まではエラーにならずに開きました。
ここまでは問題ないのですが、全角文字は1文字で9文字程でカウントされるようで、
ドライブレターと拡張子を除くと、全角文字で27文字程でエラーになるみたいです。

英数字だと

D:\123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt

ここまでの長さのフルパスが問題なく開けますが、全角文字を使うと途端に短くなります。

エラーになる境界線

D:\あいうえおかきくけこ\さしすせそたちつてと\なにぬねのは.txt → 開ける
D:\あいうえおかきくけこ\さしすせそたちつてと\なにぬねのはひ.txt → エラーになる
D:\1234567890\1234567890\123456.txt → 開ける
D:\1234567890\1234567890\1234567.txt → エラーになる
※数えやすいように数字を全角にしています。

ちなみに、4.2では「Webサイト」アクションでも同様にファイルが開けたのですが、4.3では文字数に関係なくファイルが開けなくなっていました。