commit
c5f712359d
|
@ -87,7 +87,8 @@ a,button{
|
|||
<div class='area-name5'>Node.js</div>
|
||||
<div class='area-data5' id="node"></div>
|
||||
</div>
|
||||
<div class="cp">Copyright © <a href="https://cutls.com/@Cutls" target="_blank">Cutls P</a> 2018 All rights reserved.<br>
|
||||
<div class="cp">Copyright © TheDesk 2018<br>
|
||||
Main developer(author): <a href="https://cutls.com/@Cutls" target="_blank">Cutls P</a><br>
|
||||
Thanks:<a href="https://minohdon.jp/@toneji" target="_blank">toneji</a>/<a href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pawoo.net/@kPherox" target="_blank">kPherox</a> and all users
|
||||
<img draggable="false" style="width:0.8rem;top: 1px;margin-left: 1px;position: relative;" alt="❤️" title=":heart:" src="https://twemoji.maxcdn.com/2/72x72/2764.png">
|
||||
<br><a href="https://thedesk.top" target="_blank">Web site</a></div>
|
||||
|
|
|
@ -308,7 +308,6 @@ grid-area: toot;
|
|||
.toot-img {
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
margin-right:1px;
|
||||
}
|
||||
.toot img:not(.emoji-img) {
|
||||
max-width: 100%;
|
||||
|
@ -532,6 +531,24 @@ p:not(:last-child){
|
|||
.jump{
|
||||
display: inline-block; animation: jump 0.75s linear infinite;
|
||||
}
|
||||
.img-link{
|
||||
position:relative;
|
||||
display:block;
|
||||
margin-right:1px;
|
||||
float: left;
|
||||
}
|
||||
.nsfw-media{
|
||||
position:absolute;
|
||||
top:0;
|
||||
right:0;
|
||||
background-color: black;
|
||||
color:white;
|
||||
}
|
||||
.img-link img{
|
||||
display:block;
|
||||
width:100%;
|
||||
height:100%;
|
||||
}
|
||||
@keyframes jump {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
|
|
|
@ -239,7 +239,7 @@ function infowebsocket(){
|
|||
}
|
||||
}
|
||||
if(show){
|
||||
Materialize.toast(escapeHTML(obj.Text)+toot+'<span class="sml grey-text">(スライドして消去)</span>', 86400);
|
||||
Materialize.toast(escapeHTML(obj.text)+toot+'<span class="sml grey-text">(スライドして消去)</span>', 86400);
|
||||
}
|
||||
}else{
|
||||
$("#persons").text(obj.text);
|
||||
|
|
|
@ -14,23 +14,6 @@ function ck() {
|
|||
}
|
||||
var domainz = localStorage.getItem("domain_0");
|
||||
var at = localStorage.getItem("acct_0_at");
|
||||
var oldat = localStorage.getItem(domainz + "_at");
|
||||
if(oldat){
|
||||
console.log("Move to New Account Management System")
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (!multi) {
|
||||
var acctlen=1;
|
||||
} else {
|
||||
var obj = JSON.parse(multi);
|
||||
var acctlen=obj.length;
|
||||
}
|
||||
for(i=0;acctlen>i;i++){
|
||||
var domain = localStorage.getItem("domain_"+i);
|
||||
var oldat = localStorage.getItem(domain + "_at");
|
||||
var newat = localStorage.setItem("acct_"+ i + "_at",oldat);
|
||||
localStorage.removeItem(domain + "_at");
|
||||
}
|
||||
}
|
||||
//コード受信
|
||||
if(location.search){
|
||||
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
|
||||
|
@ -61,6 +44,8 @@ if (obj[0].domain) {
|
|||
}
|
||||
}
|
||||
ck();
|
||||
|
||||
|
||||
//ログインポップアップ
|
||||
function login(url) {
|
||||
if($('#linux:checked').val()=="on"){
|
||||
|
@ -517,7 +502,7 @@ function multiSelector() {
|
|||
$("#add-acct-sel").append('<option value="noauth">'+lang.lang_login_noauth+'</option><option value="webview">Twitter</option>');
|
||||
}
|
||||
$('select').material_select('update');
|
||||
parseColumn();
|
||||
parseColumn(true);
|
||||
}
|
||||
|
||||
//バージョンエンコ
|
||||
|
|
|
@ -363,8 +363,7 @@ function misskeyLogin(url) {
|
|||
"reaction-read",
|
||||
"reaction-write",
|
||||
"vote-read",
|
||||
"vote-write"
|
||||
/*
|
||||
"vote-write",
|
||||
"read:account",
|
||||
"write:account",
|
||||
"read:drive",
|
||||
|
@ -385,7 +384,6 @@ function misskeyLogin(url) {
|
|||
"read:reactions",
|
||||
"write:reactions",
|
||||
"write:votes"
|
||||
*/
|
||||
]
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
|
|
|
@ -64,11 +64,11 @@ function reactiontoggle(id,acct_id,tlid){
|
|||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if(json.reactionCounts){
|
||||
var reactions=["like","love","laugh","hmm","surprise","congrats","angry","confused","pudding","star"];
|
||||
if(json.reactions){
|
||||
var reactions=["like","love","laugh","hmm","surprise","congrats","angry","confused","pudding","rip"];
|
||||
for(var i=0;i<reactions.length;i++){
|
||||
if(json.reactionCounts[reactions[i]]){
|
||||
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(json.reactionCounts[reactions[i]])
|
||||
if(json.reactions[reactions[i]]){
|
||||
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(json.reactions[reactions[i]])
|
||||
$("#pub_" + id +" .re-"+reactions[i]).removeClass("hide")
|
||||
}else{
|
||||
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(0)
|
||||
|
@ -77,7 +77,7 @@ function reactiontoggle(id,acct_id,tlid){
|
|||
}else{
|
||||
$("#pub_" + id +" .re-"+reactions[i]).removeClass("hide")
|
||||
}
|
||||
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(json.reactionCounts[reactions[i]])
|
||||
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(json.reactions[reactions[i]])
|
||||
}
|
||||
}
|
||||
$("#pub_" + id +" .reactions").removeClass("hide");
|
||||
|
@ -143,21 +143,21 @@ function reactRefresh(acct_id,id){
|
|||
}
|
||||
function reactRefreshCore(json){
|
||||
var id=json.id;
|
||||
if(json.reactionCounts){
|
||||
if(json.reactions){
|
||||
$("#pub_" + id +" .reactions").removeClass("hide")
|
||||
var regExp = new RegExp( ":", "g" ) ;
|
||||
Object.keys(json.reactionCounts).forEach(function(keye) {
|
||||
Object.keys(json.reactions).forEach(function(keye) {
|
||||
keyeClass=keye.replace(regExp,'');
|
||||
if(json.reactionCounts[keye]){
|
||||
console.log(json.reactionCounts[keye])
|
||||
$("#pub_" + id +" .re-"+keyeClass+"ct").text(json.reactionCounts[keye])
|
||||
if(json.reactions[keye]){
|
||||
console.log(json.reactions[keye])
|
||||
$("#pub_" + id +" .re-"+keyeClass+"ct").text(json.reactions[keye])
|
||||
$("#pub_" + id +" .re-"+keyeClass).removeClass("hide")
|
||||
}else{
|
||||
$("#pub_" + id +" .re-"+keyeClass+"ct").text(0)
|
||||
if($("#pub_" + id +" .reactions").hasClass("fullreact")){
|
||||
$("#pub_" + id +" .re-"+keyeClass).addClass("hide")
|
||||
}
|
||||
$("#pub_" + id +" .re-"+keyeClass+"ct").text(json.reactionCounts[keye])
|
||||
$("#pub_" + id +" .re-"+keyeClass+"ct").text(json.reactions[keye])
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -203,8 +203,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
"congrats": "🎉",
|
||||
"amgry": "💢",
|
||||
"confused": "😥",
|
||||
"pudding":"🍮",
|
||||
"star":"⭐"
|
||||
"rip": "😇"
|
||||
}
|
||||
var icon = reactions[toot.reaction];
|
||||
var emojisData = JSON.parse(localStorage.getItem("emoji_" + acct_id));
|
||||
|
@ -343,9 +342,13 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
var via = '<span style="font-style: italic;">Mobile</span>';
|
||||
} else {
|
||||
var via = '';
|
||||
viashow = "via-hide";
|
||||
}
|
||||
} else {
|
||||
var via = toot.app.name;
|
||||
var via = escapeHTML(toot.app.name);
|
||||
if (!toot.app.name) {
|
||||
viashow = "via-hide";
|
||||
}
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function (key6) {
|
||||
var cli = emp[key6];
|
||||
|
@ -514,7 +517,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
mentions = '<div style="float:right"><a onclick="udg(\'' + menck.user.id + '\',' +
|
||||
acct_id + ')" class="pointer">@' + menck.user.username + '</a></div>';
|
||||
}
|
||||
var tagck = toot.tags[0];
|
||||
var tagck = toot.tags;
|
||||
var tags = "";
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
|
@ -649,10 +652,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
var freeReact = "";
|
||||
}
|
||||
//Reactions
|
||||
if(toot.reactionCounts){
|
||||
var addReact = "";
|
||||
Object.keys(toot.reactionCounts).forEach(function(keye) {
|
||||
var thisReact=toot.reactionCounts[keye];
|
||||
if (toot.reactions) {
|
||||
Object.keys(toot.reactions).forEach(function (keye) {
|
||||
var thisReact = toot.reactions[keye];
|
||||
if (keye == "like") { var defaultEmoji = true; }
|
||||
else if (keye == "love") { var defaultEmoji = true; }
|
||||
else if (keye == "laugh") { var defaultEmoji = true; }
|
||||
|
@ -661,7 +664,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
else if (keye == "congrats") { var defaultEmoji = true; }
|
||||
else if (keye == "angry") { var defaultEmoji = true; }
|
||||
else if (keye == "confused") { var defaultEmoji = true; }
|
||||
else if(keye=="pudding"){ var defaultEmoji=true; }
|
||||
else if (keye == "star") { var defaultEmoji = true; }
|
||||
else {
|
||||
var obj = JSON.parse(localStorage.getItem("emoji_" + acct_id));
|
||||
if (obj) {
|
||||
|
@ -680,76 +683,76 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
}
|
||||
}
|
||||
});
|
||||
if(toot.reactionCounts.like){
|
||||
var like=toot.reactionCounts.like;
|
||||
if (toot.reactions.like) {
|
||||
var like = toot.reactions.like;
|
||||
var likehide = "";
|
||||
} else {
|
||||
var like = 0;
|
||||
var likehide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.love){
|
||||
var love=toot.reactionCounts.love;
|
||||
if (toot.reactions.love) {
|
||||
var love = toot.reactions.love;
|
||||
var lovehide = "";
|
||||
} else {
|
||||
var love = 0;
|
||||
var lovehide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.laugh){
|
||||
var laugh=toot.reactionCounts.laugh;
|
||||
if (toot.reactions.laugh) {
|
||||
var laugh = toot.reactions.laugh;
|
||||
var laughhide = "";
|
||||
} else {
|
||||
var laugh = 0;
|
||||
var laughhide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.hmm){
|
||||
var hmm=toot.reactionCounts.hmm;
|
||||
if (toot.reactions.hmm) {
|
||||
var hmm = toot.reactions.hmm;
|
||||
var hmmhide = "";
|
||||
} else {
|
||||
var hmm = 0;
|
||||
var hmmhide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.surprise){
|
||||
var surprise=toot.reactionCounts.surprise;
|
||||
if (toot.reactions.surprise) {
|
||||
var surprise = toot.reactions.surprise;
|
||||
var suphide = "";
|
||||
} else {
|
||||
var suphide = "hide";
|
||||
var surprise = 0;
|
||||
}
|
||||
if(toot.reactionCounts.congrats){
|
||||
var congrats=toot.reactionCounts.congrats;
|
||||
if (toot.reactions.congrats) {
|
||||
var congrats = toot.reactions.congrats;
|
||||
var conghide = "";
|
||||
} else {
|
||||
var congrats = 0;
|
||||
var conghide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.angry){
|
||||
var angry=toot.reactionCounts.angry;
|
||||
if (toot.reactions.angry) {
|
||||
var angry = toot.reactions.angry;
|
||||
var anghide = "";
|
||||
} else {
|
||||
var angry = 0;
|
||||
var anghide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.confused){
|
||||
if (toot.reactions.confused) {
|
||||
var confhide = "";
|
||||
var confused=toot.reactionCounts.confused;
|
||||
var confused = toot.reactions.confused;
|
||||
} else {
|
||||
var confused = 0;
|
||||
var confhide = "hide";
|
||||
}
|
||||
if(toot.reactionCounts.pudding){
|
||||
var pudding=toot.reactionCounts.pudding;
|
||||
var pudhide="";
|
||||
if (toot.reactions.rip) {
|
||||
var riphide = "";
|
||||
var rip = toot.reactions.rip;
|
||||
} else {
|
||||
var pudding=0;
|
||||
var pudhide="hide";
|
||||
var rip = 0;
|
||||
var riphide = "hide";
|
||||
}
|
||||
var fullhide = "";
|
||||
} else {
|
||||
var like = 0; var love = 0; var laugh = 0; var hmm = 0; var surprise = 0; var congrats = 0; var angry = 0; var confused = 0; var pudding = 0;
|
||||
var likehide="hide";var lovehide="hide";var laughhide="hide";var hmmhide="hide";var suphide="hide";var conghide="hide";var anghide="hide";var confhide="hide";var pudhide="hide";
|
||||
var likehide = "hide"; var lovehide = "hide"; var laughhide = "hide"; var hmmhide = "hide"; var suphide = "hide"; var conghide = "hide"; var anghide = "hide"; var confhide = "hide"; var riphide="hide"
|
||||
var fullhide = "hide";
|
||||
}
|
||||
if(!addReact && likehide=="hide"&& lovehide=="hide"&& laughhide=="hide"&& hmmhide=="hide"&& suphide=="hide"&& conghide=="hide"&& anghide=="hide"&& confhide=="hide"&& pudhide=="hide"){
|
||||
if (!addReact && likehide == "hide" && lovehide == "hide" && laughhide == "hide" && hmmhide == "hide" && suphide == "hide" && conghide == "hide" && anghide == "hide" && confhide == "hide" && riphide=="hide") {
|
||||
var fullhide = "hide";
|
||||
}
|
||||
if (toot.myReaction) {
|
||||
|
@ -808,8 +811,8 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">' + twemoji.parse("💢") + '</a><span class="re-angryct">' + angry +
|
||||
'</span></span><span class="' + confhide + ' reaction re-confused"><a onclick="reaction(\'confused\',\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">' + twemoji.parse("😥") + '</a><span class="re-confusedct">' + confused +
|
||||
'</span></span><span class="'+pudhide+' reaction re-pudding"><a onclick="reaction(\'pudding\',\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +'\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">'+twemoji.parse("🍮")+'</a><span class="re-puddingct">'+pudding+
|
||||
'</span></span><span class="' + riphide + ' reaction re-confused"><a onclick="reaction(\'confused\',\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">' + twemoji.parse("😇") + '</a><span class="re-confusedct">' + rip +
|
||||
'</span></span>' + addReact +
|
||||
'<i class="material-icons pointer hide freeReact ' + freeReact + '" style="font-size:1.0rem; padding-left:5px;position: relative;top: 3px;" onclick="reactioncustom(\'' + acct_id + '\',\'' + id + '\')">add_box</i></div>'
|
||||
+ poll + mentions + tags + '</div>' +
|
||||
|
@ -841,7 +844,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_redraft + '"><i class="material-icons">redo</i></a></div>' + trans +
|
||||
'<span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" onclick="client(\'' + $.strip_tagstemp(via) + '\')" title="via ' + $.strip_tagstemp(via) + '">via ' +
|
||||
escapeHTML(via) +
|
||||
via +
|
||||
'</span>' +
|
||||
'</div><div class="area-side ' + mouseover + '"><div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
|
||||
'<div class="action ' + noauth + '"><a onclick="details(\'' + toot.id + '\',' + acct_id +
|
||||
|
@ -854,15 +857,23 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
|
||||
//オブジェクトパーサー(ユーザーデータ)
|
||||
function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
console.log(obj)
|
||||
if (popup > 0 || popup == -1) {
|
||||
|
||||
} else {
|
||||
if(obj.users){
|
||||
var obj = obj.users;
|
||||
}
|
||||
}
|
||||
var templete = '';
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var toot = obj[key];
|
||||
if(toot.followee){
|
||||
toot=toot.followee
|
||||
}else if(toot.follower){
|
||||
toot=toot.follower
|
||||
}
|
||||
var locked = "";
|
||||
if (auth) {
|
||||
var auth = '<i class="material-icons gray pointer" onclick="misskeyRequest(\'' +
|
||||
|
@ -919,6 +930,16 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
|||
} else {
|
||||
var dis_name = toot.username;
|
||||
}
|
||||
if(toot.followersCount){
|
||||
var ferct=toot.followersCount
|
||||
}else{
|
||||
var ferct="unknown"
|
||||
}
|
||||
if(toot.followingCount){
|
||||
var fingct=toot.followingCount
|
||||
}else{
|
||||
var fingct="unknown"
|
||||
}
|
||||
templete = templete +
|
||||
'<div class="cvo" style="padding-top:5px;" user-id="' + toot.id + '"><div class="area-notice">' +
|
||||
notftext +
|
||||
|
@ -933,8 +954,8 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
|||
'</div>' +
|
||||
'</div>' +
|
||||
'<div style="justify-content:space-around" class="area-toot"> <div class="cbadge" style="width:100px;">Follows:' +
|
||||
toot.followingCount +
|
||||
'</div><div class="cbadge" style="width:100px;">Followers:' + toot.followersCount +
|
||||
fingct +
|
||||
'</div><div class="cbadge" style="width:100px;">Followers:' + ferct +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
|
@ -952,3 +973,103 @@ function goGoogle(id){
|
|||
|
||||
shell.openExternal(url);
|
||||
}
|
||||
var misskeyws=[]
|
||||
var misskeywsstate=[]
|
||||
function connectMisskey(acct_id) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "wss://" + domain +
|
||||
"/streaming?i="+at;
|
||||
var wsid = misskeyws.length;
|
||||
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);
|
||||
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:");
|
||||
var data=JSON.parse(mess.data)
|
||||
var obj=data.body.body
|
||||
|
||||
if (data.body.id.indexOf("notf:")!== -1) {
|
||||
var obj = JSON.parse(mess.data).body;
|
||||
console.log(obj);
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
popup = 0;
|
||||
}
|
||||
if(JSON.parse(mess.data).body.type!="follow"){
|
||||
|
||||
templete = misskeyParse([obj.body], 'notf', acct_id, 'notf', popup);
|
||||
}else{
|
||||
templete = misskeyUserparse([obj.body], 'notf', acct_id, 'notf', popup);
|
||||
}
|
||||
if(JSON.parse(mess.data).body.type=="reaction"){
|
||||
console.log("refresh")
|
||||
reactRefresh(acct_id,obj.body.note.id)
|
||||
}
|
||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.body.id+"]").length){
|
||||
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
||||
$("div[data-const=notf_"+acct_id+"]").prepend(templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
}else if (data.body.type == "note") {
|
||||
var tlid=data.body.id*1
|
||||
var multi = localStorage.getItem("column");
|
||||
var col = JSON.parse(multi)[tlid];
|
||||
if(localStorage.getItem("voice_" + tlid)){
|
||||
var voice=true;
|
||||
}else{
|
||||
var voice=false;
|
||||
}
|
||||
if (voice) {
|
||||
say(obj.text)
|
||||
}
|
||||
var templete = misskeyParse([obj], col.type, acct_id, tlid, "", mute);
|
||||
misskeyws[wsid].send(JSON.stringify({
|
||||
type: 'sn',
|
||||
body: {
|
||||
id: obj.id
|
||||
}
|
||||
}))
|
||||
var pool = localStorage.getItem("pool_" + tlid);
|
||||
if (pool) {
|
||||
pool = templete + pool;
|
||||
} else {
|
||||
pool = templete
|
||||
}
|
||||
localStorage.setItem("pool_" + tlid, pool);
|
||||
scrollck();
|
||||
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();
|
||||
$("#pub_"+data.body.id).remove();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
misskeyws[wsid].onerror = function (error) {
|
||||
console.error("Error closing");
|
||||
console.error(error);
|
||||
misskeywsstate[wsid]=false
|
||||
connectMisskey(acct_id)
|
||||
return false;
|
||||
};
|
||||
misskeyws[wsid].onclose = function () {
|
||||
console.log("Closing");
|
||||
console.log(tlid);
|
||||
misskeywsstate[wsid]=false
|
||||
connectMisskey(acct_id)
|
||||
return false;
|
||||
};
|
||||
|
||||
}
|
|
@ -15,12 +15,11 @@ function notfColumn(acct_id, tlid, sys){
|
|||
native="yes";
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
console.log(start)
|
||||
var httpreq = new XMLHttpRequest();
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
var misskey=true;
|
||||
var start = "https://" + domain + "/api/i/notifications";
|
||||
httpreq.open(POST, start, true);
|
||||
httpreq.open("POST", start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
var body=JSON.stringify({
|
||||
i:at
|
||||
|
@ -44,7 +43,10 @@ function notfColumn(acct_id, tlid, sys){
|
|||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
|
||||
var max_id = httpreq.getResponseHeader("link");
|
||||
if(max_id){
|
||||
max_id=max_id.match(/[?&]{1}max_id=([0-9]+)/)[1]
|
||||
}
|
||||
if(json[0]){
|
||||
var templete="";
|
||||
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
|
||||
|
@ -202,7 +204,11 @@ function notfCommon(acct_id, tlid, sys) {
|
|||
}
|
||||
$("#notf-box").addClass("fetched");
|
||||
todc();
|
||||
notfWS(misskey,acct_id,tlid,domain,at)
|
||||
});
|
||||
|
||||
}
|
||||
function notfWS(misskey,acct_id,tlid,domain,at){
|
||||
if(!misskey){
|
||||
if(localStorage.getItem("streaming_" + acct_id)){
|
||||
var wss=localStorage.getItem("streaming_" + acct_id)
|
||||
|
@ -211,10 +217,6 @@ function notfCommon(acct_id, tlid, sys) {
|
|||
}
|
||||
var start = wss + "/api/v1/streaming/?stream=user&access_token=" +
|
||||
at;
|
||||
}else{
|
||||
var start = "wss://" + domain + "/?i=" +
|
||||
at;
|
||||
}
|
||||
|
||||
console.log(start);
|
||||
var wsid = websocketNotf.length;
|
||||
|
@ -233,32 +235,6 @@ function notfCommon(acct_id, tlid, sys) {
|
|||
popup = 0;
|
||||
}
|
||||
console.log(domain)
|
||||
if(misskey){
|
||||
console.log("misskey")
|
||||
console.log(JSON.parse(mess.data));
|
||||
if (JSON.parse(mess.data).type == "notification") {
|
||||
var obj = JSON.parse(mess.data).body;
|
||||
console.log(obj);
|
||||
if(obj.type!="follow"){
|
||||
|
||||
templete = misskeyParse([obj], 'notf', acct_id, 'notf', popup);
|
||||
}else{
|
||||
templete = misskeyUserparse([obj], 'notf', acct_id, 'notf', popup);
|
||||
}
|
||||
if(obj.type=="reaction"){
|
||||
console.log("refresh")
|
||||
reactRefresh(acct_id,obj.note.id)
|
||||
}
|
||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
||||
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
||||
$("div[data-const=notf_"+acct_id+"]").prepend(templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
}else if(JSON.parse(mess.data).type == "note-updated"){
|
||||
var obj = JSON.parse(mess.data).body.note;
|
||||
reactRefreshCore(obj)
|
||||
}
|
||||
}else{
|
||||
var obj = JSON.parse(JSON.parse(mess.data).payload);
|
||||
console.log(obj);
|
||||
var type = JSON.parse(mess.data).event;
|
||||
|
@ -280,11 +256,12 @@ function notfCommon(acct_id, tlid, sys) {
|
|||
$("[toot-id=" + obj + "]").remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
websocketNotf[acct_id].onerror = function(error) {
|
||||
console.error('WebSocket Error ' + error);
|
||||
notfWS(misskey,acct_id,tlid,domain,at)
|
||||
};
|
||||
}
|
||||
}
|
||||
//一定のスクロールで発火
|
||||
function notfmore(tlid) {
|
||||
console.log(moreloading);
|
||||
|
|
|
@ -585,7 +585,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
|||
var sense = "sensitive"
|
||||
var blur=media.blurhash
|
||||
if(blur){
|
||||
nsfwmes='<span class="gray">NSFW media</span>'
|
||||
nsfwmes='<div class="nsfw-media">NSFW media</div>'
|
||||
purl=parseBlur(blur)
|
||||
var sense=""
|
||||
}
|
||||
|
@ -595,9 +595,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
|||
}
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
|
||||
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
'" data-type="' + media.type + '" class="img-parsed"><img draggable="false" src="' +
|
||||
'" data-type="' + media.type + '" class="img-parsed img-link" style="width:calc(' + cwdt + '% - 1px); height:'+imh+';"><img draggable="false" src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="width:calc(' + cwdt + '% - 1px); height:'+imh+';"></a>'+nsfwmes;
|
||||
' toot-img pointer">'+nsfwmes+'</a>';
|
||||
|
||||
});
|
||||
media_ids = media_ids.slice(0, -1) ;
|
||||
|
@ -872,6 +872,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)
|
||||
if(!toot.username){
|
||||
var raw=toot;
|
||||
toot=toot.account;
|
||||
|
@ -885,10 +886,11 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
|||
var locked = "";
|
||||
}
|
||||
if (auth) {
|
||||
var auth = '<i class="material-icons gray pointer" onclick="request(\'' +
|
||||
toot.id + '\',\'authorize\',' + acct_id + ')">person_add</i>';
|
||||
var authhtml = '<i class="material-icons gray pointer" onclick="request(\'' +
|
||||
toot.id + '\',\'authorize\',' + acct_id + ')" title="Accept">person_add</i> <i class="material-icons gray pointer" onclick="request(\'' +
|
||||
toot.id + '\',\'reject\',' + acct_id + ')" title="Reject">person_add_disabled</i>';
|
||||
} else {
|
||||
var auth = "";
|
||||
var authhtml = "";
|
||||
}
|
||||
var ftxt=lang.lang_parse_followed;
|
||||
if(!locale && localStorage.getItem("followlocale_" + acct_id)){
|
||||
|
@ -974,13 +976,13 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
|||
'<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;user-select:auto; cursor:text;"> @' +
|
||||
toot.acct + locked + auth +'</span>' +
|
||||
toot.acct + locked +'</span>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div style="justify-content:space-around" class="area-toot"> <div class="cbadge" style="width:100px;">Follows:' +
|
||||
toot.following_count +
|
||||
'</div><div class="cbadge" style="width:100px;">Followers:' + toot.followers_count +
|
||||
'</div>' +
|
||||
'</div>' + authhtml+
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
|
@ -992,7 +994,6 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
|||
function client(name) {
|
||||
if(name!="Unknown"){
|
||||
//聞く
|
||||
localStorage.removeItem("client_mute");
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
|
@ -1035,7 +1036,7 @@ function client(name) {
|
|||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
var obj=[];
|
||||
obj=[];
|
||||
}
|
||||
obj.push(name);
|
||||
var json = JSON.stringify(obj);
|
||||
|
|
|
@ -164,34 +164,14 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
|||
localStorage.setItem("now", type);
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
var misskey = true;
|
||||
console.log(type);
|
||||
if (type == "home") {
|
||||
var start = "wss://" + domain +
|
||||
"/?i=" + at;
|
||||
} else if (type == "pub") {
|
||||
var start = "wss://" + domain +
|
||||
"/global-timeline?i=" + at;
|
||||
} else if (type == "pub-media") {
|
||||
var start = "wss://" + domain +
|
||||
"/global-timeline?i=" + at;
|
||||
} else if (type == "local") {
|
||||
var start = "wss://" + domain +
|
||||
"/local-timeline?i=" + at;
|
||||
} else if (type == "local-media") {
|
||||
var start = "wss://" + domain +
|
||||
"/local-timeline?i=" + at;
|
||||
} else if (type == "mix") {
|
||||
var start = "wss://" + domain +
|
||||
"/hybrid-timeline?i=" + at;
|
||||
} else if (type == "tag") {
|
||||
Materialize.toast(lang.lang_misskeyparse_tagnostr, 3000);
|
||||
} else if (type == "noauth") {
|
||||
var start = "wss://" + acct_id +
|
||||
"/local-timeline?i=" + at;
|
||||
} else if (type=="list"){
|
||||
var start = "wss://" + domain +
|
||||
"/user-list?i=" + at+"&listId="+data;
|
||||
var key = localStorage.getItem("misskey_wss_" + acct_id)
|
||||
var send = '{"type":"connect","body":{"channel":"' + typePs(type) + '","id":"' + tlid + '"}}'
|
||||
var mskyset = setInterval(function () {
|
||||
if (misskeywsstate[key]) {
|
||||
misskeyws[key].send(send)
|
||||
clearInterval(mskyset)
|
||||
}
|
||||
}, 100);
|
||||
} else {
|
||||
var misskey = false;
|
||||
if (localStorage.getItem("streaming_" + acct_id)) {
|
||||
|
@ -233,8 +213,6 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
|||
var start = wss +
|
||||
"/api/v1/streaming/?stream=direct&access_token=" + at;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(start);
|
||||
var wsid = websocket.length;
|
||||
localStorage.setItem("wss_" + tlid, wsid);
|
||||
|
@ -351,7 +329,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
|||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//一定のスクロールで発火
|
||||
|
@ -619,7 +597,13 @@ function tlCloser() {
|
|||
}
|
||||
|
||||
});
|
||||
websocketNotf = [];
|
||||
Object.keys(misskeyws).forEach(function (tlid) {
|
||||
if (misskeyws[tlid]) {
|
||||
misskeyws[tlid].close();
|
||||
console.log("Close Streaming API:Misskey" + tlid);
|
||||
}
|
||||
});
|
||||
misskeyws={}
|
||||
}
|
||||
|
||||
//TLのタイトル
|
||||
|
@ -710,6 +694,24 @@ function com(type, data) {
|
|||
return "direct?"
|
||||
}
|
||||
}
|
||||
//Misskey
|
||||
function typePs(type) {
|
||||
if (type == "home") {
|
||||
return "homeTimeline"
|
||||
} else if (type == "local" || type == "noauth") {
|
||||
return "localTimeline"
|
||||
} else if (type == "local-media") {
|
||||
return "localTimeline"
|
||||
} else if (type == "pub") {
|
||||
return "globalTimeline"
|
||||
} else if (type == "mix") {
|
||||
return "hybridTimeline"
|
||||
} else if (type == "tag") {
|
||||
return "hashtag"
|
||||
} else if (type == "list") {
|
||||
return "userList"
|
||||
}
|
||||
}
|
||||
function misskeycom(type, data) {
|
||||
if (type == "home") {
|
||||
return "timeline"
|
||||
|
|
|
@ -20,7 +20,7 @@ $('.type').click(function() {
|
|||
$("#type-sel").val($(this).attr("data-type"))
|
||||
})
|
||||
//最初、カラム変更時に発火
|
||||
function parseColumn() {
|
||||
function parseColumn(dontclose) {
|
||||
console.log("parse");
|
||||
var size = localStorage.getItem("size");
|
||||
if (size) {
|
||||
|
@ -31,7 +31,10 @@ function parseColumn() {
|
|||
if(localStorage.getItem("menu-done")){
|
||||
$("#fukidashi").addClass("hide")
|
||||
}
|
||||
if(!dontclose){
|
||||
tlCloser();
|
||||
}
|
||||
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (multi) {
|
||||
var obj = JSON.parse(multi);
|
||||
|
@ -49,6 +52,11 @@ function parseColumn() {
|
|||
ckdb(key);
|
||||
//フィルターデータ読もう
|
||||
getFilter(key);
|
||||
var domain = localStorage.getItem("domain_" + key);
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
localStorage.removeItem("misskey_wss_" + key)
|
||||
connectMisskey(key)
|
||||
}
|
||||
});
|
||||
}
|
||||
var acctlist=obj;
|
||||
|
@ -160,7 +168,7 @@ function parseColumn() {
|
|||
'<input type="checkbox" class="filled-in" id="exc-fav-'+key+'" '+excludeCk(key,"favourite")+' /><label for="exc-fav-'+key+'" class="exc-chb"><i class="fas fa-star exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-bt-'+key+'" '+excludeCk(key,"reblog")+' /><label for="exc-bt-'+key+'" class="exc-chb" ><i class="fas fa-retweet exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-follow-'+key+'" '+excludeCk(key,"follow")+' /><label for="exc-follow-'+key+'" class="exc-chb" ><i class="fas fa-users exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-follow-'+key+'" '+excludeCk(key,"poll")+' /><label for="exc-poll-'+key+'" class="exc-chb" ><i class="fas fa-tasks exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-poll-'+key+'" '+excludeCk(key,"poll")+' /><label for="exc-poll-'+key+'" class="exc-chb" ><i class="fas fa-tasks exc-icons"></i></label> '+
|
||||
'<button class="btn waves-effect" style="width:60px; padding:0;" onclick="exclude('+key+')">Filter</button><br>';
|
||||
}else if(acct.type=="home"){
|
||||
var exclude='<a onclick="ebtToggle(' + key +
|
||||
|
@ -180,9 +188,17 @@ function parseColumn() {
|
|||
if(key===0){
|
||||
left_hold='';
|
||||
}
|
||||
if(localStorage.getItem("mode_" + localStorage.getItem("domain_" + acct.domain))=="misskey"){
|
||||
var isMisRed=""
|
||||
exclude=""
|
||||
var if_misskey_hide="hide"
|
||||
}else{
|
||||
var isMisRed="red-text"
|
||||
var if_misskey_hide=""
|
||||
}
|
||||
var html='<div class="boxIn" id="timeline_box_' + key + '_box" tlid="' + key +
|
||||
'" data-acct="'+acct.domain+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+' ">'+
|
||||
'<div class="area-notice"><i class="material-icons waves-effect red-text" id="notice_icon_' + key + '"'+notf_attr+' style="font-size:40px; padding-top:25%;" onclick="checkStr(\''+acct.type+'\', \''+data+'\', \''+acct.domain+'\', \''+key+'\', \''+delc+'\',\''+voice+'\',null)" title="'+lang.lang_layout_gotop +'"></i></div>'+
|
||||
'<div class="area-notice"><i class="material-icons waves-effect '+isMisRed+'" id="notice_icon_' + key + '"'+notf_attr+' style="font-size:40px; padding-top:25%;" onclick="checkStr(\''+acct.type+'\', \''+data+'\', \''+acct.domain+'\', \''+key+'\', \''+delc+'\',\''+voice+'\',null)" title="'+lang.lang_layout_gotop +'"></i></div>'+
|
||||
'<div class="area-notice_name"><span id="notice_' + key + '" class="tl-title"></span></div>'+
|
||||
'<div class="area-a1"><a onclick="notfToggle(' + acct.domain + ',' + key +
|
||||
')" class="setting nex '+if_notf+'" title="'+unique_notf+'"'+icnsert+'><i class="material-icons waves-effect nex notf-icon_' +
|
||||
|
@ -201,7 +217,7 @@ function parseColumn() {
|
|||
key + '">On</span></a>'+lang.lang_layout_linkana +'<br><a onclick="voiceToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_tts +'">hearing</i><span id="sta-voice-' +
|
||||
key + '">On</span></a>'+lang.lang_layout_tts +'TL<br><a onclick="reconnector(' + key +
|
||||
',\''+acct.type+'\',\''+acct.domain+'\',\''+escapeHTML(acct.data)+'\')" class="setting nex '+if_notf+'"><i class="material-icons waves-effect nex '+if_notf+'" title="'+lang.lang_layout_reconnect+'">low_priority</i></a><span class="'+if_notf+'">'+lang.lang_layout_reconnect+'</span><br>'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
',\''+acct.type+'\',\''+acct.domain+'\',\''+escapeHTML(acct.data)+'\')" class="setting nex '+if_notf+' '+if_misskey_hide+'"><i class="material-icons waves-effect nex '+if_notf+'" title="'+lang.lang_layout_reconnect+'">low_priority</i></a><span class="'+if_notf+'">'+lang.lang_layout_reconnect+'</span><br>'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
'" class="tl '+acct.type+'-timeline " tlid="' + key + '" data-type="' + acct.type + '" data-acct="'+acct.domain+'" data-const="' + acct.type + '_'+acct.domain+'"><div id="landing_'+key+'" style="text-align:center">'+lang.lang_layout_nodata +'</div></div></div>'
|
||||
$('#timeline_box_' + basekey + '_parentBox').append(html);
|
||||
localStorage.removeItem("pool_" + key);
|
||||
|
|
|
@ -141,12 +141,13 @@ function climute(){
|
|||
return;
|
||||
}
|
||||
var templete;
|
||||
console.log(obj)
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var cli = obj[key];
|
||||
var list = key * 1 + 1;
|
||||
templete = '<div class="acct" id="acct_' + key + '">' + list +
|
||||
'.' +
|
||||
cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
|
||||
escapeHTML(cli) + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
|
||||
key + ')">'+lang.lang_del+'</button><br></div>';
|
||||
$("#mute-cli").append(templete);
|
||||
});
|
||||
|
@ -158,7 +159,7 @@ function cliMuteDel(key){
|
|||
obj.splice(key, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
mute();
|
||||
climute();
|
||||
}
|
||||
|
||||
function wordmute(){
|
||||
|
|
|
@ -438,10 +438,11 @@ function showReq(more, acct_id) {
|
|||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
var templete = userparse(json, 'true',acct_id);
|
||||
|
||||
if(localStorage.getItem("mode_" + domain)!="misskey"){
|
||||
var templete = userparse(json, true,acct_id);
|
||||
}else{
|
||||
var templete = misskeyUserparse(json, 'true',acct_id);
|
||||
var templete = misskeyUserparse(json, true,acct_id);
|
||||
}
|
||||
|
||||
if(!json[0]){
|
||||
|
|
|
@ -73,7 +73,7 @@ function system(mainWindow, dir, lang) {
|
|||
var ver = app.getVersion()
|
||||
var window = new BrowserWindow({
|
||||
width: 300,
|
||||
height: 460,
|
||||
height: 480,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "thedesk",
|
||||
"version": "18.3.3",
|
||||
"version": "18.4.0",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"repository": "https://github.com/cutls/TheDesk",
|
||||
"main": "main.js",
|
||||
|
@ -11,15 +11,15 @@
|
|||
"build:all": "electron-builder --win --linux",
|
||||
"build:win": "electron-builder --win"
|
||||
},
|
||||
"keywords": [],
|
||||
"keywords": ["mastodon","client","electron","thedesk"],
|
||||
"bugs": {
|
||||
"url": "https://github.com/cutls/TheDesk/issues",
|
||||
"email": "mstdn@thedesk.top"
|
||||
"email": "web-pro@cutls.com"
|
||||
},
|
||||
"homepage": "https://thedesk.top",
|
||||
"author": {
|
||||
"name": "Cutls",
|
||||
"url": "https://kirishima.clooud/@Cutls",
|
||||
"url": "https://cutls.com/@Cutls",
|
||||
"email": "web-pro@cutls.com"
|
||||
},
|
||||
"contributor": [
|
||||
|
@ -99,12 +99,12 @@
|
|||
]
|
||||
},
|
||||
"electronDownload": {
|
||||
"version": "4.1.4"
|
||||
"version": "4.2.0"
|
||||
},
|
||||
"electronVersion": "4.1.4"
|
||||
"electronVersion": "4.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^4.1.4",
|
||||
"electron": "^4.2.0",
|
||||
"electron-builder": "^20.39.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver = "Usamin (18.3.3)";
|
||||
var ver = "Usamin (18.4.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
|
@ -652,24 +652,21 @@
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-3-3" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-4-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.3.3)</h5>
|
||||
・不具合修正<br>
|
||||
・blurhashに対応(2.8.1~)<br>
|
||||
18.3.2<br>
|
||||
・絵文字の描画修正<br>
|
||||
・旗系絵文字の入力修正<br>
|
||||
・このトゥートより後ローカルタイムライン<br>
|
||||
・このトゥートより後ユーザータイムライン<br>
|
||||
・このトゥートより後連合タイムライン<br>
|
||||
・Notestock公開時にリンクを表示<br>
|
||||
<h5>Release Note Usamin (18.4.0)</h5>
|
||||
・ソフトウェア(通知音などのアセットを含むTheDeskオリジナル制作物)のコピーライトをTheDeskに統一。Cutls PをMain Developer(author)に。<br>
|
||||
・Misskey v11のストリーミングに対応(初期取得の投稿のリアクションは自動取得できません。)<br>
|
||||
・その他Misskeyのさまざまな挙動を修正、追加しました。<br>
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<br>
|
||||
・フォローリクエストの許可/拒否ができるように。<br>
|
||||
・起動時に通知のストリーミングにつながらない不具合を修正<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="release-en">
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
<a href="https://translate.thedesk.top">Crowdin translation project</a>
|
||||
</div>
|
||||
|
@ -685,7 +682,7 @@
|
|||
Amazon Wish List
|
||||
</a>
|
||||
<br>
|
||||
Give me Amazon Gift Card:<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a><br>
|
||||
Give me Amazon Gift Card:<a href="mailto:web-pro@cutls.com" target="_blank">web-pro@cutls.com</a><br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
</div>
|
||||
|
|
|
@ -422,7 +422,7 @@
|
|||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer">Check update</a><br>
|
||||
<a href="oss.html">OSS License</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver = "Usamin (18.3.3)";
|
||||
var ver = "Usamin (18.4.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
|
@ -652,24 +652,21 @@
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-3-3" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-4-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.3.3)</h5>
|
||||
・不具合修正<br>
|
||||
・blurhashに対応(2.8.1~)<br>
|
||||
18.3.2<br>
|
||||
・絵文字の描画修正<br>
|
||||
・旗系絵文字の入力修正<br>
|
||||
・このトゥートより後ローカルタイムライン<br>
|
||||
・このトゥートより後ユーザータイムライン<br>
|
||||
・このトゥートより後連合タイムライン<br>
|
||||
・Notestock公開時にリンクを表示<br>
|
||||
<h5>Release Note Usamin (18.4.0)</h5>
|
||||
・ソフトウェア(通知音などのアセットを含むTheDeskオリジナル制作物)のコピーライトをTheDeskに統一。Cutls PをMain Developer(author)に。<br>
|
||||
・Misskey v11のストリーミングに対応(初期取得の投稿のリアクションは自動取得できません。)<br>
|
||||
・その他Misskeyのさまざまな挙動を修正、追加しました。<br>
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<br>
|
||||
・フォローリクエストの許可/拒否ができるように。<br>
|
||||
・起動時に通知のストリーミングにつながらない不具合を修正<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="release-en">
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
<a href="https://translate.thedesk.top">Crowdin translation project</a>
|
||||
</div>
|
||||
|
@ -685,7 +682,7 @@
|
|||
Amazonほしいものリスト
|
||||
</a>
|
||||
<br>
|
||||
<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>にAmazonギフトカードを送る<br>
|
||||
<a href="mailto:web-pro@cutls.com" target="_blank">web-pro@cutls.com</a>にAmazonギフトカードを送る<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
</div>
|
||||
|
|
|
@ -422,7 +422,7 @@
|
|||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer">アップデートを確認</a><br>
|
||||
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
|
|
|
@ -652,24 +652,21 @@
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-3-3" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-4-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.3.3)</h5>
|
||||
・不具合修正<br>
|
||||
・blurhashに対応(2.8.1~)<br>
|
||||
18.3.2<br>
|
||||
・絵文字の描画修正<br>
|
||||
・旗系絵文字の入力修正<br>
|
||||
・このトゥートより後ローカルタイムライン<br>
|
||||
・このトゥートより後ユーザータイムライン<br>
|
||||
・このトゥートより後連合タイムライン<br>
|
||||
・Notestock公開時にリンクを表示<br>
|
||||
<h5>Release Note Usamin (18.4.0)</h5>
|
||||
・ソフトウェア(通知音などのアセットを含むTheDeskオリジナル制作物)のコピーライトをTheDeskに統一。Cutls PをMain Developer(author)に。<br>
|
||||
・Misskey v11のストリーミングに対応(初期取得の投稿のリアクションは自動取得できません。)<br>
|
||||
・その他Misskeyのさまざまな挙動を修正、追加しました。<br>
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<br>
|
||||
・フォローリクエストの許可/拒否ができるように。<br>
|
||||
・起動時に通知のストリーミングにつながらない不具合を修正<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="release-en">
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
<a href="https://translate.thedesk.top">Crowdin translation project</a>
|
||||
</div>
|
||||
|
@ -685,7 +682,7 @@
|
|||
@@AWLSupport@@
|
||||
</a>
|
||||
<br>
|
||||
@@SendAmazonGift1@@<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>@@SendAmazonGift2@@<br>
|
||||
@@SendAmazonGift1@@<a href="mailto:web-pro@cutls.com" target="_blank">web-pro@cutls.com</a>@@SendAmazonGift2@@<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const fs = require("fs")
|
||||
const ver="Usamin (18.3.3)"
|
||||
const ver="Usamin (18.4.0)"
|
||||
const langs=["ja","en","ps"]
|
||||
const langsh=["日本語","English","Crowdin translate system(beta)"]
|
||||
const simples=["acct","index","setting","update","setting"]
|
||||
|
|
|
@ -422,7 +422,7 @@
|
|||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer">@@checkup@@</a><br>
|
||||
<a href="oss.html">OSS License@@ossJP@@</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver = "Usamin (18.3.3)";
|
||||
var ver = "Usamin (18.4.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
|
@ -652,24 +652,21 @@
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-3-3" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-4-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.3.3)</h5>
|
||||
・不具合修正<br>
|
||||
・blurhashに対応(2.8.1~)<br>
|
||||
18.3.2<br>
|
||||
・絵文字の描画修正<br>
|
||||
・旗系絵文字の入力修正<br>
|
||||
・このトゥートより後ローカルタイムライン<br>
|
||||
・このトゥートより後ユーザータイムライン<br>
|
||||
・このトゥートより後連合タイムライン<br>
|
||||
・Notestock公開時にリンクを表示<br>
|
||||
<h5>Release Note Usamin (18.4.0)</h5>
|
||||
・ソフトウェア(通知音などのアセットを含むTheDeskオリジナル制作物)のコピーライトをTheDeskに統一。Cutls PをMain Developer(author)に。<br>
|
||||
・Misskey v11のストリーミングに対応(初期取得の投稿のリアクションは自動取得できません。)<br>
|
||||
・その他Misskeyのさまざまな挙動を修正、追加しました。<br>
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<br>
|
||||
・フォローリクエストの許可/拒否ができるように。<br>
|
||||
・起動時に通知のストリーミングにつながらない不具合を修正<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="release-en">
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
<a href="https://translate.thedesk.top">Crowdin translation project</a>
|
||||
</div>
|
||||
|
@ -685,7 +682,7 @@
|
|||
crwdns476:0crwdne476:0
|
||||
</a>
|
||||
<br>
|
||||
crwdns477:0crwdne477:0<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>crwdns478:0crwdne478:0<br>
|
||||
crwdns477:0crwdne477:0<a href="mailto:web-pro@cutls.com" target="_blank">web-pro@cutls.com</a>crwdns478:0crwdne478:0<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
</div>
|
||||
|
|
|
@ -422,7 +422,7 @@
|
|||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer">crwdns667:0crwdne667:0</a><br>
|
||||
<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
|
|
Loading…
Reference in New Issue
Block a user