From d3ff1aa17aff52c54cea8e25bbe49f101d6e97b4 Mon Sep 17 00:00:00 2001 From: Cutls Date: Sun, 19 May 2019 15:17:05 +0900 Subject: [PATCH] Debug --- app/about.html | 2 -- app/adobe.html | 1 - app/css/master.css | 8 ++++++- app/img/thinkingdesk.png | Bin 0 -> 42233 bytes app/js/common/version.js | 38 ++++++++++++++++++----------- app/js/emoji/default-emoji.js | 4 ---- app/js/login/login.js | 15 ++---------- app/js/login/manager.js | 34 +++++++------------------- app/js/platform/end.js | 40 ++----------------------------- app/js/platform/first.js | 35 ++++++++++++++++++++++++++- app/js/platform/nano.js | 9 +------ app/js/post/emoji.js | 1 - app/js/post/img.js | 8 ++----- app/js/post/misskeystatus.js | 6 ++--- app/js/post/post.js | 6 ++--- app/js/post/secure.js | 2 -- app/js/post/status.js | 15 +++++------- app/js/post/suggest.js | 5 ++-- app/js/tl/card.js | 3 --- app/js/tl/datails.js | 7 +++--- app/js/tl/dm.js | 1 - app/js/tl/filter.js | 7 ------ app/js/tl/list.js | 8 ------- app/js/tl/misskeyparse.js | 15 +++++------- app/js/tl/mix.js | 21 ++++++---------- app/js/tl/notification.js | 18 ++++---------- app/js/tl/parse.js | 4 ++-- app/js/tl/poll.js | 5 ++-- app/js/tl/speech.js | 1 - app/js/tl/src.js | 15 +++--------- app/js/tl/tag.js | 3 +-- app/js/tl/tl.js | 37 ++++++++++++---------------- app/js/ui/img.js | 6 +---- app/js/ui/layout.js | 6 ++--- app/js/ui/scroll.js | 3 +-- app/js/ui/settings.js | 8 ------- app/js/ui/sort.js | 2 +- app/js/ui/spotify.js | 4 ++-- app/js/ui/tips.js | 2 -- app/js/userdata/his-data.js | 5 +--- app/js/userdata/prof-edit.js | 3 +-- app/js/userdata/showOnTL.js | 11 +-------- app/view/en/index.html | 8 +++++++ app/view/en/update.html | 3 ++- app/view/ja/index.html | 8 +++++++ app/view/ja/update.html | 3 ++- app/view/make/index.sample.html | 8 +++++++ app/view/make/update.sample.html | 3 ++- app/view/ps/index.html | 8 +++++++ app/view/ps/update.html | 3 ++- 50 files changed, 187 insertions(+), 281 deletions(-) create mode 100644 app/img/thinkingdesk.png diff --git a/app/about.html b/app/about.html index 1d5ccca2..6c253416 100644 --- a/app/about.html +++ b/app/about.html @@ -99,8 +99,6 @@ a,button{ var electron = require("electron"); var remote=electron.remote; const shell=electron.shell; - //JSON.parse(fs.readFileSync(info_path, 'utf8')); - console.log(process.versions); $("#node").text(process.version); $("#chrome").text(process.versions.chrome); $("#electron").text(process.versions.electron); diff --git a/app/adobe.html b/app/adobe.html index a606a499..0414375b 100644 --- a/app/adobe.html +++ b/app/adobe.html @@ -190,7 +190,6 @@ function launchEditor(id, src) { } function editPhoto() { - //console.log(this); var id = this.getAttribute("id"); var src = this.getAttribute("src"); launchEditor(id, src); diff --git a/app/css/master.css b/app/css/master.css index e4ece881..9f2d773a 100644 --- a/app/css/master.css +++ b/app/css/master.css @@ -392,7 +392,13 @@ blockquote:before, .quote:before { padding:4px; } #something-wrong{ - width:100%; height:100%; position:absolute; display:flex; justify-content: center; align-items:center + flex-direction: column; + width:100%; + height:100%; + position:absolute; + display:flex; + justify-content: center; + align-items:center; } /*スクロールバー*/ diff --git a/app/img/thinkingdesk.png b/app/img/thinkingdesk.png new file mode 100644 index 0000000000000000000000000000000000000000..909f10bb45f855a5f18eb8b821f4dac40b82e931 GIT binary patch literal 42233 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 z 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 literal 0 HcmV?d00001 diff --git a/app/js/common/version.js b/app/js/common/version.js index be0c5d9f..6186bb99 100644 --- a/app/js/common/version.js +++ b/app/js/common/version.js @@ -1,9 +1,9 @@ //バージョンチェッカー function verck(ver) { - console.log("Welcome") + console.log("%c Welcome😊", "color: red;font-size:200%;") if(localStorage.getItem("ver")!=ver){ localStorage.setItem("ver", ver); - console.log("Thank you for your update"); + console.log("%c Thank you for your update🎉", "color: red;font-size:200%;"); $(document).ready(function(){ $('#releasenote').modal('open'); verp=ver.replace( '(', ''); @@ -13,7 +13,7 @@ function verck(ver) { verp=verp.replace( ']', ''); verp=verp.replace( ')', ''); verp=verp.replace( ' ', '_'); - console.log(verp); + console.log("%c "+verp, "color: red;font-size:200%;"); if(lang.language=="ja"){ $("#release-"+verp).show(); }else{ @@ -106,7 +106,7 @@ function verck(ver) { todo(error); console.error(error); }).then(function(mess) { - console.log(mess); + console.table(mess); if (mess) { var electron = require("electron"); var remote=electron.remote; @@ -128,7 +128,7 @@ function verck(ver) { var ipc = electron.ipcRenderer; ipc.send('update', "true"); }else{ - console.log(lang.lang_version_skipver); + console.warn(lang.lang_version_skipver); todo(lang.lang_version_skipver); } }else{ @@ -141,9 +141,7 @@ function verck(ver) { if(!localStorage.getItem("last-notice-id")){ localStorage.setItem("last-notice-id",0) } - console.log(localStorage.getItem("last-notice-id")) var start = "https://thedesk.top/notice?since_id="+localStorage.getItem("last-notice-id"); - console.log(start); fetch(start, { method: 'GET' }).then(function(response) { @@ -152,7 +150,6 @@ function verck(ver) { todo(error); console.error(error); }).then(function(mess) { - console.log(mess.length); if(mess.length<1){ return false; }else{ @@ -202,13 +199,11 @@ var infostreaming=false; function infowebsocket(){ infows = new WebSocket("wss://thedesk.top/ws/"); infows.onopen = function(mess) { - console.log(tlid + ":Connect Streaming Info:"); - console.log(mess); + console.log([tlid,":Connect Streaming Info:",mess]); infostreaming=true; } infows.onmessage = function(mess) { - console.log(":Receive Streaming:"); - console.log(JSON.parse(mess.data)); + console.log([tlid,":Receive Streaming:",JSON.parse(mess.data)]); var obj=JSON.parse(mess.data); if(obj.type!="counter"){ localStorage.setItem("last-notice-id",obj.id) @@ -258,7 +253,22 @@ function infowebsocket(){ } setInterval(function(){ if(!infostreaming){ - console.log("try to connect") + console.log("try to connect to base-streaming") infowebsocket(); } -}, 10000); \ No newline at end of file +}, 10000); +function openRN(){ + $('#releasenote').modal('open'); + if(lang.language=="ja"){ + verp=ver.replace( '(', ''); + verp=verp.replace( '.', '-'); + verp=verp.replace( '.', '-'); + verp=verp.replace( '[', '-'); + verp=verp.replace( ']', ''); + verp=verp.replace( ')', ''); + verp=verp.replace( ' ', '_'); + $("#release-"+verp).show(); + }else{ + $("#release-en").show(); + } +} \ No newline at end of file diff --git a/app/js/emoji/default-emoji.js b/app/js/emoji/default-emoji.js index 3ec3019a..24dd5810 100644 --- a/app/js/emoji/default-emoji.js +++ b/app/js/emoji/default-emoji.js @@ -42,7 +42,6 @@ function defaultEmoji(target){ }); $("#emoji-list").html(emojis); $("#now-emoji").text(lang.lang_defaultemojis_text.replace("{{cat}}" ,defaultemojiname[target])); - console.log(target); $(".emoji-control").addClass("hide"); } function customEmoji(){ @@ -60,7 +59,6 @@ function defEmoji(target){ }else{ emoji=twemoji.convert.fromCodePoint(hex[0]); } - console.log(emoji) var now = $("#textarea").val(); var selin = localStorage.getItem("cursor"); var now = $("#textarea").val(); @@ -71,7 +69,6 @@ function defEmoji(target){ }else{ newt = emoji+now; } - console.log(emoji); $("#textarea").val(newt); $("#textarea").focus(); var selin = $("#textarea").prop('selectionStart'); @@ -82,7 +79,6 @@ function defEmoji(target){ } function faicon(){ var json=faicons; - console.log(json); var emojis=""; Object.keys(json).forEach(function(key) { var emoji = json[key]; diff --git a/app/js/login/login.js b/app/js/login/login.js index e3cef8b4..40b66a8d 100644 --- a/app/js/login/login.js +++ b/app/js/login/login.js @@ -40,6 +40,7 @@ if (obj[0].domain) { ticker(); multiSelector(); verck(ver); + $("#something-wrong img").attr("src","../../img/thinkingdesk.png") } } } @@ -68,7 +69,6 @@ function login(url) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); var auth = "https://" + url + "/oauth/authorize?client_id=" + json[ "client_id"] + "&client_secret=" + json["client_secret"] + "&response_type=code&redirect_uri="+red+"&scope=read+write+follow"; @@ -162,7 +162,6 @@ function getdata() { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json.error) { console.error("Error:" + json.error); Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error, @@ -184,7 +183,6 @@ function getdata() { vis: json["source"]["privacy"] }]; var json = JSON.stringify(obj); - console.log(obj); localStorage.setItem("multi", json); localStorage.setItem("name_" + acct_id, json["display_name"]); localStorage.setItem("user_" + acct_id, json["acct"]); @@ -212,7 +210,6 @@ function getdataAdv(domain, at) { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json.error) { console.error("Error:" + json.error); Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error, @@ -246,7 +243,6 @@ function getdataAdv(domain, at) { localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user-id_" + target, json["id"]); localStorage.setItem("prof_" + target, avatar); - console.log(obj); var json = JSON.stringify(obj); localStorage.setItem("multi", json); location.href="index.html"; @@ -261,7 +257,6 @@ function refresh(target,loadskip) { } var start = "https://" + obj[target].domain + "/api/v1/accounts/verify_credentials"; - console.log(start); fetch(start, { method: 'GET', headers: { @@ -274,7 +269,6 @@ function refresh(target,loadskip) { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json.error) { console.error("Error:" + json.error); Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error, @@ -298,8 +292,6 @@ function refresh(target,loadskip) { localStorage.setItem("name_" + target, json["display_name"]); localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user-id_" + target, json["id"]); - console.log("user-id_" + target+":"+json["id"]) - console.log(localStorage.getItem("user-id_"+target)); localStorage.setItem("prof_" + target, avatar); localStorage.setItem("follow_" + target, json["following_count"]); obj[target] = ref; @@ -359,7 +351,6 @@ function ckdb(acct_id) { localStorage.removeItem("bb_" + acct_id); } if(json[domain + "_home"]){ - console.log("unique name:"+json[domain + "_home"]); localStorage.setItem("home_" + acct_id, json[domain + "_home"]); } if(json[domain + "_local"]){ @@ -396,8 +387,8 @@ function ckdb(acct_id) { }).catch(function(error) { console.error(error); }).then(function(json) { - console.log(json); if (json.error) { + console.error(json.error); return; } if(json){ @@ -461,12 +452,10 @@ function multiSelector() { } var profimg = acct.prof; localStorage.setItem("prof_" + key, profimg); - console.log(profimg); if(!profimg){ profimg="../../img/missing.svg"; } $("#acct-sel-prof").attr("src",profimg); - console.log(domain); if(domain){ var cc="("+domain+")"; }else{ diff --git a/app/js/login/manager.js b/app/js/login/manager.js index 9c476257..ebccc598 100644 --- a/app/js/login/manager.js +++ b/app/js/login/manager.js @@ -32,7 +32,7 @@ function load() { } } - console.log(obj); + console.table(obj); var templete; Object.keys(obj).forEach(function(key) { var acct = obj[key]; @@ -99,7 +99,6 @@ function data(domain) { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (!json.error) { $("#ins-name").text(json.name); $("#ins-upd").text(date(json.checked_at, 'full')); @@ -110,6 +109,8 @@ function data(domain) { $("#ins-per").text(json.uptime * 100); $("#ins-user").text(json.users); $("#ins-ver").text(json.version); + }else{ + console.error(json.error); } }); var start = "https://" + domain +"/api/v1/instance"; @@ -124,7 +125,6 @@ function data(domain) { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (!json.error) { $("#ins-title").text(json.title); $("#ins-desc").html(json.description); @@ -135,6 +135,8 @@ function data(domain) { $("#ins-prof").attr('src', json.thumbnail); $("#ins-admin").text(escapeHTML(json.contact_account.display_name)+"("+json.contact_account.acct+")"); $("#ins-admin").attr("href","index.html?mode=user&code="+json.contact_account.username+"@"+domain); + }else{ + console.error(json.error); } }); } @@ -150,7 +152,6 @@ function multiDel(target) { //公開範囲(差分のみ) if(key>=target){ var oldvis=localStorage.getItem("vis-memory-"+key); - console.log(oldvis); if(oldvis){ localStorage.setItem("vis-memory-"+nk,oldvis); } @@ -175,7 +176,6 @@ function multiDel(target) { }); //とりあえず消す obj.splice(target, 1); - console.log(obj); var json = JSON.stringify(obj); localStorage.setItem("multi", json); load(); @@ -216,7 +216,6 @@ function multiDel2(target) { Object.keys(obj).forEach(function(key) { if(key>=target){ var oldvis=localStorage.getItem("vis-memory-"+key); - console.log(oldvis); if(oldvis){ var nk=key-1; localStorage.setItem("vis-memory-"+nk,oldvis); @@ -287,7 +286,6 @@ function login(url) { }else{ var red = 'thedesk://manager'; } - console.log(red); localStorage.setItem("redirect", red); var start = "https://" + url + "/api/v1/apps"; var httpreq = new XMLHttpRequest(); @@ -303,7 +301,6 @@ function login(url) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); localStorage.setItem("msky","false"); var auth = "https://" + url + "/oauth/authorize?client_id=" + json[ "client_id"] + "&client_secret=" + json["client_secret"] + @@ -389,7 +386,6 @@ function misskeyLogin(url) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); misskeyAuth(url, json.secret) } } @@ -411,7 +407,6 @@ function misskeyAuth(url, mkc){ httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); const { shell } = require('electron'); @@ -445,7 +440,6 @@ function code(code) { } var url = localStorage.getItem("domain_tmp"); localStorage.removeItem("domain_tmp"); - console.log(localStorage.getItem("msky")); if(localStorage.getItem("msky")=="true"){ var start = "https://"+url+"/api/auth/session/userkey"; var httpreq = new XMLHttpRequest(); @@ -460,7 +454,6 @@ function code(code) { if (httpreq.readyState === 4) { var json = httpreq.response; var i = sha256(json.accessToken + localStorage.getItem("mkc")); - console.log(json); var avatar=json["user"]["avatarUrl"]; var priv="public"; var add = { @@ -482,7 +475,6 @@ function code(code) { localStorage.setItem("user_" + target, json["user"]["username"]); localStorage.setItem("user-id_" + target, json["user"]["id"]); localStorage.setItem("prof_" + target, avatar); - console.log(obj); var json = JSON.stringify(obj); localStorage.setItem("multi", json); if($("body").hasClass("first")){ @@ -511,7 +503,6 @@ function code(code) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); if (json["access_token"]) { $("#auth").hide(); $("#add").show(); @@ -537,7 +528,6 @@ function getdata(domain, at) { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json.error) { console.error("Error:" + json.error); Materialize.toast(lang.lang_fatalerroroccured+"Error:" + escapeHTML(json.error), @@ -572,7 +562,6 @@ function getdata(domain, at) { localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user-id_" + target, json["id"]); localStorage.setItem("prof_" + target, avatar); - console.log(obj); var json = JSON.stringify(obj); localStorage.setItem("multi", json); if($("body").hasClass("first")){ @@ -592,7 +581,6 @@ function refresh(target) { } var start = "https://" + obj[target].domain + "/api/v1/accounts/verify_credentials"; - console.log(start); fetch(start, { method: 'GET', headers: { @@ -605,7 +593,6 @@ function refresh(target) { todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json.error) { console.error("Error:" + json.error); Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error, @@ -629,8 +616,6 @@ function refresh(target) { localStorage.setItem("name_" + target, json["display_name"]); localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user-id_" + target, json["id"]); - console.log("user-id_" + target+":"+json["id"]) - console.log(localStorage.getItem("user-id_"+target)); localStorage.setItem("prof_" + target, avatar); obj[target] = ref; var json = JSON.stringify(obj); @@ -652,7 +637,6 @@ function misskeyRefresh(obj,target,url){ httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); return; var avatar=json["user"]["avatarURL"]; var priv="public"; @@ -673,7 +657,6 @@ function misskeyRefresh(obj,target,url){ localStorage.setItem("user_" + target, json["user"]["username"]); localStorage.setItem("user-id_" + target, json["user"]["id"]); localStorage.setItem("prof_" + target, avatar); - console.log(obj); var json = JSON.stringify(obj); localStorage.setItem("multi", json); load(); @@ -694,7 +677,6 @@ function multisel() { var templete; var last = localStorage.getItem("main"); var sel; - console.log(obj.length) if(obj.length<1){ $("#src-acct-sel").html(''); $("#add-acct-sel").html(''); @@ -808,9 +790,7 @@ input.addEventListener("focus", function() { todo(error); console.error(error); }).then(function(json) { - console.log(json); - if (!json.error) { - + if (!json.error) { var urls = "Suggest:"; Object.keys(json.instances).forEach(function(key) { var url = json.instances[key]; @@ -818,6 +798,8 @@ input.addEventListener("focus", function() { '\')" class="pointer">' +escapeHTML(url.name) + ' '; }); $("#ins-suggest").html(urls); + }else{ + console.error(json.error); } }); } diff --git a/app/js/platform/end.js b/app/js/platform/end.js index 7bb937c1..4e047ba2 100644 --- a/app/js/platform/end.js +++ b/app/js/platform/end.js @@ -21,7 +21,6 @@ ats = url.match( /https:\/\/([-a-zA-Z0-9.]+)\/@([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#@]+)/ ); - console.log(toot); if(toot){ if(toot[1]){ var acct_id=$a.parent().attr("data-acct"); @@ -42,7 +41,6 @@ tl('tag',decodeURI(tags[2]),acct_id,'add') } }else if(ats){ - console.log(ats); if(ats[2]){ //Quesdon判定 if(!~ats[2].indexOf("@")){ @@ -81,39 +79,6 @@ }); //よく使うライブラリ - /*マルチバイト用切り出し*/ - $.isSurrogatePear = function(upper, lower) { - return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <= 0xDFFF; - }; - $.mb_strlen = function(str) { - var ret = 0; - for (var i = 0; i < str.length; i++, ret++) { - var upper = str.charCodeAt(i); - var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0; - if ($.isSurrogatePear(upper, lower)) { - i++; - } - } - return ret; - }; - $.mb_substr = function(str, begin, end) { - var ret = ''; - for (var i = 0, len = 0; i < str.length; i++, len++) { - var upper = str.charCodeAt(i); - var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0; - var s = ''; - if ($.isSurrogatePear(upper, lower)) { - i++; - s = String.fromCharCode(upper, lower); - } else { - s = String.fromCharCode(upper); - } - if (begin <= len && len < end) { - ret += s; - } - } - return ret; - }; //コピー function execCopy(string){ @@ -132,7 +97,7 @@ function nano(){ function progshow(e) { if (e.lengthComputable) { var percent = e.loaded / e.total; - console.log(percent * 100); + console.log("Progress: "+percent * 100); $("#imgsel").hide(); if(percent<1){ $("#imgup").text(Math.floor(percent*100)+"%"); @@ -187,7 +152,7 @@ function playSound() { context = new AudioContext(); context.createBufferSource().start(0); context.decodeAudioData(request.response, function (buf) { - console.log(source) + console.log("Playing:"+source) source.buffer = buf; source.loop = false; }); @@ -196,6 +161,5 @@ function playSound() { source.connect(volumeControl); volumeControl.connect(context.destination); volumeControl.gain.value=0.8 - console.log(volumeControl) source.start(0); } \ No newline at end of file diff --git a/app/js/platform/first.js b/app/js/platform/first.js index 4f1525d4..9b5c2749 100644 --- a/app/js/platform/first.js +++ b/app/js/platform/first.js @@ -164,4 +164,37 @@ function rgbToHex(color) } console.error(color+':第1引数はRGB形式で入力'); -} \ No newline at end of file +} + /*マルチバイト用切り出し*/ + $.isSurrogatePear = function(upper, lower) { + return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <= 0xDFFF; + }; + $.mb_strlen = function(str) { + var ret = 0; + for (var i = 0; i < str.length; i++, ret++) { + var upper = str.charCodeAt(i); + var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0; + if ($.isSurrogatePear(upper, lower)) { + i++; + } + } + return ret; + }; + $.mb_substr = function(str, begin, end) { + var ret = ''; + for (var i = 0, len = 0; i < str.length; i++, len++) { + var upper = str.charCodeAt(i); + var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0; + var s = ''; + if ($.isSurrogatePear(upper, lower)) { + i++; + s = String.fromCharCode(upper, lower); + } else { + s = String.fromCharCode(upper); + } + if (begin <= len && len < end) { + ret += s; + } + } + return ret; + }; \ No newline at end of file diff --git a/app/js/platform/nano.js b/app/js/platform/nano.js index e960e293..efc0e7df 100644 --- a/app/js/platform/nano.js +++ b/app/js/platform/nano.js @@ -14,7 +14,6 @@ function tl(data) { $("#notice_nano").text(cap(type, data) + " TL(" + localStorage.getItem( "user_" + acct_id) + "@" + domain + ")"); var start = "https://" + domain + "/api/v1/timelines/" + com(type, data); - console.log(start); fetch(start, { method: 'GET', headers: { @@ -46,17 +45,12 @@ var websocket=[]; var start = "wss://" + domain + "/api/v1/streaming/?stream=hashtag&tag=" + data +"&access_token=" + at; } - console.log(start); var wsid = websocket.length; websocket[wsid] = new WebSocket(start); websocket[wsid].onopen = function(mess) { - console.log(tlid + ":Connect Streaming API:" + type); - console.log(mess); $("#notice_icon_" + tlid).removeClass("red-text"); } websocket[wsid].onmessage = function(mess) { - console.log(tlid + ":Receive Streaming API:"); - console.log(websocket[wsid]); var typeA = JSON.parse(mess.data).event; if (typeA == "delete") { var obj = JSON.parse(mess.data).payload; @@ -64,12 +58,11 @@ var websocket=[]; $("[toot-id=" + JSON.parse(mess.data).payload + "]").remove(); } else if (typeA == "update") { var obj = JSON.parse(JSON.parse(mess.data).payload); - console.log(obj); var templete = parse([obj], '', acct_id, tlid); $("#timeline_nano").html(templete); } websocket[wsid].onclose = function(mess) { - console.log("Close Streaming API:" + type); + console.error("Close Streaming API:" + type); } } websocket[wsid].onerror = function(error) { diff --git a/app/js/post/emoji.js b/app/js/post/emoji.js index 19038798..0b4e4609 100644 --- a/app/js/post/emoji.js +++ b/app/js/post/emoji.js @@ -179,7 +179,6 @@ function emojiInsert(code, del) { } else { var brank = " "; } - console.log(selin); var now = $("#textarea").val(); if (selin > 0) { var before = now.substr(0, selin); diff --git a/app/js/post/img.js b/app/js/post/img.js index cc3c45b9..f602874f 100644 --- a/app/js/post/img.js +++ b/app/js/post/img.js @@ -36,7 +36,7 @@ $("#drag").on('dragleave', function(e) { //複数アップ function pimg(files) { - console.log(files); + console.table(files); for (i = 0; i < files.length; i++) { var dot=files[i].path.match(/\.(.+)$/)[1]; if(dot=="bmp" || dot=="BMP"){ @@ -95,7 +95,6 @@ function media(b64, type, no) { localStorage.setItem("image","busy"); todo("Image Upload..."); var media = toBlob(b64, type); - console.log(media); var fd = new FormData(); fd.append('file', media); var acct_id = $("#post-acct-sel").val(); @@ -128,7 +127,6 @@ function media(b64, type, no) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); var img = localStorage.getItem("img"); if (json.type.indexOf("image")!=-1) { var html = ''; @@ -182,14 +180,13 @@ function toBlob(base64, type) { //画像を貼り付けたら… var element = document.querySelector("#textarea"); element.addEventListener("paste", function(e){ - console.log(e) if (!e.clipboardData || !e.clipboardData.items) { return true; } // DataTransferItemList に画像が含まれいない場合は終了する var imageItems = [...e.clipboardData.items].filter(i => i.type.startsWith('image')); if (imageItems.length == 0) { - console.log("not image") + console.warn("it is not image") return true; } @@ -223,7 +220,6 @@ ipc.on('adobeagree', function (event, arg) { localStorage.setItem("adobeagree",arg); }); function deleteImage(key){ - console.log(key); if(!confirm(lang.lang_postimg_delete)){ return false; } diff --git a/app/js/post/misskeystatus.js b/app/js/post/misskeystatus.js index f03ce09b..fb670b4d 100644 --- a/app/js/post/misskeystatus.js +++ b/app/js/post/misskeystatus.js @@ -17,7 +17,7 @@ function renote(id, acct_id, remote) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); + console.log(["Success: renote",json]); $("[toot-id=" + id + "]").addClass("rted"); $(".rt_"+id).toggleClass("teal-text"); } @@ -63,7 +63,7 @@ function reactiontoggle(id,acct_id,tlid){ httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); + console.log(["Success: reaction",json]); if(json.reactions){ var reactions=["like","love","laugh","hmm","surprise","congrats","angry","confused","pudding","rip"]; for(var i=0;i'); } }); @@ -307,7 +306,7 @@ function pin(id, acct_id) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); + console.log(["Success: pinned",json]); if ($("[toot-id=" + id + "]").hasClass("pined")) { $("[toot-id=" + id + "]").removeClass("pined"); $(".pin_" + id).removeClass("blue-text"); @@ -333,7 +332,7 @@ function request(id, flag, acct_id) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); + console.log(["Success: request","type:"+flag,json]); showReq(); } } @@ -356,7 +355,7 @@ function domainblock(add, flag, acct_id) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); + console.log(["Success: domain block",json]); showDom(); } } @@ -371,7 +370,6 @@ function empUser(){ var usr = localStorage.getItem("user_emp"); var obj = JSON.parse(usr); var id=$("#his-acct").attr("fullname"); - console.log(id); if(!obj){ var obj=[]; obj.push(id); @@ -413,7 +411,6 @@ function pinUser(){ httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); if ($("#his-end-btn").hasClass("endorsed")) { $("#his-end-btn").removeClass("endorsed") $("#his-end-btn").text(lang.lang_status_endorse) diff --git a/app/js/post/suggest.js b/app/js/post/suggest.js index ba5a9188..4e837b67 100644 --- a/app/js/post/suggest.js +++ b/app/js/post/suggest.js @@ -68,7 +68,7 @@ input.addEventListener("focus", function() { var at = localStorage.getItem("acct_"+ acct_id + "_at"); suggest = "https://" + domain + "/api/v1/search?q=" + q if (suggest != oldSuggest) { - console.log(suggest) + console.log("Try to get suggest at "+suggest) fetch(suggest, { method: 'GET', headers: { @@ -152,7 +152,7 @@ function tagInsert(code, del) { function cgNPs(q){ suggest = "https://cg.toot.app/api/v1/search/light?q=" + q if (suggest != oldSuggest) { - console.log(suggest) + console.log("Try to get suggest at "+suggest) fetch(suggest, { method: 'GET', headers: { @@ -164,7 +164,6 @@ function cgNPs(q){ todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json[0]) { var tags = ""; Object.keys(json).forEach(function(key4) { diff --git a/app/js/tl/card.js b/app/js/tl/card.js index 1b638c14..dfe32800 100644 --- a/app/js/tl/card.js +++ b/app/js/tl/card.js @@ -170,9 +170,7 @@ function additionalIndv(tlid, acct_id, id) { todo(error); console.error(error); }).then(function(json) { - console.log(json); //このリンク鳥やんけ、ってとき - console.log(json.provider_name); if (json.provider_name=="Twitter"){ if(json.image){ var twiImg='
'; @@ -243,7 +241,6 @@ function mov(id,tlid,type){ }else{ var tlide="[tlid="+tlid+"]"; } - console.log(tlid) var mouseover=localStorage.getItem("mouseover"); if(!mouseover){ mouseover=""; diff --git a/app/js/tl/datails.js b/app/js/tl/datails.js index 8c305119..11ac64bc 100644 --- a/app/js/tl/datails.js +++ b/app/js/tl/datails.js @@ -40,7 +40,7 @@ function details(id, acct_id, tlid, mode) { todo(error); console.error(error); }).then(function(json) { - console.log(json); + console.log(["Toot data:",json]); if(!$("#timeline_"+tlid+" #pub_" + id).length){ var html = parse([json], '', acct_id); $("#toot-this").html(html); @@ -208,7 +208,6 @@ function context(id, acct_id) { }).then(function(json) { if(localStorage.getItem("mode_" + domain)=="misskey"){ json.reverse(); - console.log(json); var templete = misskeyParse(json, '', acct_id,"","",[]); $("#toot-reply").html(templete); $("#toot-reply .hide").html(lang.lang_details_filtered); @@ -482,7 +481,7 @@ function staCopy(id){ html = html.replace(//, "\n"); html = html.replace(/

/, "\n"); html = html.replace(/<\/p>/, "\n"); - console.log(html); + console.log("Copy it:\n"+html); html = html.replace(//g, "$1"); html=$.strip_tags(html); if(execCopy(html)){ @@ -505,7 +504,7 @@ function trans(tar,to){ } $("#toot-this .additional").text("Loading...(Powered by Google Translate)"); var exec='https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text='+encodeURIComponent(html)+'&source='+tar+'&target='+to - console.log(exec); + console.log("Try to translate from "+tar+" to "+to+" at "+exec); fetch(exec, { method: 'GET', }).then(function(response) { diff --git a/app/js/tl/dm.js b/app/js/tl/dm.js index 657b0d3a..92bf4fe0 100644 --- a/app/js/tl/dm.js +++ b/app/js/tl/dm.js @@ -57,7 +57,6 @@ function dmmore(tlid){ } //DMオブジェクトパーサー(トゥート) function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) { - console.log(obj); var templete = ''; if(obj[0]){ localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix')); diff --git a/app/js/tl/filter.js b/app/js/tl/filter.js index e1030a08..319ddde6 100644 --- a/app/js/tl/filter.js +++ b/app/js/tl/filter.js @@ -114,7 +114,6 @@ function filter(){ var domain = localStorage.getItem("domain_" + acct_id); var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/v1/filters" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -127,7 +126,6 @@ function filter(){ todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json) { var filters = ""; Object.keys(json).forEach(function(key) { @@ -167,7 +165,6 @@ function makeNewFilter(){ if($("#conv_filter:checked").val()){ cont.push("thread"); } - console.log(cont); if(!cont.length){ $("#filtered-words").html('Error:'+lang.lang_filter_errordegree); } @@ -235,7 +232,6 @@ function filterEdit(id,acct_id){ var domain = localStorage.getItem("domain_" + acct_id); var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/v1/filters/"+id - console.log(start) fetch(start, { method: 'GET', headers: { @@ -248,7 +244,6 @@ function filterEdit(id,acct_id){ todo(error); console.error(error); }).then(function(json) { - console.log(json); if (json) { var now = new Date() ; now = now.getTime() ; @@ -297,7 +292,6 @@ function getFilter(acct_id){ var at = localStorage.getItem("acct_"+ acct_id + "_at"); if(localStorage.getItem("mode_" + domain)!="misskey"){ var start = "https://" + domain + "/api/v1/filters" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -341,7 +335,6 @@ function filterUpdate(acct_id){ var domain = localStorage.getItem("domain_" + acct_id); var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/v1/filters" - console.log(start) fetch(start, { method: 'GET', headers: { diff --git a/app/js/tl/list.js b/app/js/tl/list.js index 109dee45..6e5eb977 100644 --- a/app/js/tl/list.js +++ b/app/js/tl/list.js @@ -40,7 +40,6 @@ function list(){ }); }else{ var start = "https://" + domain + "/api/v1/lists" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -75,7 +74,6 @@ function makeNewList(){ var at = localStorage.getItem("acct_"+ acct_id + "_at"); if(localStorage.getItem("mode_" + domain)!="misskey"){ var start = "https://" + domain + "/api/v1/lists" - console.log(start) var httpreq = new XMLHttpRequest(); httpreq.open('POST', start, true); httpreq.setRequestHeader('Content-Type', 'application/json'); @@ -93,7 +91,6 @@ function makeNewList(){ } }else{ var start = "https://" + domain + "/api/users/lists/create" - console.log(start) var httpreq = new XMLHttpRequest(); httpreq.open('POST', start, true); httpreq.setRequestHeader('Content-Type', 'application/json'); @@ -119,7 +116,6 @@ function listUser(id,acct_id){ var domain = localStorage.getItem("domain_" + acct_id); var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/v1/lists/"+id+"/accounts" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -149,7 +145,6 @@ function hisList(user,acct_id){ var at = localStorage.getItem("acct_"+ acct_id + "_at"); if(localStorage.getItem("mode_" + domain)!="misskey"){ var start = "https://" + domain + "/api/v1/lists" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -175,7 +170,6 @@ function hisList(user,acct_id){ } }); var start = "https://" + domain + "/api/v1/accounts/"+user+"/lists" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -245,7 +239,6 @@ function listAdd(id,user,acct_id){ account_ids: [user] } } - console.log(start) var httpreq = new XMLHttpRequest(); httpreq.open('POST', start, true); httpreq.setRequestHeader('Content-Type', 'application/json'); @@ -277,7 +270,6 @@ function listRemove(id,user,acct_id){ account_ids: [user] } } - console.log(start) var httpreq = new XMLHttpRequest(); httpreq.open(method, start, true); httpreq.setRequestHeader('Content-Type', 'application/json'); diff --git a/app/js/tl/misskeyparse.js b/app/js/tl/misskeyparse.js index 3a8c7040..e5fcc35c 100644 --- a/app/js/tl/misskeyparse.js +++ b/app/js/tl/misskeyparse.js @@ -857,7 +857,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) { //オブジェクトパーサー(ユーザーデータ) function misskeyUserparse(obj, auth, acct_id, tlid, popup) { - console.log(obj) + console.log(["Parse them ",obj]) if (popup > 0 || popup == -1) { } else { @@ -984,15 +984,14 @@ function connectMisskey(acct_id) { localStorage.setItem("misskey_wss_" + acct_id, wsid); misskeyws[wsid] = new WebSocket(start); misskeyws[wsid].onopen = function (mess) { - console.log(tlid + ":Connect Streaming API:"+domain); - console.log(mess); + console.table({"tlid":tlid,"type":"Connect Streaming API","domain":domain,"message":[mess]}) misskeywsstate[wsid]=true //$("#notice_icon_" + tlid).removeClass("red-text"); var send='{"type":"connect","body":{"channel":"main","id":"notf:'+acct_id+'"}}' misskeyws[wsid].send(send) } misskeyws[wsid].onmessage = function (mess) { - console.log(acct_id + ":Receive Streaming API:"); + console.log([domain + ":Receive Streaming API:",data]); var data=JSON.parse(mess.data) var obj=data.body.body @@ -1010,7 +1009,7 @@ function connectMisskey(acct_id) { templete = misskeyUserparse([obj.body], 'notf', acct_id, 'notf', popup); } if(JSON.parse(mess.data).body.type=="reaction"){ - console.log("refresh") + console.log("reaction refresh") reactRefresh(acct_id,obj.body.note.id) } if(!$("div[data-notfIndv=" + acct_id +"_"+obj.body.id+"]").length){ @@ -1048,7 +1047,6 @@ function connectMisskey(acct_id) { jQuery("time.timeago").timeago(); }else if (data.type == "noteUpdated") { if(data.body.type=="reacted"){ - console.log(data.body.id) reactRefresh(acct_id,data.body.id) }else if(data.body.type=="deleted"){ $("#pub_"+data.body.id).hide(); @@ -1058,15 +1056,14 @@ function connectMisskey(acct_id) { } } misskeyws[wsid].onerror = function (error) { - console.error("Error closing"); + console.error("Error closing "+tlid); console.error(error); misskeywsstate[wsid]=false connectMisskey(acct_id) return false; }; misskeyws[wsid].onclose = function () { - console.log("Closing"); - console.log(tlid); + console.warn("Closing "+tlid); misskeywsstate[wsid]=false connectMisskey(acct_id) return false; diff --git a/app/js/tl/mix.js b/app/js/tl/mix.js index 7b2ea0e0..63126a0e 100644 --- a/app/js/tl/mix.js +++ b/app/js/tl/mix.js @@ -1,6 +1,5 @@ //Integrated TL function mixtl(acct_id, tlid, type,delc,voice) { - console.log(delc); localStorage.removeItem("morelock") localStorage.setItem("now", type); todo("Integrated TL Loading...(Local)"); @@ -94,21 +93,18 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) { websocketLocal[wslid] = new WebSocket(startLocal); websocketHome[wshid].onopen = function(mess) { localStorage.setItem("wssH_" + tlid, wshid); - console.log(tlid + ":Connect Streaming API(Integrated:Home)"); - console.log(mess); + console.table({"tlid":tlid,"type":"Connect Streaming API(Integrated:Home)","domain":domain,"message":mess}) $("#notice_icon_" + tlid).removeClass("red-text"); } websocketLocal[wslid].onopen = function(mess) { localStorage.setItem("wssL_" + tlid, wslid); - console.log(tlid + ":Connect Streaming API(Integrated:Local)"); - console.log(mess); + console.table({"tlid":tlid,"type":"Connect Streaming API(Integrated:Local)","domain":domain,"message":mess}) $("#notice_icon_" + tlid).removeClass("red-text"); } websocketLocal[wslid].onmessage = function(mess) { - console.log("Receive Streaming API:(Integrated:Local)"); + console.log(["Receive Streaming API:(Integrated:Local)",obj]); var obj = JSON.parse(JSON.parse(mess.data).payload); - console.log(obj); var type = JSON.parse(mess.data).event; if (type == "delete") { if(delc=="true"){ @@ -145,10 +141,8 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) { } } websocketHome[wshid].onmessage = function(mess) { - console.log("Receive Streaming API:(Integrated:Home)"); - + console.log(["Receive Streaming API:(Integrated:Home)",obj]); var obj = JSON.parse(JSON.parse(mess.data).payload); - console.log(obj); var type = JSON.parse(mess.data).event; if (type == "delete") { if(del>10){ @@ -211,7 +205,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) { } }; websocketLocal[wslid].onclose = function() { - console.log('WebSocketLocal Closing:' + tlid); + console.warn('WebSocketLocal Closing:' + tlid); if(mode=="error"){ $("#notice_icon_" + tlid).addClass("red-text"); todo('WebSocket Closed'); @@ -224,8 +218,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) { } }; websocketHome[wshid].onerror = function(error) { - console.error('WebSocketHome Error') - console.error(error); + console.error(['WebSocketHome Error',error]) if(mode=="error"){ $("#notice_icon_" + tlid).addClass("red-text"); todo('WebSocket Error ' + error); @@ -238,7 +231,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) { } }; websocketHome[wshid].onclose = function() { - console.log('WebSocketHome Closing:' + tlid); + console.warn('WebSocketHome Closing:' + tlid); if(mode=="error"){ $("#notice_icon_" + tlid).addClass("red-text"); todo('WebSocket Closed'); diff --git a/app/js/tl/notification.js b/app/js/tl/notification.js index 0808ac90..55ee6390 100644 --- a/app/js/tl/notification.js +++ b/app/js/tl/notification.js @@ -147,7 +147,7 @@ function notfCommon(acct_id, tlid, sys) { } } fetch(start, i).then(function(response) { - console.log(response.headers.get('link')); + console.log("header to get param:"+response.headers.get('link')); return response.json(); }).catch(function(error) { todo(error); @@ -218,25 +218,20 @@ function notfWS(misskey,acct_id,tlid,domain,at){ var start = wss + "/api/v1/streaming/?stream=user&access_token=" + at; - console.log(start); var wsid = websocketNotf.length; websocketNotf[acct_id] = new WebSocket(start); - console.log(websocketNotf); websocketNotf[acct_id].onopen = function(mess) { - console.log("Connect Streaming API(Notf):"); - console.log(mess); + console.table({"acct_id":acct_id,"type":"Connect Streaming API(Notf)","domain":domain,"message":[mess]}) $("i[data-notf=" + acct_id +"]").removeClass("red-text"); } websocketNotf[acct_id].onmessage = function(mess) { - console.log("Receive Streaming API(Notf):"+acct_id); + console.log(["Receive Streaming API(Notf):"+acct_id+"("+domain+")",JSON.parse(JSON.parse(mess.data).payload)]); var popup = localStorage.getItem("popup"); if (!popup) { popup = 0; } - console.log(domain) var obj = JSON.parse(JSON.parse(mess.data).payload); - console.log(obj); var type = JSON.parse(mess.data).event; if (type == "notification") { var templete=""; @@ -264,8 +259,7 @@ function notfWS(misskey,acct_id,tlid,domain,at){ } //一定のスクロールで発火 function notfmore(tlid) { - console.log(moreloading); - console.log("kicked"); + console.log({"status":"kicked","status":moreloading}); var multi = localStorage.getItem("column"); var obj = JSON.parse(multi); var acct_id = obj[tlid].domain; @@ -308,7 +302,7 @@ function notfmore(tlid) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); + console.log(["More notifications on "+tlid,json]); var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1]; if(json[0]){ var templete=""; @@ -392,12 +386,10 @@ function notfCanceler(acct){ $(".notf-icon_" + acct).removeClass("red-text"); } function allNotfRead(){ - console.log(localStorage.getItem("notf-fav_2")); var multi = localStorage.getItem("multi"); if (multi) { var obj = JSON.parse(multi); Object.keys(obj).forEach(function(key) { - console.log(key); notfCanceler(key) }); } diff --git a/app/js/tl/parse.js b/app/js/tl/parse.js index b72cec21..3e481e07 100644 --- a/app/js/tl/parse.js +++ b/app/js/tl/parse.js @@ -3,7 +3,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) { var templete = ''; if(obj[0]){ if(tlid===1){ - console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix')) + } localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix')); } @@ -886,7 +886,7 @@ function userparse(obj, auth, acct_id, tlid, popup) { var datetype = localStorage.getItem("datetype"); Object.keys(obj).forEach(function(key) { var toot = obj[key]; - console.log(toot) + console.log(["Parsing",toot]) if(!toot.username){ var raw=toot; toot=toot.account; diff --git a/app/js/tl/poll.js b/app/js/tl/poll.js index 8803a10c..041e06fe 100644 --- a/app/js/tl/poll.js +++ b/app/js/tl/poll.js @@ -25,13 +25,12 @@ function pollCalc(){ var days=$("#days_poll").val(); var hrs=$("#hours_poll").val(); var mins=$("#mins_poll").val(); - console.log(days*86400+hrs*3600+mins*60) + console.log("Poll calc:"+days*86400+hrs*3600+mins*60) return days*86400+hrs*3600+mins*60; } //Vote function voteSelMastodon(acct_id,id,to,mul){ - console.log('.vote_'+acct_id+'_'+id+'_'+to); if($('.vote_'+acct_id+'_'+id+'_'+to).hasClass("sel")){ $('.vote_'+acct_id+'_'+id+'_'+to).css("background-color","transparent") $('.vote_'+acct_id+'_'+id+'_'+to).removeClass("sel"); @@ -95,7 +94,7 @@ function voteMastodonrefresh(acct_id,id){ httpreqd.onreadystatechange = function() { if (httpreqd.readyState == 4) { var json = httpreqd.response; - console.log(json); + console.log(["Refresh vote",json]); if(!json){ return false; } diff --git a/app/js/tl/speech.js b/app/js/tl/speech.js index 87f9df11..d057c473 100644 --- a/app/js/tl/speech.js +++ b/app/js/tl/speech.js @@ -33,7 +33,6 @@ $repeat = setInterval(function() { var obj = JSON.parse(voice); if(obj[0]){ $synthes.text = obj[0]; - console.log($synthes); speechSynthesis.speak($synthes); obj.splice(0, 1); var json = JSON.stringify(obj); diff --git a/app/js/tl/src.js b/app/js/tl/src.js index f788afe7..0cf98a60 100644 --- a/app/js/tl/src.js +++ b/app/js/tl/src.js @@ -31,7 +31,7 @@ function src(mode) { }else{ var start = "https://" + domain + "/api/v1/search?q=" + q } - console.log(start) + console.log("Try to search at "+start) fetch(start, { method: 'GET', headers: { @@ -44,7 +44,7 @@ function src(mode) { src("v1") return false; }).then(function(json) { - console.log(json); + console.log(["Search",json]); //ハッシュタグ if (json.hashtags[0]) { var tags = ""; @@ -83,14 +83,13 @@ function tsAdd(q){ var obj = JSON.parse(multi); localStorage.setItem("card_" + obj.length,"true"); obj.push(add); - console.log(obj); var json = JSON.stringify(obj); localStorage.setItem("column", json); parseColumn(); } function tootsearch(tlid,q){ var start = "https://tootsearch.chotto.moe/api/v1/search?from=0&sort=created_at%3Adesc&q=" + q - console.log(start) + console.log("Toot srrach at "+start) $("#notice_" + tlid).text("tootsearch("+q+")"); $("#notice_icon_" + tlid).text("search"); fetch(start, { @@ -106,13 +105,10 @@ function tootsearch(tlid,q){ }).then(function(raw) { var templete=""; var json=raw.hits.hits; - console.log(json); var max_id = raw["hits"].length; for(var i=0;i scrt) { - console.log("kicked"); + console.log("kicked more loading:"+tlid); moreload('', tlid); } }); @@ -44,7 +44,6 @@ function goColumn(key){ $("#sort-box").addClass("hide"); $("#sort-box").removeClass("show"); if($('[tlid='+key+']').length){ - console.log($('[tlid='+key+']').offset().left); $("#timeline-container").animate({scrollLeft:$("#timeline-container").scrollLeft()+$('[tlid='+key+']').offset().left}); } } \ No newline at end of file diff --git a/app/js/ui/settings.js b/app/js/ui/settings.js index 7ee30782..d3bbe8d3 100644 --- a/app/js/ui/settings.js +++ b/app/js/ui/settings.js @@ -141,7 +141,6 @@ function climute(){ return; } var templete; - console.log(obj) Object.keys(obj).forEach(function(key) { var cli = obj[key]; var list = key * 1 + 1; @@ -233,7 +232,6 @@ function exportSettings(){ properties: ['openFile', 'createDirectory'], defaultPath: "export.thedeskconfigv2" }, (savedFiles) => { - console.log(savedFiles); if(!savedFiles){ return false; } @@ -294,7 +292,6 @@ function exportSettings(){ var tagarr = localStorage.getItem("tag"); var favtag = JSON.parse(tagarr); exp.favoriteTags=favtag; - console.log(exp); ipc.send('export', [savedFiles,JSON.stringify(exp)]); alert("Done.") //cards @@ -316,7 +313,6 @@ function importSettings(){ {name: 'TheDesk Config', extensions: ['thedeskconfig','thedeskconfigv2']}, ] }, (fileNames) => { - console.log(fileNames); if(!fileNames){ return false; } @@ -363,7 +359,6 @@ function importSettings(){ //Version 1 localStorage.setItem("theme",obj.theme); if(obj.width){ - console.log(obj.width) localStorage.setItem("width",obj.width); } if(obj.font){ @@ -552,7 +547,6 @@ function deleteIt(){ function ctLoad(){ ipc.send('theme-json-list', ""); ipc.on('theme-json-list-response', function (event, args) { - console.log(args); var templete=""; Object.keys(args).forEach(function(key) { var theme = args[key]; @@ -596,7 +590,6 @@ function custom(){ $("#delTheme").removeClass("disabled") ipc.send('theme-json-request', id); ipc.on('theme-json-response', function (event, args) { - console.log(args); $("#custom_name").val(args.name); $("#custom_desc").val(args.desc); $("#"+args.base).prop("checked", true); @@ -633,7 +626,6 @@ function customImp(){ } } function hardwareAcceleration(had){ - console.log("ha"); ipc.send('ha', had); } diff --git a/app/js/ui/sort.js b/app/js/ui/sort.js index 0d350657..204d50c8 100644 --- a/app/js/ui/sort.js +++ b/app/js/ui/sort.js @@ -61,7 +61,7 @@ function Scap(type, data) { }else if (type == "tootsearch") { return "tootsearch(" + data + ")" }else{ - console.log(type); + console.error("unknown timeline type: "+type); } } diff --git a/app/js/ui/spotify.js b/app/js/ui/spotify.js index b40c46b5..43d0a8d1 100644 --- a/app/js/ui/spotify.js +++ b/app/js/ui/spotify.js @@ -79,7 +79,7 @@ function nowplaying(mode){ todo(error); console.error(error); }).then(function(json) { - console.log(json); + console.table(json); if(json.length<1){ return false; } @@ -133,7 +133,7 @@ function nowplaying(mode){ console.error(arg); return; } - console.log(arg); + console.table(arg); var content=localStorage.getItem("np-temp"); if(!content || content=="" || content=="null"){ var content="#NowPlaying {song} / {album} / {artist}\n{url}"; diff --git a/app/js/ui/tips.js b/app/js/ui/tips.js index e7871c7e..6c253b15 100644 --- a/app/js/ui/tips.js +++ b/app/js/ui/tips.js @@ -66,7 +66,6 @@ function trendTagonTip(){ var domain="imastodon.net" var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/v1/trend_tags" - console.log(start) fetch(start, { method: 'GET', headers: { @@ -109,7 +108,6 @@ function spotifytips(){ todo(error); console.error(error); }).then(function(json) { - console.log(json); var ms=json.progress_ms; var last=1000-ms%1000; var item=json.item; diff --git a/app/js/userdata/his-data.js b/app/js/userdata/his-data.js index e846d314..ade42f22 100644 --- a/app/js/userdata/his-data.js +++ b/app/js/userdata/his-data.js @@ -538,9 +538,8 @@ function showFrl(more, acct_id) { $("#his-follow-recom-contents").html(lang.lang_details_nodata+"("+lang.lang_hisdata_frcreq+")
"); console.error(error); }).then(function(json) { - console.log(json); if(!json[0]){ - console.log("No data"); + console.warn("No suggestions(recommend) data"); templete=lang.lang_details_nodata+"("+lang.lang_hisdata_frcwarn+")
"; }else{ var templete = userparse(json,'',acct_id); @@ -608,7 +607,6 @@ function showMat() { var acct_id=$("#his-data").attr("use-acct"); full=full.split("@"); var start = "https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-filtered-api.cgi?"+full[1]+"+" + full[0]; - console.log(start); fetch(start, { method: 'GET', headers: { @@ -621,7 +619,6 @@ function showMat() { todo(error); console.error(error); }).then(function(json) { - console.log(json); var templete=""; Object.keys(json).forEach(function(key) { var user = json[key]; diff --git a/app/js/userdata/prof-edit.js b/app/js/userdata/prof-edit.js index 3b6d7bdf..cc8cbab0 100644 --- a/app/js/userdata/prof-edit.js +++ b/app/js/userdata/prof-edit.js @@ -30,7 +30,7 @@ function imgChange(imgfile, target) { var acct_id = $('#his-data').attr("use-acct"); todo("アップロードしています") if (!imgfile.files.length) { - console.log("No Img"); + console.warn("No Image to upload"); return; } var file = imgfile.files[0]; @@ -52,7 +52,6 @@ function imgChange(imgfile, target) { httpreq.onreadystatechange = function() { if (httpreq.readyState === 4) { var json = httpreq.response; - console.log(json); $('#his-data').modal('close'); todc(); localStorage.removeItem("image"); diff --git a/app/js/userdata/showOnTL.js b/app/js/userdata/showOnTL.js index f639d41e..f1e21884 100644 --- a/app/js/userdata/showOnTL.js +++ b/app/js/userdata/showOnTL.js @@ -19,7 +19,7 @@ function udgEx(user,acct_id){ if(acct_id=="main"){ acct_id = localStorage.getItem("main"); } - console.log(user); + console.log("Get user data of "+user); var domain = localStorage.getItem("domain_" + acct_id); if(localStorage.getItem("mode_" + domain)=="misskey"){ return false; } var at = localStorage.getItem("acct_"+ acct_id + "_at"); @@ -36,7 +36,6 @@ function udgEx(user,acct_id){ todo(error); console.error(error); }).then(function(json) { - console.log(json); if(json.accounts){ var id=json.accounts[0].id; udg(id,acct_id); @@ -52,7 +51,6 @@ function udg(user, acct_id) { reset(); if (!user) { user = localStorage.getItem("user-id_"+acct_id); - console.log(user); } todo("User Data Loading..."); var domain = localStorage.getItem("domain_" + acct_id); @@ -62,7 +60,6 @@ function udg(user, acct_id) { } var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/v1/accounts/" + user; - console.log(start); fetch(start, { method: 'GET', headers: { @@ -75,7 +72,6 @@ function udg(user, acct_id) { todo(error); console.error(error); }).then(function(json) { - console.log(json); //一つ前のユーザーデータ if (!localStorage.getItem("history")){ $("#his-history-btn").prop("disabled",true); @@ -128,7 +124,6 @@ function udg(user, acct_id) { //var tags = '#$1'; //var mens = '@$1'; //note=note.replace(/#(\S+)/gi, tags) - console.log(note) //note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens) $("#his-name").html(dis_name); $("#his-acct").text(json.acct); @@ -215,7 +210,6 @@ function misskeyUdg(user, acct_id) { reset(); if (!user) { user = localStorage.getItem("user-id_"+acct_id); - console.log(user); } todo("User Data Loading..."); var domain = localStorage.getItem("domain_" + acct_id); @@ -225,7 +219,6 @@ function misskeyUdg(user, acct_id) { } var at = localStorage.getItem("acct_"+ acct_id + "_at"); var start = "https://" + domain + "/api/users/show"; - console.log(user); fetch(start, { method: 'POST', headers: { @@ -241,7 +234,6 @@ function misskeyUdg(user, acct_id) { todo(error); console.error(error); }).then(function(json) { - console.log(json); //一つ前のユーザーデータ if (!localStorage.getItem("history")){ $("#his-history-btn").prop("disabled",true); @@ -340,7 +332,6 @@ function historyShow(){ function profShow(){ var acct_id = $("#post-acct-sel").val(); var user = localStorage.getItem("user-id_"+acct_id); - console.log("user-id_"+acct_id+":"+user); udg(user, acct_id) hide(); } diff --git a/app/view/en/index.html b/app/view/en/index.html index 2a71a329..7453bc75 100644 --- a/app/view/en/index.html +++ b/app/view/en/index.html @@ -665,6 +665,10 @@ ・フォローリクエストの許可/拒否ができるように。
・起動時に通知のストリーミングにつながらない不具合を修正

+

ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
+
Internal error: please clear all data(at setting page) All data will be deleted.
diff --git a/app/view/en/update.html b/app/view/en/update.html index d3708a7b..482f9b1f 100644 --- a/app/view/en/update.html +++ b/app/view/en/update.html @@ -113,6 +113,7 @@ function skipper(){ } var electron = require("electron"); var ipc = electron.ipcRenderer; +const shell=electron.shell; verck(); function update(sel){ $("#box").toggleClass("show"); @@ -158,7 +159,7 @@ function update(sel){ } }else if(sel=="mac"){ var url=json["mac"]; - var file="TheDesk-darwin-x64.zip"; + shell.openExternal(url); } ipc.send('download-btn', [url,file]); }); diff --git a/app/view/ja/index.html b/app/view/ja/index.html index 59361ca6..8b6b3f2b 100644 --- a/app/view/ja/index.html +++ b/app/view/ja/index.html @@ -665,6 +665,10 @@ ・フォローリクエストの許可/拒否ができるように。
・起動時に通知のストリーミングにつながらない不具合を修正

+
ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
+
内部エラーです。再読込して治らない場合は初期化(全データ削除)をしてください。(事前に設定をエクスポートしておくことをおすすめします。)
diff --git a/app/view/ja/update.html b/app/view/ja/update.html index d2b54f88..47e9122a 100644 --- a/app/view/ja/update.html +++ b/app/view/ja/update.html @@ -113,6 +113,7 @@ function skipper(){ } var electron = require("electron"); var ipc = electron.ipcRenderer; +const shell=electron.shell; verck(); function update(sel){ $("#box").toggleClass("show"); @@ -158,7 +159,7 @@ function update(sel){ } }else if(sel=="mac"){ var url=json["mac"]; - var file="TheDesk-darwin-x64.zip"; + shell.openExternal(url); } ipc.send('download-btn', [url,file]); }); diff --git a/app/view/make/index.sample.html b/app/view/make/index.sample.html index daa0ecf7..b2af3161 100644 --- a/app/view/make/index.sample.html +++ b/app/view/make/index.sample.html @@ -665,6 +665,10 @@ ・フォローリクエストの許可/拒否ができるように。
・起動時に通知のストリーミングにつながらない不具合を修正

+
ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
+
@@helloTheDesk@@
diff --git a/app/view/make/update.sample.html b/app/view/make/update.sample.html index 499e53ee..32eed10f 100644 --- a/app/view/make/update.sample.html +++ b/app/view/make/update.sample.html @@ -113,6 +113,7 @@ function skipper(){ } var electron = require("electron"); var ipc = electron.ipcRenderer; +const shell=electron.shell; verck(); function update(sel){ $("#box").toggleClass("show"); @@ -158,7 +159,7 @@ function update(sel){ } }else if(sel=="mac"){ var url=json["mac"]; - var file="TheDesk-darwin-x64.zip"; + shell.openExternal(url); } ipc.send('download-btn', [url,file]); }); diff --git a/app/view/ps/index.html b/app/view/ps/index.html index 3273919f..19a28d0c 100644 --- a/app/view/ps/index.html +++ b/app/view/ps/index.html @@ -665,6 +665,10 @@ ・フォローリクエストの許可/拒否ができるように。
・起動時に通知のストリーミングにつながらない不具合を修正

+
ThinkingDeskラベル
+
+ 手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。
+ メルカリへ。
+
crwdns511:0crwdne511:0
diff --git a/app/view/ps/update.html b/app/view/ps/update.html index 2f45976f..b0460e8b 100644 --- a/app/view/ps/update.html +++ b/app/view/ps/update.html @@ -113,6 +113,7 @@ function skipper(){ } var electron = require("electron"); var ipc = electron.ipcRenderer; +const shell=electron.shell; verck(); function update(sel){ $("#box").toggleClass("show"); @@ -158,7 +159,7 @@ function update(sel){ } }else if(sel=="mac"){ var url=json["mac"]; - var file="TheDesk-darwin-x64.zip"; + shell.openExternal(url); } ipc.send('download-btn', [url,file]); });