「あぼーん発生〜」が多発することに対する暫定パッチ(改良)
2ch.netとbbspink.comの場合だけdatの差分取得をやめて常にdatの全取得を行います
>>5のパッチでは、新着レスが無い場合でもdat全取得が行われていたので、
新着レスが無い場合はdatを受信しないようにしました。
chaika1.7.3
modules/server/thread.js の843行目付近
// 差分GET
if(this.thread.datFile.exists() && this.thread.lastModified){
let lastModified = this.thread.lastModified;
let range = this.thread.datFile.fileSize - 1; //あぼーんされたか調べるために1byte余計に取得する
this.httpChannel.setRequestHeader("Accept-Encoding", "", false);
this.httpChannel.setRequestHeader("If-Modified-Since", lastModified, false);
this.httpChannel.setRequestHeader("Range", "bytes=" + range + "-", false);
this._aboneChecked = false;
↓↓
// 差分GET
if(this.thread.datFile.exists() && this.thread.lastModified){
let lastModified = this.thread.lastModified;
this.httpChannel.setRequestHeader("If-Modified-Since", lastModified, false);
if(this.httpChannel.URI.host.match(/2ch\.net|bbspink\.com/)){
this.httpChannel.setRequestHeader("Accept-Encoding", "gzip", false);
}else{
let range = this.thread.datFile.fileSize - 1; //あぼーんされたか調べるために1byte余計に取得する
this.httpChannel.setRequestHeader("Accept-Encoding", "", false);
this.httpChannel.setRequestHeader("Range", "bytes=" + range + "-", false);
}
this._aboneChecked = false;