'use strict' //バージョンチェッカー function verck(ver, jp) { console.log('%c Welcome😊', 'color: red;font-size:200%;') var date = new Date() var show = false if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) { //ちょっと削除とリンク解析の都合上アレ(s) //対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)" if (!localStorage.getItem('usamin_18_6_5_flag')) { localStorage.setItem('usamin_18_6_5_flag', true) var multi = localStorage.getItem('column') var obj = JSON.parse(multi) for (var i = 0; i < obj.length; i++) { localStorage.removeItem('card_' + i) } } //ちょっと削除とリンク解析の都合上アレ(e) show = true console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;') $(document).ready(function() { if (localStorage.getItem('winstore')) { $('#releasenote').modal('open') } var verp = ver.replace('(', '') verp = verp.replace('.', '-') verp = verp.replace('.', '-') verp = verp.replace('[', '-') verp = verp.replace(']', '') verp = verp.replace(')', '') verp = verp.replace(' ', '_') console.log('%c ' + verp, 'color: red;font-size:200%;') if (lang.language == 'ja') { $('#release-' + verp).show() } else { $('#release-en').show() } }) } localStorage.setItem('ver', ver) if (!show) { console.log(show) if ( date.getMonth() + 1 >= localStorage.getItem('showSupportMe') || !localStorage.getItem('showSupportMe') ) { if (date.getMonth() == 11) { var nextmonth = 1 } else { var nextmonth = date.getMonth() + 2 } if (lang.language != 'ja') { $('#support-btm-ja').addClass('hide') $('#support-btm-en').removeClass('hide') } localStorage.setItem('showSupportMe', nextmonth) $('#support-btm').removeClass('hide') $('#support-btm').animate( { bottom: '0' }, { duration: 300 } ) } } var platform = localStorage.getItem('platform') console.log('Your platform:' + platform) if (!localStorage.getItem('winstore')) { $('#start').css('display', 'flex') } if ( localStorage.getItem('winstore') == 'brewcask' || localStorage.getItem('winstore') == 'snapcraft' || localStorage.getItem('winstore') == 'winstore' ) { var winstore = true } else { var winstore = false } var l = 5 // 生成する文字列に含める文字セット var c = 'abcdefghijklmnopqrstuvwxyz0123456789' var cl = c.length var r = '' for (var i = 0; i < l; i++) { r += c[Math.floor(Math.random() * cl)] } var start = 'https://thedesk.top/ver.json' fetch(start, { method: 'GET' }) .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) setLog(start, 'JSON', error) console.error(error) }) .then(function(mess) { console.table(mess) if (mess) { //askjp_jp_ua: 2019年10月24日、mstdn.jpによるユーザーエージェントアクセス制限 if (jp && mess.jp_ua && !localStorage.getItem('askjp_jp_ua')) { localStorage.setItem('askjp_jp_ua', true) $('#askjp_jp_ua').removeClass('hide') } var platform = localStorage.getItem('platform') if (platform == 'darwin') { var newest = mess.desk_mac } else { var newest = mess.desk } if (newest == ver) { todo(lang.lang_version_usever.replace('{{ver}}', mess.desk)) //betaかWinstoreならアプデチェックしない } else if (ver.indexOf('beta') != -1 || winstore) { } else { localStorage.removeItem('instance') if (localStorage.getItem('new-ver-skip')) { if (localStorage.getItem('next-ver') != newest) { postMessage(['sendSinmpleIpc', 'update'], '*') } else { console.warn(lang.lang_version_skipver) todo(lang.lang_version_skipver) } } else { postMessage(['sendSinmpleIpc', 'update'], '*') } } } }) if (!localStorage.getItem('last-notice-id')) { localStorage.setItem('last-notice-id', 0) } var start = 'https://thedesk.top/notice?since_id=' + localStorage.getItem('last-notice-id') fetch(start, { method: 'GET' }) .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(mess) { if (mess.length < 1) { return false } else { var last = localStorage.getItem('last-notice-id') localStorage.setItem('last-notice-id', mess[0].ID) for (i = 0; i < mess.length; i++) { var obj = mess[i] if (obj.ID * 1 <= last) { break } else { if (obj.type == 'textv2') { if (~obj.languages.indexOf(lang.language)) { var show = true if (obj.toot != '') { var toot = '" } else { var toot = '' } if (obj.ver != '') { if (obj.ver == ver) { show = true } else { show = false } } if (obj.domain != '') { var multi = localStorage.getItem('multi') if (multi) { show = false var accts = JSON.parse(multi) Object.keys(accts).forEach(function(key) { var acct = accts[key] if (acct.domain == obj.domain) { show = true } }) } } if (show) { M.toast({ html: escapeHTML(obj.text) + toot + '(スライドして消去)', displayLength: 86400 }) } } } } } } }) } var infostreaming = false function infowebsocket() { var infows = new WebSocket('wss://thedesk.top/ws/') infows.onopen = function(mess) { console.log([tlid, ':Connect Streaming Info:', mess]) infostreaming = true } infows.onmessage = function(mess) { console.log([tlid, ':Receive Streaming:', JSON.parse(mess.data)]) var obj = JSON.parse(mess.data) if (obj.type != 'counter') { if (obj.type == 'textv2') { if (~obj.languages.indexOf(lang.language)) { localStorage.setItem('last-notice-id', obj.id) var show = true if (obj.toot != '') { var toot = '" } else { var toot = '' } if (obj.ver != '') { if (obj.ver == ver) { show = true } else { show = false } } if (obj.domain != '') { var multi = localStorage.getItem('multi') if (multi) { show = false var accts = JSON.parse(multi) Object.keys(accts).forEach(function(key) { var acct = accts[key] if (acct.domain == obj.domain) { show = true } }) } } if (show) { console.log(obj.text) console.log(escapeHTML(obj.text)) M.toast({ html: escapeHTML(obj.text) + toot + '(スライドして消去)', displayLength: 86400 }) } } } } else { $('#persons').text(obj.text) } } infows.onerror = function(error) { infostreaming = false console.error('Error closing:info') console.error(error) return false } infows.onclose = function() { infostreaming = false console.error('Closing:info') } } setInterval(function() { if (!infostreaming) { console.log('try to connect to base-streaming') infowebsocket() } }, 10000) function openRN() { $('#releasenote').modal('open') if (lang.language == 'ja') { verp = ver.replace('(', '') verp = verp.replace('.', '-') verp = verp.replace('.', '-') verp = verp.replace('[', '-') verp = verp.replace(']', '') verp = verp.replace(')', '') verp = verp.replace(' ', '_') $('#release-' + verp).show() } else { $('#release-en').show() } } function closeSupport() { $('#support-btm').animate( { bottom: '-300px' }, { duration: 300, complete: function() { $('#support-btm').addClass('hide') } } ) } function storeDialog(platform, ver) { if (platform == 'win32') { var mes = lang.lang_version_platform } else if (platform == 'linux') { var mes = lang.lang_version_platform_linux } else if (platform == 'darwin') { var mes = lang.lang_version_platform_mac } Swal.fire({ title: 'Select your platform', text: mes, type: 'info', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#3085d6', confirmButtonText: lang.lang_no, cancelButtonText: lang.lang_yesno }).then(result => { //逆にしてる if (!result.value) { localStorage.setItem('winstore', 'winstore') } else { localStorage.setItem('winstore', 'localinstall') } localStorage.setItem('ver', ver) console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;') $(document).ready(function() { $('#releasenote').modal('open') var verp = ver.replace('(', '') verp = verp.replace('.', '-') verp = verp.replace('.', '-') verp = verp.replace('[', '-') verp = verp.replace(']', '') verp = verp.replace(')', '') verp = verp.replace(' ', '_') console.log('%c ' + verp, 'color: red;font-size:200%;') if (lang.language == 'ja') { $('#release-' + verp).show() } else { $('#release-en').show() } }) }) } function closeStart() { $('#start').css('display', 'none') var platform = localStorage.getItem('platform') var ver = localStorage.getItem('ver') storeDialog(platform, ver) }