TheDesk Akane (16.0.4)

This commit is contained in:
cutls 2018-08-10 00:18:35 +09:00
parent 1ac79f21ae
commit edd712b6ba
11 changed files with 133 additions and 51 deletions

View File

@ -1,4 +1,5 @@
# TheDesk # TheDesk
Mastodon/Misskey client for PC(Windows/Linux/macOS) Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのWindows/Linuxクライアント オープンソースSNSマストドン/MisskeyのWindows/Linuxクライアント
Download:[TheDesk](https://thedesk.top) Download:[TheDesk](https://thedesk.top)
@ -28,7 +29,6 @@ You cannot PR? You can also write Issues.
該当箇所がわからない場合はIssuesに書いてください. 該当箇所がわからない場合はIssuesに書いてください.
他言語も大歓迎です! 他言語も大歓迎です!
## Component/構成 ## Component/構成
app:Raw files(you can download to modify or check) app:Raw files(you can download to modify or check)
@ -40,8 +40,7 @@ desk.icns: macOS向けアイコン.セルフビルドにどうぞ.
## Requirement/環境 ## Requirement/環境
- Windows (to launch TheDesk/実行に必要) / Linux (x64/ia32/armv7l) - Electron 2.0.7
- Electron 2.0.5
- electron-dl - electron-dl
- Jimp - Jimp
- adm-zip - adm-zip
@ -62,11 +61,11 @@ Misskey(misskey.xyz)のトークンは含まれておりません。
electron-packager is required. electron-packagerが必要です. electron-packager is required. electron-packagerが必要です.
Windows Windows
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=2.0.5 --icon=.\app\thedesk.ico --overwrite` `electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=2.0.7 --icon=.\app\thedesk.ico --overwrite`
Linux Linux
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=2.0.5 --overwrite` `electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=2.0.7 --overwrite`
macOS macOS
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=2.0.5 --icon=./app/icon.icns --overwrite` `electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=2.0.7 --icon=./app/icon.icns --overwrite`
## See also/詳しく ## See also/詳しく

View File

@ -348,9 +348,13 @@ p:not(:last-child){
min-height: 100px; min-height: 100px;
max-height: 500px; max-height: 500px;
} }
.column-hide{
display:none;
overflow:hidden;
height:0;
}
.notf-indv-box { .notf-indv-box {
width:100%; width:100%;
min-height: 100px;
max-height: 400px; max-height: 400px;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;

View File

@ -26,7 +26,7 @@
<script type="text/javascript" src="./js/common/modal.js"></script> <script type="text/javascript" src="./js/common/modal.js"></script>
<script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script> <script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script>
<script> <script>
var ver="Akane (16.0.3)"; var ver="Akane (16.0.4)";
//betaを入れるとバージョンチェックしない //betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html) //GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta"; //var ver="beta";
@ -521,14 +521,20 @@ var lang="{{lang}}";
<h3>TheDesk</h3> <h3>TheDesk</h3>
<a href="https://thedesk.top" target="_blank">HP</a><br> <a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br><br> <a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br><br>
<div id="release-Akane_16-0-3" style="display:none"> <div id="release-Akane_16-0-4" style="display:none">
<h5>Release Note Akane (16.0.3)</h5> <h5>Release Note Akane (16.0.4)</h5>
<b>Mio->AkaneアップデートでTLが表示できなくなったユーザー様へ</b><br> <b>Mio->AkaneアップデートでTLが表示できなくなったユーザー様へ</b><br>
16.0.1で設定のインポート/エクスポートを実装いたしました。<br> 16.0.1で設定のインポート/エクスポートを実装いたしました。<br>
設定より一度エクスポートしていただき、もう一度インポートすることにより正常に動作すると思われます。<br> 設定より一度エクスポートしていただき、もう一度インポートすることにより正常に動作すると思われます。<br>
<u>開発環境でこのバグが再現できなかったため、あくまでも憶測による対処です。</u><br> <u>開発環境でこのバグが再現できなかったため、あくまでも憶測による対処です。</u><br>
<br> <br>
ご迷惑をおかけいたしましたことを深くお詫び申し上げます。<br> ご迷惑をおかけいたしましたことを深くお詫び申し上げます。<br>
16.0.4<br>
<ul>
<li>一部ロケールを追加</li>
<li>Misskeyの一部修正</li>
<li>アニメーションの変更</li>
</ul>
16.0.3<br> 16.0.3<br>
<ul> <ul>
<li>Misskey周りの改善</li> <li>Misskey周りの改善</li>

View File

@ -152,6 +152,21 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
"pudding":"🍮" "pudding":"🍮"
} }
var icon=reactions[toot.reaction]; var icon=reactions[toot.reaction];
var reactions=["like","love","laugh","hmm","surprise","congrats","angry","confused","pudding"];
for(var i=0;i<reactions.length;i++){
if(toot.note.reactionCounts[reactions[i]]){
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(toot.note.reactionCounts[reactions[i]])
$("#pub_" + id +" .re-"+reactions[i]).removeClass("hide")
}else{
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(0)
if($("#pub_" + id +" .reactions").hasClass("fullreact")){
$("#pub_" + id +" .re-"+reactions[i]).addClass("hide")
}else{
$("#pub_" + id +" .re-"+reactions[i]).removeClass("hide")
}
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(toot.note.reactionCounts[reactions[i]])
}
}
} }
var noticetext = '<span class="cbadge cbadge-hover"title="' + date(toot.createdAt, var noticetext = '<span class="cbadge cbadge-hover"title="' + date(toot.createdAt,
'absolute') + '('+lang_parse_notftime[lang]+')"><i class="fa fa-clock-o"></i>' + date(toot.createdAt, 'absolute') + '('+lang_parse_notftime[lang]+')"><i class="fa fa-clock-o"></i>' + date(toot.createdAt,

View File

@ -114,21 +114,28 @@ function mixre(acct_id, tlid, TLtype, mute,delc) {
} else if (type == "update") { } else if (type == "update") {
var templete = parse([obj], '', acct_id, tlid,"",mute); var templete = parse([obj], '', acct_id, tlid,"",mute);
if (!$("#timeline_"+tlid+" [toot-id="+obj.id+"]").length) { if($("#timeline_" + tlid +" [toot-id=" + obj.id + "]").length < 1){
if(voice){
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid,"",mute);
var pool = localStorage.getItem("pool_" + tlid); var pool = localStorage.getItem("pool_" + tlid);
if (pool && templete) { if (pool) {
pool = templete + pool; pool = templete + pool;
} else if (templete) { } else {
pool = templete pool = templete
}else{
pool="";
} }
localStorage.setItem("pool_" + tlid, pool); localStorage.setItem("pool_" + tlid, pool);
scrollck(); scrollck();
additional(acct_id, tlid); additional(acct_id, tlid);
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
todc(); }else{
}} todo("二重取得発生中");
}
}
} }
websocketHome[wshid].onmessage = function(mess) { websocketHome[wshid].onmessage = function(mess) {
console.log("Receive Streaming API:(Integrated:Home)"); console.log("Receive Streaming API:(Integrated:Home)");
@ -154,19 +161,25 @@ function mixre(acct_id, tlid, TLtype, mute,delc) {
var templete=""; var templete="";
} }
} }
if (!$("#timeline_"+tlid+" [toot-id="+obj.id+"]").length) { if($("#timeline_" + tlid +" [toot-id=" + obj.id + "]").length < 1){
if(voice){
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid,"",mute);
var pool = localStorage.getItem("pool_" + tlid); var pool = localStorage.getItem("pool_" + tlid);
if (pool && templete) { if (pool) {
pool = templete + pool; pool = templete + pool;
} else if (templete) { } else {
pool = templete pool = templete
}else{
pool="";
} }
localStorage.setItem("pool_" + tlid, pool); localStorage.setItem("pool_" + tlid, pool);
scrollck(); scrollck();
additional(acct_id, tlid); additional(acct_id, tlid);
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
}else{
todo("二重取得発生中");
} }
} }
} }

View File

@ -239,8 +239,29 @@ function notfmore(tlid) {
//通知トグルボタン //通知トグルボタン
function notfToggle(acct, tlid) { function notfToggle(acct, tlid) {
$("#notf-box_" + tlid).toggleClass("hide"); if($("#notf-box_" + tlid).hasClass("column-hide")){
$("#notf-box_" + tlid).toggleClass("show"); $("#notf-box_" + tlid).css("display","block")
$("#notf-box_" + tlid).animate({
'height': '400px'
},{
'duration': 300,
'complete': function(){
$("#notf-box_" + tlid).css("overflow-y","scroll")
$("#notf-box_" + tlid).removeClass("column-hide")
}
});
}else{
$("#notf-box_" + tlid).css("overflow-y","hidden")
$("#notf-box_" + tlid).animate({
'height': '0'
},{
'duration': 300,
'complete': function(){
$("#notf-box_" + tlid).addClass("column-hide")
$("#notf-box_" + tlid).css("display","none")
}
});
}
notfCanceler(acct) notfCanceler(acct)
} }
function notfCanceler(acct){ function notfCanceler(acct){

View File

@ -549,9 +549,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
'('+lang_parse_clickcopyurl[lang]+')"><i class="fa fa-clock-o"></i>' + '('+lang_parse_clickcopyurl[lang]+')"><i class="fa fa-clock-o"></i>' +
date(toot.created_at, datetype) + '</span>' + date(toot.created_at, datetype) + '</span>' +
'</div></div>' + '</div></div>' +
'<div class="area-toot"><span class="toot ' + spoiler + '">' + content + '<div class="area-toot"><span class="' +
'</span><span class="' +
api_spoil + ' cw_text_' + toot.id + '">' + spoil + spoiler_show + api_spoil + ' cw_text_' + toot.id + '">' + spoil + spoiler_show +
'</span><span class="toot ' + spoiler + '">' + content +
'</span>' + '</span>' +
'' + viewer + '' + '' + viewer + '' +
'</div><div class="area-additional"><span class="additional">' + analyze + '</div><div class="area-additional"><span class="additional">' + analyze +
@ -605,7 +605,6 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
//オブジェクトパーサー(ユーザーデータ) //オブジェクトパーサー(ユーザーデータ)
function userparse(obj, auth, acct_id, tlid, popup) { function userparse(obj, auth, acct_id, tlid, popup) {
console.log("notf-get")
//独自ロケール //独自ロケール
var locale = localStorage.getItem("locale"); var locale = localStorage.getItem("locale");
if(locale=="yes"){ if(locale=="yes"){
@ -616,6 +615,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var toot = obj[key]; var toot = obj[key];
if(!toot.username){ if(!toot.username){
var raw=toot;
toot=toot.account; toot=toot.account;
var notf=true; var notf=true;
}else{ }else{
@ -637,10 +637,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
ftxt = localStorage.getItem("follow_" + acct_id); ftxt = localStorage.getItem("follow_" + acct_id);
} }
if(popup > 0 || popup==-1 || notf){ if(popup > 0 || popup==-1 || notf){
var notftext='<span class="cbadge" title="' + date(toot.created_at, var notftext=ftxt+'<br>';
'absolute') + '('+lang_parse_notftime[lang]+')"><i class="fa fa-clock-o"></i>' + date(toot.created_at,
datetype) +
'</span>'+ftxt+'<br>';
}else{ }else{
var notftext=""; var notftext="";
} }

View File

@ -485,7 +485,11 @@ function cap(type, data, acct_id) {
} else if (type == "dm") { } else if (type == "dm") {
var response= "DM" var response= "DM"
} else if (type == "mix") { } else if (type == "mix") {
if(localStorage.getItem("domain_" + acct_id)=="misskey.xyz"){
var response= "Social TL"
}else{
var response= "Integrated" var response= "Integrated"
}
} else if (type == "plus") { } else if (type == "plus") {
var response= "Local+" var response= "Local+"
} }

View File

@ -119,9 +119,9 @@ function parseColumn() {
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_delthis[lang]+'"'+icnsert+'>cancel</i></a></div>'+ ')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_delthis[lang]+'"'+icnsert+'>cancel</i></a></div>'+
'<div class="area-a3"><a onclick="setToggle(' + key + '<div class="area-a3"><a onclick="setToggle(' + key +
')" class="setting nex" title="'+lang_layout_setthis[lang]+'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+ ')" class="setting nex" title="'+lang_layout_setthis[lang]+'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+
'<div class="hide notf-indv-box z-depth-4" id="notf-box_' + key + '<div class="column-hide notf-indv-box z-depth-4" id="notf-box_' + key +
'"><div id="notifications_' + key + '"><div id="notifications_' + key +
'" data-notf="' + acct.domain + '" data-type="notf"></div></div><div class="hide notf-indv-box" id="util-box_' + key + '" data-notf="' + acct.domain + '" data-type="notf"></div></div><div class="column-hide notf-indv-box" id="util-box_' + key +
'" style="padding:5px;"><a onclick="mediaToggle(' + key + '" style="padding:5px;"><a onclick="mediaToggle(' + key +
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_mediafil[lang]+'">perm_media</i><span id="sta-media-' + ')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_mediafil[lang]+'">perm_media</i><span id="sta-media-' +
key + '">On</span></a>'+lang_layout_mediafil[lang]+'<br><a onclick="cardToggle(' + key + key + '">On</span></a>'+lang_layout_mediafil[lang]+'<br><a onclick="cardToggle(' + key +
@ -254,8 +254,29 @@ function removeColumn(tlid) {
//設定トグル //設定トグル
function setToggle(tlid) { function setToggle(tlid) {
colorpicker(tlid); colorpicker(tlid);
$("#util-box_" + tlid).toggleClass("hide"); if($("#util-box_" + tlid).hasClass("column-hide")){
$("#util-box_" + tlid).toggleClass("show"); $("#util-box_" + tlid).css("display","block")
$("#util-box_" + tlid).animate({
'height': '200px'
},{
'duration': 300,
'complete': function(){
$("#util-box_" + tlid).css("overflow-y","scroll")
$("#util-box_" + tlid).removeClass("column-hide")
}
});
}else{
$("#util-box_" + tlid).css("overflow-y","hidden")
$("#util-box_" + tlid).animate({
'height': '0'
},{
'duration': 300,
'complete': function(){
$("#util-box_" + tlid).addClass("column-hide")
$("#util-box_" + tlid).css("display","none")
}
});
}
} }
function colorpicker(key){ function colorpicker(key){
temp= temp=

4
app/package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "TheDesk", "name": "thedesk",
"version": "15.10.0", "version": "16.0.4",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,27 +1,29 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "16.0.3", "version": "16.0.4",
"description": "TheDesk is a Mastodon client for PC.", "description": "TheDesk is a Mastodon client for PC.",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
}, },
"keywords": [], "keywords": [],
"bugs":{ "bugs": {
"url" : "https://github.com/cutls/TheDesk/issues", "url": "https://github.com/cutls/TheDesk/issues",
"email" : "mstdn@thedesk.top" "email": "mstdn@thedesk.top"
}, },
"homepage":"https://thedesk.top", "homepage": "https://thedesk.top",
"author": { "author": {
"name": "Cutls P", "name": "Cutls P",
"url" : "https://kirishima.clooud/@Cutls", "url": "https://kirishima.clooud/@Cutls",
"email" : "web-pro@cutls.com" "email": "web-pro@cutls.com"
}, },
"contributor": [{ "contributor": [
{
"name": "とねぢ", "name": "とねぢ",
"url" : "https://minohdon.jp/@toneji", "url": "https://minohdon.jp/@toneji",
"email" : "solfa.tono@gmail.com" "email": "solfa.tono@gmail.com"
}], }
],
"license": "TheDesk LICENSE", "license": "TheDesk LICENSE",
"dependencies": { "dependencies": {
"adm-zip": "^0.4.11", "adm-zip": "^0.4.11",