To fix many bygs
This commit is contained in:
@@ -29,9 +29,11 @@ function additional(acct_id, tlid) {
|
||||
var card = localStorage.getItem("card_" + tlid);
|
||||
var text = $(this).attr('href');
|
||||
if(text){
|
||||
var urls = text.match(
|
||||
/https?:\/\/([-a-zA-Z0-9@.]+)\/media\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
|
||||
);
|
||||
if(text.indexOf("twimg.com")=== -1){
|
||||
var urls = text.match(
|
||||
/https?:\/\/([-a-zA-Z0-9@.]+)\/media\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
|
||||
);
|
||||
}
|
||||
}else{
|
||||
var urls =[]
|
||||
}
|
||||
@@ -297,6 +299,7 @@ function mov(id,tlid,type){
|
||||
}
|
||||
if(mouseover=="hide"){
|
||||
$(tlide+" [toot-id="+id+"] .area-actions").toggleClass("hide")
|
||||
$(tlide+" [toot-id="+id+"] .area-side").toggleClass("hide")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -313,6 +316,7 @@ function resetmv(type){
|
||||
}
|
||||
if(mouseover=="hide"){
|
||||
$(".area-actions").addClass("hide");
|
||||
$(".area-side").addClass("hide");
|
||||
}
|
||||
|
||||
}
|
@@ -77,7 +77,7 @@ function mixtl(acct_id, tlid, type,delc,voice) {
|
||||
|
||||
|
||||
//Streamingに接続
|
||||
function mixre(acct_id, tlid, TLtype, mute,delc,voice) {
|
||||
function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var startHome = "wss://" + domain +
|
||||
@@ -146,6 +146,11 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice) {
|
||||
console.log(obj);
|
||||
var type = JSON.parse(mess.data).event;
|
||||
if (type == "delete") {
|
||||
if(del>10){
|
||||
reconnector(tlid,type,acct_id,data)
|
||||
}else{
|
||||
localStorage.setItem("delete",del*1+1)
|
||||
}
|
||||
if(delc=="true"){
|
||||
$("[toot-id=" + JSON.parse(mess.data).payload + "]").addClass("emphasized");
|
||||
$("[toot-id=" + JSON.parse(mess.data).payload + "]").addClass("by_delcatch");
|
||||
@@ -154,6 +159,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice) {
|
||||
$("[toot-id=" + JSON.parse(mess.data).payload + "]").remove();
|
||||
}
|
||||
} else if (type == "update") {
|
||||
localStorage.removeItem("delete");
|
||||
if(TLtype=="integrated"){
|
||||
var templete = parse([obj], '', acct_id, tlid);
|
||||
}else if(TLtype=="plus"){
|
||||
@@ -187,10 +193,42 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice) {
|
||||
}
|
||||
websocketLocal[wslid].onerror = function(error) {
|
||||
console.error('WebSocket Error ' + error);
|
||||
if(mode=="error"){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Error ' + error);
|
||||
}else{
|
||||
reconnector(tlid,TLtype,acct_id,"","error");
|
||||
}
|
||||
};
|
||||
websocketLocal[wslid].onclose = function() {
|
||||
console.error('WebSocketLocal Closing by error:' + tlid);
|
||||
if(mode=="error"){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Closed');
|
||||
}else{
|
||||
reconnector(tlid,TLtype,acct_id,"","error");
|
||||
}
|
||||
};
|
||||
websocketHome[wshid].onerror = function(error) {
|
||||
console.error('WebSocket Error ' + error);
|
||||
if(mode=="error"){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Error ' + error);
|
||||
}else{
|
||||
reconnector(tlid,TLtype,acct_id,"","error");
|
||||
}
|
||||
};
|
||||
websocketHome[wshid].onclose = function() {
|
||||
console.error('WebSocketHome Closing by error:' + tlid);
|
||||
if(mode=="error"){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Closed');
|
||||
}else{
|
||||
reconnector(tlid,TLtype,acct_id,"","error");
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//ある程度のスクロールで発火
|
||||
|
@@ -157,7 +157,18 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
|
||||
});
|
||||
}
|
||||
var noticeavatar="";
|
||||
if (mix == "notf") {
|
||||
if (gif == "yes") {
|
||||
noticeavatar = toot.account.avatar;
|
||||
} else {
|
||||
noticeavatar = toot.account.avatar_static;
|
||||
}
|
||||
noticeavatar='<a onclick="udg(\'' + toot.account.id +
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="udg">' +
|
||||
'<img src="' + noticeavatar +
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.account.acct +
|
||||
'"></a>';
|
||||
if (toot.type == "mention") {
|
||||
var what = lang_parse_mentioned[lang];
|
||||
var icon = "fa-share teal-text";
|
||||
@@ -249,6 +260,16 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}else{
|
||||
var if_notf="";
|
||||
if (toot.reblog) {
|
||||
if (gif == "yes") {
|
||||
noticeavatar = toot.account.avatar;
|
||||
} else {
|
||||
noticeavatar = toot.account.avatar_static;
|
||||
}
|
||||
noticeavatar='<a onclick="udg(\'' + toot.account.id +
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="udg">' +
|
||||
'<img src="' + noticeavatar +
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.account.acct +
|
||||
'"></a>';
|
||||
var rebtxt = lang_parse_btedsimple[lang];
|
||||
var rticon = "fa-retweet light-blue-text";
|
||||
if(localStorage.getItem("domain_" + acct_id)=="imastodon.net" && !locale){
|
||||
@@ -387,7 +408,24 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
spoil = spoil.replace(regExp, emoji_url);
|
||||
});
|
||||
}
|
||||
|
||||
//ニコフレ絵文字
|
||||
if(toot.profile_emojis){
|
||||
var nicoemojick = toot.profile_emojis[0];
|
||||
}else{
|
||||
var nicoemojick=false;
|
||||
}
|
||||
//絵文字があれば
|
||||
if (nicoemojick) {
|
||||
Object.keys(toot.profile_emojis).forEach(function(keynico) {
|
||||
var emoji = toot.profile_emojis[keynico];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url +
|
||||
'" class="emoji-img" data-emoji="'+shortcode+'" alt=" :'+shortcode+': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
content = content.replace(regExp, emoji_url);
|
||||
spoil = spoil.replace(regExp, emoji_url);
|
||||
});
|
||||
}
|
||||
//デフォ絵文字
|
||||
content=twemoji.parse(content);
|
||||
if(dis_name){
|
||||
@@ -551,7 +589,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="udg">' +
|
||||
'<img src="' + avatar +
|
||||
'" width="40" class="prof-img" user="' + toot.account.acct +
|
||||
'"></a></div>' +
|
||||
'"></a>'+noticeavatar+'</div>' +
|
||||
'<div class="area-display_name"><div class="flex-name"><span class="user">' +
|
||||
dis_name +
|
||||
'</span><span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;"> @' +
|
||||
|
110
app/js/tl/tl.js
110
app/js/tl/tl.js
@@ -1,5 +1,5 @@
|
||||
//TL取得
|
||||
function tl(type, data, acct_id, tlid, delc, voice) {
|
||||
function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
scrollevent();
|
||||
localStorage.removeItem("morelock");
|
||||
localStorage.removeItem("pool");
|
||||
@@ -140,7 +140,7 @@ function tl(type, data, acct_id, tlid, delc, voice) {
|
||||
}
|
||||
|
||||
//Streaming接続
|
||||
function reload(type, cc, acct_id, tlid, data, mute, delc, voice) {
|
||||
function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
if (!type) {
|
||||
var type = localStorage.getItem("now");
|
||||
}
|
||||
@@ -247,6 +247,12 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice) {
|
||||
}else{
|
||||
var typeA = JSON.parse(mess.data).event;
|
||||
if (typeA == "delete") {
|
||||
var del=localStorage.getItem("delete");
|
||||
if(del>10){
|
||||
reconnector(tlid,type,acct_id,data)
|
||||
}else{
|
||||
localStorage.setItem("delete",del*1+1)
|
||||
}
|
||||
var obj = JSON.parse(mess.data).payload;
|
||||
if(delc=="true"){
|
||||
$("#timeline_"+tlid+" [toot-id=" + JSON.parse(mess.data).payload + "]").addClass("emphasized");
|
||||
@@ -257,6 +263,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice) {
|
||||
}
|
||||
|
||||
} else if (typeA == "update") {
|
||||
localStorage.removeItem("delete");
|
||||
var obj = JSON.parse(JSON.parse(mess.data).payload);
|
||||
console.log(obj);
|
||||
if($("#timeline_" + tlid +" [toot-id=" + obj.id + "]").length < 1){
|
||||
@@ -264,16 +271,18 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice) {
|
||||
say(obj.content)
|
||||
}
|
||||
var templete = parse([obj], type, acct_id, tlid,"",mute);
|
||||
var pool = localStorage.getItem("pool_" + tlid);
|
||||
if (pool) {
|
||||
pool = templete + pool;
|
||||
} else {
|
||||
pool = templete
|
||||
if ($("timeline_box_"+tlid+"_box .tl-box").scrollTop() == 0) {
|
||||
$("#timeline_" + tlid).prepend(templete);
|
||||
}else{
|
||||
var pool = localStorage.getItem("pool_" + tlid);
|
||||
if (pool) {
|
||||
pool = templete + pool;
|
||||
} else {
|
||||
pool = templete
|
||||
}
|
||||
localStorage.setItem("pool_" + tlid, pool);
|
||||
}
|
||||
localStorage.setItem("pool_" + tlid, pool);
|
||||
|
||||
scrollck();
|
||||
|
||||
additional(acct_id, tlid);
|
||||
jQuery("time.timeago").timeago();
|
||||
}else{
|
||||
@@ -290,7 +299,23 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice) {
|
||||
}
|
||||
websocket[wsid].onerror = function(error) {
|
||||
console.error('WebSocket Error ' + error);
|
||||
if(mode=="error"){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Error ' + error);
|
||||
}else{
|
||||
reconnector(tlid,type,acct_id,data,"error");
|
||||
}
|
||||
};
|
||||
websocket[wsid].onclose = function() {
|
||||
console.error('WebSocket Closing by error:' + tlid);
|
||||
if(mode=="error"){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Closed');
|
||||
}else{
|
||||
reconnector(tlid,type,acct_id,data,"error");
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//一定のスクロールで発火
|
||||
@@ -571,58 +596,11 @@ function strAlive(){
|
||||
if(col){
|
||||
var obj = JSON.parse(col);
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var type=obj[key].type;
|
||||
var lastunix=localStorage.getItem("lastunix_"+ key);
|
||||
if(obj[key].type=="pub" || obj[key].type=="pub-media"){
|
||||
//連合[連合数100超 or not]
|
||||
if(localStorage.getItem("connects_" + obj[key].domain)>100){
|
||||
var should=30;
|
||||
}else{
|
||||
var should=120;
|
||||
}
|
||||
}else if(obj[key].type=="local" || obj[key].type=="local-media"){
|
||||
//連合[週間トゥ数10000超 or not]
|
||||
if(localStorage.getItem("statuses_" + obj[key].domain)>10000){
|
||||
var should=10;
|
||||
}else if(localStorage.getItem("statuses_" + obj[key].domain)>1000){
|
||||
var should=120;
|
||||
}else{
|
||||
var should=600;
|
||||
}
|
||||
}else{
|
||||
if(type=="local" || type=="local-media" || type=="mix" || type=="plus"){
|
||||
//ローカル[週間トゥ数10000超 or not]
|
||||
if(localStorage.getItem("statuses_" + obj[key].domain)>10000){
|
||||
var should=10;
|
||||
}else if(localStorage.getItem("statuses_" + obj[key].domain)>1000){
|
||||
var should=120;
|
||||
}else{
|
||||
var should=600;
|
||||
}
|
||||
}
|
||||
if(type=="home" || type=="mix"){
|
||||
//ホーム[フォロー数]
|
||||
var flw=localStorage.getItem("follow_" + obj[key].domain)
|
||||
if(flw>1000){
|
||||
var should=10;
|
||||
}else if(flw>500){
|
||||
var should=20;
|
||||
}else if(flw>100){
|
||||
var should=30;
|
||||
}else if(flw>50){
|
||||
var should=45;
|
||||
}else{
|
||||
var should=60;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (obj[key].data) {
|
||||
var data = obj[key].data;
|
||||
} else {
|
||||
var data = "";
|
||||
}
|
||||
if(unix*1>lastunix*1+should*1 && should){
|
||||
reconnector(tlid,type,obj[key].domain,data);
|
||||
if($("#notice_icon_" + key).hasClass("red-text")){
|
||||
var type=obj[key].type;
|
||||
var acct_id=obj[key].domain;
|
||||
var data=obj[key].data;
|
||||
reconnector(key,type,acct_id,data,"error");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -631,8 +609,8 @@ function strAlive(){
|
||||
function strAliveInt(){
|
||||
setTimeout(strAlive, 10000);
|
||||
}
|
||||
function reconnector(tlid,type,acct_id,data){
|
||||
console.log("Reconnector")
|
||||
function reconnector(tlid,type,acct_id,data,mode){
|
||||
console.log("Reconnector:"+mode)
|
||||
if(type=="mix" || type=="plus"){
|
||||
if(localStorage.getItem("voice_" + tlid)){
|
||||
var voice=true;
|
||||
@@ -648,7 +626,7 @@ function reconnector(tlid,type,acct_id,data){
|
||||
websocketHome[wssh].close();
|
||||
var wssh=localStorage.getItem("wssL_" + tlid);
|
||||
websocketLocal[wssl].close();
|
||||
mixre(acct_id, tlid, type, mute,"",voice);
|
||||
mixre(acct_id, tlid, type, mute,"",voice,mode);
|
||||
}else if(type=="notf"){
|
||||
}else{
|
||||
var wss=localStorage.getItem("wss_" + tlid);
|
||||
@@ -663,7 +641,7 @@ function reconnector(tlid,type,acct_id,data){
|
||||
}else{
|
||||
var mute=[];
|
||||
}
|
||||
reload(type, '', acct_id, tlid, data, mute, "",voice);
|
||||
reload(type, '', acct_id, tlid, data, mute, "",voice,mode);
|
||||
}
|
||||
Materialize.toast(lang_tl_reconnect[lang], 2000);
|
||||
}
|
||||
|
Reference in New Issue
Block a user