Compare commits
20 Commits
dependabot
...
v20.3.1
Author | SHA1 | Date | |
---|---|---|---|
|
3373ff417f | ||
|
9bee8afe95 | ||
|
f79da2b692 | ||
|
fedb1ee858 | ||
|
50e11ec035 | ||
|
233442936a | ||
|
b68ae81782 | ||
|
835234885b | ||
|
6995155392 | ||
|
2d7d127266 | ||
|
ee6cbf922e | ||
|
2c2ba89434 | ||
|
68b23dc25a | ||
|
181e8b47fd | ||
|
8004643768 | ||
|
681b2f207a | ||
|
8ba1fa5e18 | ||
|
3b4fe169d0 | ||
|
8ea7cde8e6 | ||
|
2e1264173e |
1
.gitignore
vendored
@@ -23,3 +23,4 @@ app/view/es-AR
|
||||
app/git
|
||||
*.code-workspace
|
||||
releasenote.md
|
||||
app/yarn-error.log
|
||||
|
@@ -1,4 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
TheDesk icon, Cutls P.
|
||||
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
||||
-->
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 4096 4096" style="enable-background:new 0 0 4096 4096;" xml:space="preserve">
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,5 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!--
|
||||
TheDesk icon, Cutls P.
|
||||
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
||||
-->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 4096 4096" style="enable-background:new 0 0 4096 4096;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.3 KiB |
2
app/img/picture.svg
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 259 B |
@@ -1,4 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
ThinkingDesk: Cutls P's icon, Cutls P.
|
||||
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
||||
-->
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 4096 4096" style="enable-background:new 0 0 4096 4096;" xml:space="preserve">
|
||||
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 8.0 KiB |
@@ -47,6 +47,9 @@ function ck() {
|
||||
multiSelector(false)
|
||||
verck(ver, jp)
|
||||
$('.stw').show()
|
||||
if (localStorage.getItem('tips')) {
|
||||
tips(localStorage.getItem('tips'))
|
||||
}
|
||||
$('#something-wrong img').attr('src', '../../img/thinking.svg')
|
||||
}
|
||||
}
|
||||
|
@@ -506,7 +506,7 @@ function misskeyLogin(url) {
|
||||
if (!url) {
|
||||
var url = $('#misskey-url').val()
|
||||
}
|
||||
var start = 'http://' + url + '/api/app/create'
|
||||
var start = 'https://' + url + '/api/app/create'
|
||||
var httpreq = new XMLHttpRequest()
|
||||
httpreq.open('POST', start, true)
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json')
|
||||
|
@@ -86,7 +86,7 @@ function handleFileUpload(files, obj, no) {
|
||||
}
|
||||
|
||||
//ファイルアップロード
|
||||
function media(b64, type, no, stamped) {
|
||||
async function media(b64, type, no, stamped) {
|
||||
var acct_id = $('#post-acct-sel').val()
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
var user = localStorage.getItem('user_' + acct_id)
|
||||
@@ -130,12 +130,36 @@ function media(b64, type, no, stamped) {
|
||||
httpreq.send(fd)
|
||||
} else {
|
||||
var previewer = 'preview_url'
|
||||
var start = 'https://' + domain + '/api/v1/media'
|
||||
httpreq.open('POST', start, true)
|
||||
httpreq.upload.addEventListener('progress', progshow, false)
|
||||
httpreq.responseType = 'json'
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
|
||||
httpreq.send(fd)
|
||||
//v2/media
|
||||
try {
|
||||
var id = await v2MediaUpload(domain, at, fd)
|
||||
var mediav = $('#media').val()
|
||||
var regExp = new RegExp('tmp_' + r, 'g')
|
||||
mediav = mediav.replace(regExp, id)
|
||||
$('#media').val(mediav)
|
||||
var html = `<img src="../../img/picture.svg" class="preview-img pointer unknown" data-media="${id}" oncontextmenu="deleteImage('${id}')" onclick="altImage('${acct_id}','${id}')" title="${lang.lang_postimg_delete}">`
|
||||
$('#preview').append(html)
|
||||
todc()
|
||||
if (localStorage.getItem('nsfw_' + acct_id)) {
|
||||
$('#nsfw').addClass('yellow-text')
|
||||
$('#nsfw').html('visibility')
|
||||
$('#nsfw').addClass('nsfw-avail')
|
||||
}
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
$('select').formSelect()
|
||||
$('#mec').text(lang.lang_there)
|
||||
M.toast({ html: '<span>' + lang.lang_postimg_sync + '</span><button class="btn-flat toast-action" onclick="syncDetail()">Click</button>', displayLength: 3000 })
|
||||
$('#imgup').text('')
|
||||
$('#imgsel').show()
|
||||
localStorage.removeItem('image')
|
||||
} catch {
|
||||
var start = 'https://' + domain + '/api/v1/media'
|
||||
httpreq.open('POST', start, true)
|
||||
httpreq.upload.addEventListener('progress', progshow, false)
|
||||
httpreq.responseType = 'json'
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
|
||||
httpreq.send(fd)
|
||||
}
|
||||
}
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState === 4) {
|
||||
@@ -159,6 +183,10 @@ function media(b64, type, no, stamped) {
|
||||
M.toast({ html: lang.lang_postimg_failupload, displayLength: 5000 })
|
||||
return false
|
||||
}
|
||||
$('#imgup').text('')
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
$('select').formSelect()
|
||||
$('#imgsel').show()
|
||||
var img = localStorage.getItem('img')
|
||||
if (json.type.indexOf('image') != -1) {
|
||||
var html = `<img src="${json[previewer]}" class="preview-img pointer" data-media="${json['id']}" oncontextmenu="deleteImage('${json['id']}')" onclick="altImage('${acct_id}','${json['id']}')" title="${lang.lang_postimg_delete}">`
|
||||
@@ -178,19 +206,6 @@ function media(b64, type, no, stamped) {
|
||||
if (img == 'url' && json['text_url']) {
|
||||
$('#textarea').val($('#textarea').val() + ' ' + json['text_url'])
|
||||
}
|
||||
todc()
|
||||
if (localStorage.getItem('nsfw_' + acct_id)) {
|
||||
$('#nsfw').addClass('yellow-text')
|
||||
$('#nsfw').html('visibility')
|
||||
$('#nsfw').addClass('nsfw-avail')
|
||||
}
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
$('select').formSelect()
|
||||
$('#mec').text(lang.lang_there)
|
||||
M.toast({ html: lang.lang_postimg_aftupload, displayLength: 1000 })
|
||||
$('#imgup').text('')
|
||||
$('#imgsel').show()
|
||||
localStorage.removeItem('image')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -275,54 +290,84 @@ function altImage(acct_id, id) {
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
var at = localStorage.getItem('acct_' + acct_id + '_at')
|
||||
var start = 'https://' + domain + '/api/v1/media/' + id
|
||||
|
||||
Swal.fire({
|
||||
title: lang.lang_postimg_desc,
|
||||
text: lang.lang_postimg_leadContext,
|
||||
input: 'text',
|
||||
inputAttributes: {
|
||||
autocapitalize: 'off'
|
||||
},
|
||||
showCancelButton: true,
|
||||
confirmButtonText: 'Post',
|
||||
showLoaderOnConfirm: true,
|
||||
preConfirm: data => {
|
||||
return fetch(start, {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
Authorization: 'Bearer ' + at
|
||||
},
|
||||
body: JSON.stringify({
|
||||
description: data
|
||||
if($('[data-media=' + id + ']').hasClass('unknown')) {
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
Authorization: 'Bearer ' + at
|
||||
}
|
||||
})
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
})
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
console.log(json)
|
||||
$('[data-media=' + id + ']').removeClass('unknown')
|
||||
if(json.preview_url) {
|
||||
$('[data-media=' + id + ']').attr('src', json.preview_url)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: lang.lang_postimg_desc,
|
||||
text: lang.lang_postimg_leadContext,
|
||||
input: 'text',
|
||||
inputAttributes: {
|
||||
autocapitalize: 'off'
|
||||
},
|
||||
showCancelButton: true,
|
||||
confirmButtonText: 'Post',
|
||||
showLoaderOnConfirm: true,
|
||||
preConfirm: data => {
|
||||
return fetch(start, {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
Authorization: 'Bearer ' + at
|
||||
},
|
||||
body: JSON.stringify({
|
||||
description: data
|
||||
})
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
console.log(json)
|
||||
$('[data-media=' + id + ']').attr('title', data)
|
||||
})
|
||||
},
|
||||
allowOutsideClick: () => !Swal.isLoading()
|
||||
}).then(result => {
|
||||
if (result.value) {
|
||||
Swal.fire({
|
||||
title: 'Complete'
|
||||
})
|
||||
.then(function(json) {
|
||||
console.log(json)
|
||||
$('[data-media=' + id + ']').attr('title', data)
|
||||
})
|
||||
},
|
||||
allowOutsideClick: () => !Swal.isLoading()
|
||||
}).then(result => {
|
||||
if (result.value) {
|
||||
Swal.fire({
|
||||
title: 'Complete'
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
function stamp() {
|
||||
if ($('#stamp').hasClass('stamp-avail')) {
|
||||
@@ -332,4 +377,42 @@ function stamp() {
|
||||
$('#stamp').html('On')
|
||||
$('#stamp').addClass('stamp-avail')
|
||||
}
|
||||
}
|
||||
//v2/media対応
|
||||
async function v2MediaUpload(domain, at, fd) {
|
||||
var start = 'https://' + domain + '/api/v2/media'
|
||||
let promise = await fetch(start, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
Authorization:
|
||||
'Bearer ' + at
|
||||
},
|
||||
body: fd
|
||||
})
|
||||
var json = await promise.json()
|
||||
if(json.id) {
|
||||
return json.id
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
function alertProcessUnfinished() {
|
||||
Swal.fire({
|
||||
title: lang.lang_post_unfinishedMedia,
|
||||
type: 'error',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: lang.lang_post_retry,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then(result => {
|
||||
if (result.value) {
|
||||
post()
|
||||
}
|
||||
})
|
||||
}
|
||||
function syncDetail() {
|
||||
Swal.fire({
|
||||
title: lang.lang_post_syncDetail,
|
||||
text: lang.lang_post_syncDetailText,
|
||||
type: 'info'
|
||||
})
|
||||
}
|
@@ -166,18 +166,32 @@ function post(mode, postvis) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response
|
||||
if (this.status !== 200) {
|
||||
setLog(start, this.status, json)
|
||||
if(media && this.status == 422) {
|
||||
$('#ideKey').val('')
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
alertProcessUnfinished()
|
||||
} else {
|
||||
setLog(start, this.status, json)
|
||||
var box = localStorage.getItem('box')
|
||||
if (box == 'yes' || !box) {
|
||||
$('#textarea').blur()
|
||||
hide()
|
||||
}
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
todc()
|
||||
clear()
|
||||
}
|
||||
} else {
|
||||
$('#ideKey').val('')
|
||||
var box = localStorage.getItem('box')
|
||||
if (box == 'yes' || !box) {
|
||||
$('#textarea').blur()
|
||||
hide()
|
||||
}
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
todc()
|
||||
clear()
|
||||
}
|
||||
var box = localStorage.getItem('box')
|
||||
if (box == 'yes' || !box) {
|
||||
$('#textarea').blur()
|
||||
hide()
|
||||
}
|
||||
$('.toot-btn-group').prop('disabled', false)
|
||||
todc()
|
||||
clear()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -116,8 +116,11 @@ function tsAdd(q) {
|
||||
parseColumn('add')
|
||||
}
|
||||
function tootsearch(tlid, q) {
|
||||
if(!q || q=='undefined') {
|
||||
return false
|
||||
}
|
||||
var start = 'https://tootsearch.chotto.moe/api/v1/search?from=0&sort=created_at%3Adesc&q=' + q
|
||||
console.log('Toot srrach at ' + start)
|
||||
console.log('Toot search at ' + start)
|
||||
$('#notice_' + tlid).text('tootsearch(' + q + ')')
|
||||
$('#notice_icon_' + tlid).text('search')
|
||||
fetch(start, {
|
||||
|
@@ -273,15 +273,15 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
if (typeA == 'delete') {
|
||||
var obj = JSON.parse(mess.data).payload
|
||||
if (delc == 'true') {
|
||||
$('#timeline_' + tlid + ' [toot-id=' + JSON.parse(mess.data).payload + ']').addClass(
|
||||
$('#timeline_' + tlid + ' [unique-id=' + JSON.parse(mess.data).payload + ']').addClass(
|
||||
'emphasized'
|
||||
)
|
||||
$('#timeline_' + tlid + ' [toot-id=' + JSON.parse(mess.data).payload + ']').addClass(
|
||||
$('#timeline_' + tlid + ' [unique-id=' + JSON.parse(mess.data).payload + ']').addClass(
|
||||
'by_delcatch'
|
||||
)
|
||||
} else {
|
||||
$('[toot-id=' + JSON.parse(mess.data).payload + ']').hide()
|
||||
$('[toot-id=' + JSON.parse(mess.data).payload + ']').remove()
|
||||
$('[unique-id=' + JSON.parse(mess.data).payload + ']').hide()
|
||||
$('[unique-id=' + JSON.parse(mess.data).payload + ']').remove()
|
||||
}
|
||||
} else if (typeA == 'update' || typeA == 'conversation') {
|
||||
if (!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')) {
|
||||
|
@@ -42,6 +42,12 @@ function checkSpotify() {
|
||||
} else {
|
||||
$("#awk_no").prop("checked", true);
|
||||
}
|
||||
var flag2 = localStorage.getItem("complete-artwork");
|
||||
if (flag2) {
|
||||
$("#amw_yes").prop("checked", true);
|
||||
} else {
|
||||
$("#amw_no").prop("checked", true);
|
||||
}
|
||||
}
|
||||
function spotifyFlagSave() {
|
||||
var awk = $("[name=awk]:checked").val();
|
||||
@@ -150,7 +156,7 @@ async function npCore(arg) {
|
||||
if (flag && arg.artwork) {
|
||||
media(arg.artwork, "image/png", "new");
|
||||
} else if (flag && localStorage.getItem('complete-artwork')) {
|
||||
var q = arg.artist + ' ' + arg.album.name + ' ' + arg.name
|
||||
var q = arg.artist + ' ' + arg.album.name + ' ' + arg.name;
|
||||
postMessage(["bmpImage", [await getUnknownAA(q), 0]], "*");
|
||||
}
|
||||
}
|
||||
@@ -205,6 +211,6 @@ async function getUnknownAA(q) {
|
||||
if(!json.resultCount) {
|
||||
return []
|
||||
}
|
||||
const data = json.results
|
||||
return data[0].artworkUrl100
|
||||
const data = json.results[0].artworkUrl100
|
||||
return data.replace(/100x100/, '512x512')
|
||||
}
|
@@ -159,6 +159,10 @@ function spotifytips() {
|
||||
})
|
||||
.then(function(json) {
|
||||
var ms = json.progress_ms
|
||||
if(!ms) {
|
||||
tips('ver')
|
||||
return false
|
||||
}
|
||||
var last = 1000 - (ms % 1000)
|
||||
var item = json.item
|
||||
var img = item.album.images[0].url
|
||||
@@ -218,6 +222,8 @@ function spotifytips() {
|
||||
type: 'info',
|
||||
title: lang.lang_spotify_acct
|
||||
})
|
||||
tips('ver')
|
||||
return false
|
||||
}
|
||||
}
|
||||
function spotStart() {
|
||||
@@ -288,6 +294,4 @@ function tipsToggle() {
|
||||
$('#tips').toggleClass('hide')
|
||||
$('#tips-menu').toggleClass('hide')
|
||||
}
|
||||
if (localStorage.getItem('tips')) {
|
||||
tips(localStorage.getItem('tips'))
|
||||
}
|
||||
|
||||
|
@@ -25,6 +25,7 @@ function np(mainWindow) {
|
||||
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
e.sender.webContents.send('itunes-np', error)
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "20.2.0",
|
||||
"version": "20.3.1",
|
||||
"codename": "Kawaii",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"repository": "https://github.com/cutls/TheDesk",
|
||||
"main": "main.js",
|
||||
@@ -51,7 +52,7 @@
|
||||
],
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.12.1",
|
||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||
"custom-electron-titlebar": "^3.2.2-hotfix62",
|
||||
"electron-dl": "^3.0.0",
|
||||
"jimp": "^0.10.1",
|
||||
@@ -66,13 +67,13 @@
|
||||
"vue": "^2.6.11"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"itunes-nowplaying-mac": "0.3.1"
|
||||
"itunes-nowplaying-mac": "git://github.com/cutls/itunes-nowplaying-mac"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chokidar": "^3.3.1",
|
||||
"electron": "^8.0.0",
|
||||
"electron-builder": "^22.1.0",
|
||||
"electron-rebuild": "^1.10.0",
|
||||
"electron-builder": "^22.4.1",
|
||||
"electron-rebuild": "^1.10.1",
|
||||
"readline-sync": "1.4.10"
|
||||
},
|
||||
"build": {
|
||||
|
@@ -1189,20 +1189,26 @@
|
||||
<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-20-2-0_Kawaii" class="release-do" style="display:none; ">
|
||||
<div id="release-20-3-1_Kawaii" class="release-do" style="display:none; ">
|
||||
<br />
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br />
|
||||
Pixiv
|
||||
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note 20.1.2 (Kawaii)</h5>
|
||||
・アップデートウィンドウのデザイン改善 <a onclick="udgEx('https://cutls.com/@Cutls','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
|
||||
・新しいテーマカラー(Polar Night, Snow Storm)の追加 <a onclick="udgEx('https://cutls.com/@Cutls','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
|
||||
・画像モーダルの改善(ウィンドウが狭いとき) <a onclick="udgEx('https://cutls.com/@Cutls','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <a onclick="udgEx('https://pawoo.net/@FoxClover','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/77073692-fafcc500-6a32-11ea-84d2-0305f223f408.png">FoxClover</a><br>
|
||||
・Pleromaでown_votesがNullになることがあった <a onclick="udgEx('https://cutls.com/@Cutls','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <a onclick="udgEx('https://pleroma.damnx.net/damnxcsy','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/77073522-c7219f80-6a32-11ea-89f8-704333981157.png">damnxcsy</a><br>
|
||||
・ウィンドウのフレームを消して、オリジナルデザインのメニューバーを表示させる <a onclick="udgEx('https://cutls.com/@Cutls','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
|
||||
・一部ロケールの改善 <a onclick="udgEx('https://pl.kpherox.dev/users/kPherox','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/66582379-a3714800-ebbc-11e9-8402-d81a35a3be9f.png">kPherox</a><br>
|
||||
<br />
|
||||
<h5>Release Note 20.3.1 (Kawaii)</h5>
|
||||
・BT取り消したをした時にTLから消えない不具合 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a><br>
|
||||
・古いインスタンスでメディアがアップロードできない <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a><br>
|
||||
・misskey.io login <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a><br>
|
||||
・バージョンアップ直後はバージョン表示が古いままな不具合 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a><br>
|
||||
|
||||
<h5>Release Note 20.3.0 (Kawaii)</h5>
|
||||
・フレームレスの時、タイトルバーがmacOSで表示されてなかった <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a><br>
|
||||
・CWのトグル <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a> <a onclick="udgEx('dekisugi@mstdn.maud.io','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/78639574-2f082f00-78e9-11ea-9606-8886176b83cc.png">dekisugi</a><br>
|
||||
・フォントリストが不安定な不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a> <a onclick="udgEx('gralos_5177@mstdn.jp','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/78639293-a5586180-78e8-11ea-84b2-1859d113cd7c.png">gralos_5177</a><br>
|
||||
・iTunes NowPlayingで、アートワークが無い時自動で取りに行く機能をつけた <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a> <a onclick="udgEx('toneji@minohdon.jp','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/66582029-162df380-ebbc-11e9-8a6f-1832b3a35d89.png">toneji</a><br>
|
||||
・WIndows版ダウンローダでバージョニングオプションを付けた。パーセンテージがNaNになるやつも修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a> <a onclick="udgEx('marugen@kirishima.cloud','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/78640052-07659680-78ea-11ea-8953-8f8bfcb2bcda.png">marugen</a><br>
|
||||
・Mastodon 3.1.3からの新しいメディアアップローダに対応 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://camo.githubusercontent.com/b1d23096a6a73ac5a67cdc4bbd00568d4f2641ce/68747470733a2f2f6d656469612e7468656465736b2e746f702f6163636f756e74732f617661746172732f3030302f3030302f3030312f6f726967696e616c2f643334656638626234396435653031312e706e67">cutls</a><br>
|
||||
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
|
@@ -60,6 +60,8 @@
|
||||
"lang_postimg_delete": "Click to add description, right-click to delete this",
|
||||
"lang_postimg_desc": "Description",
|
||||
"lang_postimg_leadContext": "right-click the thumbnail to delete this",
|
||||
"lang_post_syncDetail": "Upload media synchronously",
|
||||
"lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.",
|
||||
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
|
||||
"lang_post_tagVis": "This toot(not 'public' toot) is not shown on this tag's TL.",
|
||||
"lang_post_cwtitle": "Auto CW Alert",
|
||||
@@ -67,6 +69,8 @@
|
||||
"lang_post_btn1": "Cancel (will not post)",
|
||||
"lang_post_btn2": "Make text hidden automatically",
|
||||
"lang_post_btn3": "Continue to post",
|
||||
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
|
||||
"lang_post_retry": "Retry",
|
||||
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
|
||||
"lang_status_btWarn": "It will take a miunte to boost a remote toot.",
|
||||
"lang_status_follow": "Follow",
|
||||
|
@@ -59,6 +59,8 @@
|
||||
"lang_postimg_delete": "クリック: 画像に説明付ける/右クリック: 削除",
|
||||
"lang_postimg_desc": "説明",
|
||||
"lang_postimg_leadContext": "画像を削除するんやったら右クリック",
|
||||
"lang_post_syncDetail": "同期アップロード",
|
||||
"lang_post_syncDetailText": "小さな画像をアップロードするだけの場合、投稿可能になってすぐ投稿ボタンを押しても構いませんが、重いメディアの場合はしばらく待って、画像アイコンをクリックして、プレビューが表示されることを確認してからアップロードしてください。処理が完了している場合、各画像アイコンをクリックするとプレビューを取得します。",
|
||||
"lang_post_tagTL": "デフォルトタグ無いしこのまま投稿するとローカルには表示されへんで。",
|
||||
"lang_post_tagVis": "公開範囲が「公開」以外やったら、タグTLには出えへんで。(一部インスタンスを除く)",
|
||||
"lang_post_cwtitle": "長文投稿の警告",
|
||||
@@ -68,6 +70,8 @@
|
||||
"lang_post_btn3": "これはええねん(そのまま投稿)",
|
||||
"lang_status_favWarn": "お気に入り登録したんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。",
|
||||
"lang_status_btWarn": "ブーストしたんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。",
|
||||
"lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。",
|
||||
"lang_post_retry": "再試行",
|
||||
"lang_status_follow": "フォロー",
|
||||
"lang_status_unfollow": "フォロー解除",
|
||||
"lang_status_block": "ブロック",
|
||||
|
@@ -59,6 +59,9 @@
|
||||
"lang_postimg_failupload": "アップロードに失敗しました。",
|
||||
"lang_postimg_delete": "クリック: 画像に説明を追加/右クリック: 削除",
|
||||
"lang_postimg_desc": "説明",
|
||||
"lang_postimg_sync": "処理は同期的に行われます。最初にご確認ください→",
|
||||
"lang_post_syncDetail": "同期アップロード",
|
||||
"lang_post_syncDetailText": "小さな画像をアップロードするだけの場合、投稿可能になってすぐ投稿ボタンを押しても構いませんが、重いメディアの場合はしばらく待って、画像アイコンをクリックして、プレビューが表示されることを確認してからアップロードしてください。処理が完了している場合、各画像アイコンをクリックするとプレビューを取得します。",
|
||||
"lang_postimg_leadContext": "画像を削除するためには右クリック",
|
||||
"lang_post_tagTL": "デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
|
||||
"lang_post_tagVis": "公開範囲が「公開」以外だと、タグTLに表示されません。(一部インスタンスを除く)",
|
||||
@@ -67,6 +70,8 @@
|
||||
"lang_post_btn1": "キャンセル(投稿しない)",
|
||||
"lang_post_btn2": "自動でCWを付ける",
|
||||
"lang_post_btn3": "そのまま投稿",
|
||||
"lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。",
|
||||
"lang_post_retry": "再試行",
|
||||
"lang_status_favWarn": "お気に入り登録しました。インスタンスが違うときは時間がかかる場合があります。",
|
||||
"lang_status_btWarn": "ブーストしました。インスタンスが違うときは時間がかかる場合があります。",
|
||||
"lang_status_follow": "フォロー",
|
||||
|
@@ -1,4 +1,9 @@
|
||||
let ver = '20.2.0 (Kawaii)'
|
||||
const fs = require('fs')
|
||||
const package = fs.readFileSync('../../package.json')
|
||||
const data = JSON.parse(package)
|
||||
const version = data.version
|
||||
const codename = data.codename
|
||||
let ver = `${version} (${codename})`
|
||||
if (process.argv.indexOf('--automatic') === -1) {
|
||||
let input = require('readline-sync').question('version string [empty: ' + ver + ' (default)]? ')
|
||||
if (input) {
|
||||
@@ -12,13 +17,12 @@ if (process.argv.indexOf('--pwa') > 0) {
|
||||
const path = require('path')
|
||||
const basefile = path.join(__dirname, '../../')
|
||||
function main(ver, basefile, pwa) {
|
||||
const fs = require('fs')
|
||||
const execSync = require('child_process').execSync
|
||||
let gitHash = execSync('git rev-parse HEAD')
|
||||
.toString()
|
||||
.trim()
|
||||
fs.writeFileSync(basefile + 'git', gitHash)
|
||||
console.log('Constructing view files ' + ver + ': make sure to update package.json')
|
||||
console.log('Constructing view files ' + ver)
|
||||
const langs = ['ja', 'ja-KS', 'en', 'bg', 'cs', 'de', 'es-AR', 'ps']
|
||||
const langsh = [
|
||||
'日本語',
|
||||
|