Compare commits

...

20 Commits

Author SHA1 Message Date
cutls
3373ff417f TheDesk 20.3.1 (Kawaii) 2020-04-08 17:58:37 +09:00
cutls
9bee8afe95 misc 2020-04-08 15:30:20 +09:00
cutls
f79da2b692 tips versioning and Spotify player bug 2020-04-08 15:28:04 +09:00
cutls
fedb1ee858 misskey login 2020-04-08 15:27:47 +09:00
cutls
50e11ec035 v1 media bug 2020-04-08 14:54:25 +09:00
cutls
233442936a Fix: delete when unreblog 2020-04-08 14:54:14 +09:00
cutls
b68ae81782 TheDesk 20.3.0 (Usamin) 2020-04-07 17:44:59 +09:00
cutls
835234885b Add: v2/media uploader 2020-04-07 17:41:57 +09:00
cutls
6995155392 preparing: TheDesk 20.3.0 (Usamin) 2020-04-07 16:13:36 +09:00
cutls
2d7d127266 Some bugs, quality up on #208 2020-04-07 15:53:53 +09:00
cutls
ee6cbf922e Fix loader 2020-04-07 15:06:29 +09:00
Cutls
2c2ba89434 Merge pull request #241 from cutls/dependabot/npm_and_yarn/app/electron-rebuild-1.10.1
Bump electron-rebuild from 1.10.0 to 1.10.1 in /app
2020-04-07 15:03:23 +09:00
Cutls
68b23dc25a Merge branch 'master' into dependabot/npm_and_yarn/app/electron-rebuild-1.10.1 2020-04-07 15:03:17 +09:00
Cutls
181e8b47fd Merge pull request #242 from cutls/dependabot/npm_and_yarn/app/electron-builder-22.4.1
Bump electron-builder from 22.1.0 to 22.4.1 in /app
2020-04-07 15:02:39 +09:00
Cutls
8004643768 Merge branch 'master' into dependabot/npm_and_yarn/app/electron-builder-22.4.1 2020-04-07 15:02:30 +09:00
Cutls
681b2f207a Merge pull request #251 from cutls/dependabot/npm_and_yarn/app/fortawesome/fontawesome-free-5.13.0
Bump @fortawesome/fontawesome-free from 5.12.1 to 5.13.0 in /app
2020-04-07 15:01:22 +09:00
dependabot-preview[bot]
8ba1fa5e18 Bump electron-builder from 22.1.0 to 22.4.1 in /app
Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.1.0 to 22.4.1.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-07 06:01:02 +00:00
dependabot-preview[bot]
3b4fe169d0 Bump @fortawesome/fontawesome-free from 5.12.1 to 5.13.0 in /app
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.12.1 to 5.13.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.12.1...5.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-07 06:01:02 +00:00
Cutls
8ea7cde8e6 Merge pull request #258 from cutls/dependabot/npm_and_yarn/app/sweetalert2-9.10.9
Bump sweetalert2 from 9.10.3 to 9.10.9 in /app
2020-04-07 15:00:29 +09:00
dependabot-preview[bot]
2e1264173e Bump electron-rebuild from 1.10.0 to 1.10.1 in /app
Bumps [electron-rebuild](https://github.com/electron/electron-rebuild) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/electron/electron-rebuild/releases)
- [Changelog](https://github.com/electron/electron-rebuild/blob/master/.releaserc.json)
- [Commits](https://github.com/electron/electron-rebuild/compare/v1.10.0...v1.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-11 20:16:06 +00:00
21 changed files with 648 additions and 477 deletions

1
.gitignore vendored
View File

@@ -23,3 +23,4 @@ app/view/es-AR
app/git
*.code-workspace
releasenote.md
app/yarn-error.log

View File

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

View File

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

View File

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

View File

@@ -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')
}
}

View File

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

View File

@@ -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'
})
}

View File

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

View File

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

View File

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

View File

@@ -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')
}

View File

@@ -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'))
}

View File

@@ -25,6 +25,7 @@ function np(mainWindow) {
} catch (error) {
console.error(error)
e.sender.webContents.send('itunes-np', error)
}
} else {
}

View File

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

View File

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

View File

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

View File

@@ -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": "ブロック",

View File

@@ -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": "フォロー",

View File

@@ -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 = [
'日本語',

File diff suppressed because it is too large Load Diff