Merge pull request #68 from cutls/WIP-(before-CI)

18.4.0
This commit is contained in:
Cutls 2019-05-11 01:36:07 +09:00 committed by GitHub
commit c5f712359d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 1249 additions and 1141 deletions

View File

@ -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 &copy; <a href="https://cutls.com/@Cutls" target="_blank">Cutls P</a> 2018 All rights reserved.<br>
<div class="cp">Copyright &copy; 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>

View File

@ -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);

View File

@ -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);

View File

@ -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);
}
//バージョンエンコ

View File

@ -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() {

View File

@ -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])
}
});
}

View File

@ -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;
};
}

View File

@ -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);

View File

@ -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);

View File

@ -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"

View File

@ -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);

View File

@ -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(){

View File

@ -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]){

View File

@ -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

View File

@ -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"
}
}

View File

@ -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>

View File

@ -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 &copy; Cutls P 2018 All Rights Reserved.
<span style="font-family:Open Sans;">Copyright &copy; 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>

View File

@ -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>

View File

@ -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 &copy; Cutls P 2018 All Rights Reserved.
<span style="font-family:Open Sans;">Copyright &copy; 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>

View File

@ -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>

View File

@ -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"]

View File

@ -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 &copy; Cutls P 2018 All Rights Reserved.
<span style="font-family:Open Sans;">Copyright &copy; 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>

View File

@ -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>

View File

@ -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 &copy; Cutls P 2018 All Rights Reserved.
<span style="font-family:Open Sans;">Copyright &copy; 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>