Ochusha is a so-called 2ch browser based on GTK+.
It is implemented mainly in C/C++ and employs multi-threading so that it runs considerably quickly. We would like to respond to user's request for features.
version 0.4.10.2 (2004-01-27)
- 画像あぼーんを実装した。
- タイムアウト処理で、タイムアウトすべきでないものをタイムアウトしてし
まっていた問題を解決した。
- 画像表示でアニメーション(実質GIFだけだが)に対応した。
- リンク右クリックのポップアップメニューが表示されている場合には、レス
や画像のポップアップを表示しないように変更した。
- ネットワークアクセス専用にGLibのMain Event Loopを回すスレッドを作
り、デッドロックが起こりにくくした。
- ダウンロードダイアログのキャンセルボタンが押されたときに、ダウンロー
ドをやめるようにした。
- ネットワークアクセスのchunksizeを指定するようにした。
- ネットワークアクセスを途中で止めるロジックのバグにより、バージョン
0.4.9辺りから発生していたと思われるハングアップ問題を解決した。
- 「/板/新しい仮想板を作る」メニューを追加した。
- その他にも細かいバグを修正した。
* ダウンロードダイアログのキャンセルボタンが押された時に、ダウンロー
ドをやめるようにした。
* libghttpは、どうやらchunksizeを頑なに固定しているらしく、デフォ
ルトの設定が1024バイトになっている。このためネットワークが速い環
境でファイルをダウンロードすると、ネットワークアクセススレッドが
無駄にCPUを消費してしまうことが判明したので、chunksizeを指定する
ようにした。おちゅ〜しゃのデフォルトとしては、スレ一覧とスレのダ
ウンロード時には4Kバイト、ファイルおよび画像のダウンロード時には
128Kバイトとした。
* ネットワークアクセスを途中で止めるロジックがバージョン0.4.9辺り
から腐っていたため、タブを閉じたりおちゅ〜しゃを終了させたりした
時に運が悪いとおちゅ〜しゃがハングアップしていた問題を、解決した
つもり。
* リンクになっていないURLっぽい文字列を嘘っこa要素として取り扱う部
分が素朴すぎたため、aタグで囲まれた部分にURLっぽい文字列が出てき
た時にネストしたa要素っぽくなってしまう問題を解決した。
* OchushaNetworkBrokerのインスタンス毎にGLibのMain Event Loopコン
テキストを作り、ネットワークアクセス関連専用にGLibのメインループ
を実行するスレッドを作るように変更した。これにより、GUIの処理待
ちとネットワークアクセス関連スレッド間のデッドロック問題を解決し
た。
* 画像あぼーんを実装した。
* タイムアウト処理で手抜きをしすぎていたため、バックグラウンドに重
いスレッドがある時に予期しない条件でタイムアウトしてしまっていた
問題を解決した。
* 画像のインライン・ポップアッププレヴューでアニメーションにも対応
してみた。(事実上アニメーションGIF専用だろうが……)
* スレ表示内のリンクっぽいやつで右クリックのポップアップメニューが
出ている時にはレスや画像のポップアップ表示をしないように変更した。
* 「/板/新しい仮想板を作る」メニューを追加した。