[SlackLogViewer]Slack過去ログ閲覧ツール更新(8)。

1年近くほったらかしていたSlackLogViewerの更新である。特に機能追加などはないので、主として不具合修正である。

SlackLogViewerの説明はこちらへ
Windows、macOS版のダウンロード先はこちらへ

Qt5のサポート終了

メンテナンスをしていて初めて、OpenSSL 1.1.1のサポートが終了していることを知った。SlackLogViewerはC++とQtを使って作られているが、Qt5はOpenSSL 3.xをサポートしていないことから、Qt6へと完全移行し、Qt5のサポートは打ち切ることにした。Qt6は6.2.4の時点だと若干バグがあったりしたのだが、今では修正されているようだったので、問題はないと思っている。

いやまあ、Qt5でのビルドが全くできなくなったわけではないし、OpenSSL 1.1.1を何処かから拾ってきたりして導入すれば今でもQt5版を使うことはできる。どうしてもQt5が良ければ私は関知しないので自己責任の範囲でご自由にどうぞ。もともと完全自己責任で使うべきOSSではあるので、どのようなトラブルに遭おうが全ては使用者の責任である。と、責任逃れをしておく。

JSONフォーマットの異常への対応

Slackのエクスポートファイルは多数のJSONファイルで成り立っているのだが、これらの中の情報はあちこちが欠損していて、なぜだかメッセージ内容が消えていたり、添付ファイル情報が丸ごと消えていたり、スレッドの親メッセージが消えていたりする。こうした情報欠損は本当に厄介で、どう考えても必須の情報が普通に欠損しているので、「このフィールドが存在しないなんてありえない」、と決めつけた箇所がそこかしこにあった過去バージョンでは頻繁にクラッシュが発生していた。
今回、こうした情報がどれほど不可欠な情報であっても欠損する可能性があると想定したコードに書き換えた。どこかに抜けはあるかもしれないので、そのあたりは見つけ次第直していく。
ただ、GitHubのIssuesに届いている不具合報告のうちどれだけを修正できたかは不明である。これらの修正の多くはすでにテストビルド版として不具合を訴える人たちに提供してみたのだが、あまり直らなかったようなので、まだ色々と不具合が潜んでいる可能性は高い。

Slackが公開範囲の限られたチャットツールである以上、ファイルを開けない不具合はたいてい修正不可能である。エクスポートファイルを提供してもらえないのだからバグの再現ができないのだ。これは私の能力の問題ではなく、単に怠慢なわけでもなく、チャットツールの性格上の問題である。不具合報告自体は受け付けるが、エクスポートファイルを私に公開する勇気のない人は修正されることを期待しないでほしい。

ところで

実は今回の不具合修正のうち大半は去年の8月頃に行ったものである。が、いかんせんその頃から本業のほうが急激に忙しくなって、今の今までリリースに至らず放置されていたのだ。いや、うん、申し訳ない。こっちは時間も金もない中で何とか暇を捻出しながらサポートしている状態なので、今後もバグ報告等に即時対応できる可能性は低い。OSSは利益にならないなぁ、ホント。