TheDesk Usamin (18.4.0)
This commit is contained in:
parent
a636c745e4
commit
07b203b719
|
@ -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>
|
||||
|
|
|
@ -33,11 +33,6 @@ function ck() {
|
|||
var acct=obj[key];
|
||||
if(acct.domain){
|
||||
refresh(key,true)
|
||||
var domain = localStorage.getItem("domain_" + key);
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
localStorage.removeItem("misskey_wss_" + key)
|
||||
connectMisskey(key)
|
||||
}
|
||||
}
|
||||
});
|
||||
if (obj[0].domain) {
|
||||
|
@ -48,7 +43,9 @@ if (obj[0].domain) {
|
|||
}
|
||||
}
|
||||
}
|
||||
ck();
|
||||
ck();
|
||||
|
||||
|
||||
//ログインポップアップ
|
||||
function login(url) {
|
||||
if($('#linux:checked').val()=="on"){
|
||||
|
@ -505,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);
|
||||
}
|
||||
|
||||
//バージョンエンコ
|
||||
|
|
|
@ -976,9 +976,6 @@ function goGoogle(id) {
|
|||
var misskeyws=[]
|
||||
var misskeywsstate=[]
|
||||
function connectMisskey(acct_id) {
|
||||
console.log("C Msky:"+acct_id)
|
||||
|
||||
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "wss://" + domain +
|
||||
|
@ -1034,6 +1031,12 @@ function connectMisskey(acct_id) {
|
|||
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;
|
||||
|
@ -1043,38 +1046,29 @@ function connectMisskey(acct_id) {
|
|||
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
|
||||
if (mode == "error") {
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Error ' + error);
|
||||
} else {
|
||||
var errorct = localStorage.getItem("wserror_" + tlid) * 1 + 1;
|
||||
localStorage.setItem("wserror_" + tlid, errorct);
|
||||
if (errorct < 3) {
|
||||
//reconnector(tlid, type, acct_id, data, "error");
|
||||
}
|
||||
}
|
||||
connectMisskey(acct_id)
|
||||
return false;
|
||||
};
|
||||
misskeyws[wsid].onclose = function () {
|
||||
console.log("Closing");
|
||||
console.log(tlid);
|
||||
misskeywsstate[wsid]=false
|
||||
if (mode == "error") {
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
todo('WebSocket Closed');
|
||||
} else {
|
||||
var errorct = localStorage.getItem("wserror_" + tlid) * 1 + 1;
|
||||
localStorage.setItem("wserror_" + tlid, errorct);
|
||||
if (errorct < 3) {
|
||||
//reconnector(tlid, type, acct_id, data, "error");
|
||||
}
|
||||
}
|
||||
connectMisskey(acct_id)
|
||||
return false;
|
||||
};
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ 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;
|
||||
|
@ -205,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)
|
||||
|
@ -255,6 +258,7 @@ function notfCommon(acct_id, tlid, sys) {
|
|||
}
|
||||
websocketNotf[acct_id].onerror = function(error) {
|
||||
console.error('WebSocket Error ' + error);
|
||||
notfWS(misskey,acct_id,tlid,domain,at)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -887,8 +887,8 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
|||
}
|
||||
if (auth) {
|
||||
var authhtml = '<i class="material-icons gray pointer" onclick="request(\'' +
|
||||
toot.id + '\',\'authorize\',' + acct_id + ')">person_add</i> <i class="material-icons gray pointer" onclick="request(\'' +
|
||||
toot.id + '\',\'reject\',' + acct_id + ')">person_add_disabled</i>';
|
||||
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 authhtml = "";
|
||||
}
|
||||
|
|
854
app/js/tl/tl.js
854
app/js/tl/tl.js
File diff suppressed because it is too large
Load Diff
|
@ -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,11 +31,14 @@ function parseColumn() {
|
|||
if(localStorage.getItem("menu-done")){
|
||||
$("#fukidashi").addClass("hide")
|
||||
}
|
||||
tlCloser();
|
||||
if(!dontclose){
|
||||
tlCloser();
|
||||
}
|
||||
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (multi) {
|
||||
var obj = JSON.parse(multi);
|
||||
|
||||
|
||||
var templete;
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var acct = obj[key];
|
||||
|
@ -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;
|
||||
|
|
|
@ -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": [
|
||||
|
|
|
@ -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.4)";
|
||||
var ver = "Usamin (18.4.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
|
@ -652,18 +652,20 @@
|
|||
<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>
|
||||
・Misskey v11のストリーミングに対応(ただし、投稿のリアクションの自動反映が利用できません)<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」の文字が邪魔で複数段になる不具合を修正
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<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>
|
||||
|
|
|
@ -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.4)";
|
||||
var ver = "Usamin (18.4.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
|
@ -652,18 +652,20 @@
|
|||
<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>
|
||||
・Misskey v11のストリーミングに対応(ただし、投稿のリアクションの自動反映が利用できません)<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」の文字が邪魔で複数段になる不具合を修正
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<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>
|
||||
|
|
|
@ -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,18 +652,20 @@
|
|||
<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>
|
||||
・Misskey v11のストリーミングに対応(ただし、投稿のリアクションの自動反映が利用できません)<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」の文字が邪魔で複数段になる不具合を修正
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<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>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const fs = require("fs")
|
||||
const ver="Usamin (18.3.4)"
|
||||
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.4)";
|
||||
var ver = "Usamin (18.4.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
|
@ -652,18 +652,20 @@
|
|||
<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>
|
||||
・Misskey v11のストリーミングに対応(ただし、投稿のリアクションの自動反映が利用できません)<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」の文字が邪魔で複数段になる不具合を修正
|
||||
・NSFWメディアが複数あったときに「NSFW Media」の文字が邪魔で複数段になる不具合を修正。<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>
|
||||
|
|
|
@ -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