Compare commits

..

19 Commits

Author SHA1 Message Date
dependabot-preview[bot]
9a3dc81630 Bump @fortawesome/fontawesome-free from 5.10.2 to 5.11.0 in /app
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.10.2 to 5.11.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.10.2...5.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-18 20:30:43 +00:00
Cutls
3d9b97ccb5 WIP: Travis WIndows 1 2019-09-18 23:39:55 +09:00
Cutls
2c3dbba052 to Travis CI error for Windows 2019-09-18 23:32:31 +09:00
Cutls
907eecd030 fix 2019-09-18 23:25:22 +09:00
Cutls
d217fb33a9 Like Typo 2019-09-18 23:24:34 +09:00
Cutls
8cea32d01b For developers 2019-09-18 23:23:40 +09:00
Cutls
c8d2da0c07 For Linux, macOS 2019-09-18 23:11:39 +09:00
Cutls
a458f51b9a travis 2019-09-17 01:43:01 +09:00
Cutls
bd8ac2935b to Travis 2019-09-17 01:37:18 +09:00
Cutls
dd59cc1468 Introduce yarn 2019-09-17 01:20:52 +09:00
Cutls
fd365c52cc Merge branch 'master' of https://github.com/cutls/TheDesk 2019-09-17 00:59:39 +09:00
Cutls
ad7e77a067 Add: notif-sound volume 2019-09-17 00:59:25 +09:00
Cutls
6b9135a205 remove v1 serach API 2019-09-17 00:24:16 +09:00
Cutls
fdca5b1c60 When complete vote, not refresh status 2019-09-17 00:24:00 +09:00
Cutls
f891b30f9f When unknown media, show after last"." 2019-09-17 00:23:41 +09:00
Cutls
8fbd8070f2 For Pleroma tags 2019-09-17 00:22:55 +09:00
Cutls
657dec1c10 When redraft, diabled acct-sel 2019-09-17 00:22:40 +09:00
Cutls
0d93dcdc45 Merge pull request #113 from cutls/dependabot/npm_and_yarn/app/jimp-tw-0.8.2
Update jimp requirement from ^0.7.0 to ^0.8.2 in /app
2019-09-14 12:13:26 +09:00
dependabot-preview[bot]
5a50c0e1e6 Update jimp requirement from ^0.7.0 to ^0.8.2 in /app
Updates the requirements on [jimp](https://github.com/oliver-moran/jimp) to permit the latest version.
- [Release notes](https://github.com/oliver-moran/jimp/releases)
- [Changelog](https://github.com/oliver-moran/jimp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oliver-moran/jimp/compare/v0.7.0...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-13 20:26:10 +00:00
21 changed files with 3237 additions and 33 deletions

1
.gitignore vendored
View File

@@ -12,7 +12,6 @@ enq.md
app/.tkn
app/node_modules
app/js/login/tkn.js
app/package-lock.json
app/view/en
app/view/ja
app/view/de

View File

@@ -3,21 +3,26 @@ os:
- linux
- osx
language: node_js
env:
- YARN_GPG=no
node_js:
- '10.15.2'
cache:
yarn: true
script: node -v
before_deploy:
- npm install electron-builder -g
- yarn global add electron-builder
- cd app
- VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]')
- npm install
- npm run construct
- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux --x64 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then ls;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv thedesk-*.zip thedesk.zip;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../app;else :;fi
- yarn install --no-lockfile --prod
- yarn construct
#- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux --x64 -p never;else :;fi
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then ls;else :;fi
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv thedesk-*.zip thedesk.zip;else :;fi
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../app;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then yarn add electron-builder;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then electron-builder --win --ia32 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then ls;else :;fi
@@ -44,5 +49,5 @@ deploy:
skip_cleanup: true
on:
repo: cutls/TheDesk
tags: true
tags: false
all_branches: true

View File

@@ -80,6 +80,10 @@ Fellow coder
## Build
You have to use either **npm** or **yarn**. Whichever you use, it works well.
### npm
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
@@ -88,8 +92,25 @@ npm install --only=dev
npm run construct
```
### yarn
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
# Linux or macOS
yarn install --no-lockfile
# Windows
yarn install
yarn construct
```
run `npm run dev` or `yarn dev` to launch developer version with console(click `view`)
### electron-builder(Recommended)
Use npm scripts.
Use scripts(they can work well with npm, **yarn**).
#### npm
```sh
# Build for current platform
@@ -103,6 +124,21 @@ npm run build:win
npm run build:all
```
#### yarn
```sh
# Build for current platform
yarn build
# Select build target
## Windows
yarn build:win
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
yarn build:all
```
Config is all on package.json
### electron-packager

View File

@@ -79,6 +79,9 @@ Linuxビルダー
## ビルド
npmでもyarnでも好きな方を選んでください。
### npm
```sh
git clone https://github.com/cutls/TheDesk
@@ -88,8 +91,24 @@ npm install --only=dev
npm run construct
```
### yarn
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
# Linux or macOS
yarn install --no-lockfile
# Windows
yarn install
yarn construct
```
### electron-builder(推奨)
npm scriptsを利用します
scriptsを利用します
#### npm
```sh
# 実行している環境向けにビルド
@@ -103,6 +122,20 @@ npm run build:win
npm run build:all
```
#### yarn
```sh
# 実行している環境向けにビルド
yarn build
# ターゲットを指定してビルド
## Windows
yarn build:win
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
yarn build:all
```
ビルド設定はすべてpackage.jsonに記載しています。
### electron-packager(非推奨)

View File

@@ -108,12 +108,16 @@ function opendev() {
});
*/
}
var soundFile
function playSound() {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
if(soundFile){
soundFile.stop()
}
context = new AudioContext();
context.createBufferSource().start(0);
context.decodeAudioData(request.response, function (buf) {
console.log("Playing:" + source)
//console.log("Playing:" , source)
source.buffer = buf;
source.loop = false;
});
@@ -121,8 +125,20 @@ function playSound() {
volumeControl = context.createGain();
source.connect(volumeControl);
volumeControl.connect(context.destination);
volumeControl.gain.value = 0.8
var cvol = localStorage.getItem("customVol")
if (cvol) {
vol = cvol
}else{
vol = 0.8
}
volumeControl.gain.value = vol
source.start(0);
soundFile = source;
function newFunction() {
var source;
return source;
}
}
function nano() {
postMessage(["nano", null], "*")

View File

@@ -295,6 +295,7 @@ function redraft(id, acct_id) {
show();
del(id, acct_id);
$("#post-acct-sel").prop("disabled", true);
$('select').formSelect();
var medias = $("[toot-id=" + id + "]").attr("data-medias");
var vismode = $("[toot-id=" + id + "] .vis-data").attr("data-vis");
vis(vismode);
@@ -473,7 +474,7 @@ function staEx(mode) {
var acct_id = $("#status-acct-sel").val();
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v1/search?resolve=true&q=" + url
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + url
fetch(start, {
method: 'GET',
headers: {

View File

@@ -6,17 +6,21 @@ function additional(acct_id, tlid) {
$("#timeline-container .mention").addClass("parsed");
$("#timeline-container .hashtag").each(function (i, elem) {
$("#timeline-container .hashtag, #timeline-container [rel=tag]").each(function (i, elem) {
var tags = $(this).attr("href").match(
/https?:\/\/([-a-zA-Z0-9@.]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
);
$(this).attr("href", "#");
if (tags) {
if (tags[2]) {
$(this).attr("onclick", 'tagShow(\'' + tags[2] + '\')');
}
if(tags){
var tagThis = tags[2]
}else{
var tagThis = $(this).attr("data-tag")
}
if(tagThis){
$(this).attr("onclick", 'tagShow(\'' + tagThis + '\')');
$(this).attr("href", "#");
}
});
//トゥートサムネ

View File

@@ -596,7 +596,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
' toot-img pointer" style="max-width:100%;" loop="true"></a></span>';
} else {
if (media.type == "unknown") {
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + ']</a> '
var mty = media.remote_url.match(/.+(\..+)$/)[1]
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + '( ' + mty + ' )]</a> '
} else if (media.type == "audio") {
viewer = viewer + '<audio src="' +
url + '" class="pointer" style="width:100%;" controls></span>';
@@ -623,8 +624,6 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var to_mention = [];
Object.keys(toot.mentions).forEach(function (key3) {
var mention = toot.mentions[key3];
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
//自分は除外
//自インスタンスかどうかを確認し、IDの一致
if (mention.acct == mention.username && mention.id == localStorage.getItem("user-id_" + acct_id)) {
@@ -632,6 +631,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} else {
//そのトゥの人NG
if (toot.account.acct != mention.acct) {
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
to_mention.push(mention.acct);
}
}

View File

@@ -127,6 +127,8 @@ function voteMastodonrefresh(acct_id, id) {
var choice = choices[keyc];
if (!json.voted) {
votesel = 'voteSelMastodon(\'' + acct_id + '\',\'' + json.id + '\',' + keyc + ',' + json.multiple + ')';
}else {
votesel =""
}
poll = poll + '<div class="pointer vote vote_' + acct_id + '_' + json.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + json.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span></div>';
});

View File

@@ -98,11 +98,14 @@ function voiceSettingLoad() {
var vol = localStorage.getItem("voice_vol");
if (speed) {
$("#voicespeed").val(speed * 10);
$("#voicespeedVal").text(speed * 10);
}
if (pitch) {
$("#voicepitch").val(pitch * 50);
$("#voicepitchVal").text(pitch * 50);
}
if (vol) {
$("#voicevol").val(vol * 100);
$("#voicevolVal").text(vol * 100);
}
}

View File

@@ -161,8 +161,37 @@ function load() {
$("#c2-file").text(localStorage.getItem("custom2"));
$("#c3-file").text(localStorage.getItem("custom3"));
$("#c4-file").text(localStorage.getItem("custom4"));
var cvol = localStorage.getItem("customVol")
if (cvol) {
$("#soundvol").val(cvol * 100);
$("#soundVolVal").text(cvol * 100)
}
//$("#log").val(localStorage.getItem("errors"))
}
function customVol() {
var cvol = $("#soundvol").val()
$("#soundVolVal").text(cvol)
localStorage.setItem("customVol", cvol / 100)
var sound = localStorage.getItem("favSound");
if (sound == "default") {
var file = "../../source/notif.wav"
}else{
if (sound == "c1") {
var file = localStorage.getItem("custom1");
} else if (sound == "c2") {
var file = localStorage.getItem("custom2");
} else if (sound == "c3") {
var file = localStorage.getItem("custom3");
} else if (sound == "c4") {
var file = localStorage.getItem("custom4");
}
}
request = new XMLHttpRequest();
request.open("GET", file, true);
request.responseType = "arraybuffer";
request.onload = playSound;
request.send();
}
function climute() {
//クライアントミュート

View File

@@ -23,7 +23,7 @@ function udgEx(user, acct_id) {
var domain = localStorage.getItem("domain_" + acct_id);
if (localStorage.getItem("mode_" + domain) == "misskey") { return false; }
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v1/search?resolve=true&q=" + user
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + user
fetch(start, {
method: 'GET',
headers: {

View File

@@ -49,9 +49,9 @@
],
"license": "GPL-3.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^5.10.1",
"@fortawesome/fontawesome-free": "^5.11.0",
"electron-dl": "^1.14.0",
"jimp": "^0.7.0",
"jimp": "^0.8.2",
"jquery": "^3.4.1",
"jquery-ui-dist": "^1.12.1",
"json5": "^2.1.0",
@@ -68,6 +68,7 @@
"devDependencies": {
"electron": "^6.0.0",
"electron-builder": "^21.1.5",
"electron-rebuild": "^1.8.6",
"readline-sync": "1.4.10"
},
"build": {

View File

@@ -158,6 +158,7 @@
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"volwarn80": "0-100(default:80)",
"test": "Test",
"sample": "TheDesk is an open-source Mastodon client for PC.",
"playstop": "Play/Stop",

View File

@@ -158,6 +158,7 @@
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"volwarn80": "0-100(default:80)",
"test": "Test",
"sample": "TheDesk is an open-source Mastodon client for PC.",
"playstop": "Play/Stop",

View File

@@ -158,6 +158,7 @@
"pitchwarn": "0-100(Standard:50)",
"vol": "Lautstärke",
"volwarn": "0-100(Standard:100)",
"volwarn80": "0-100(Standard:80)",
"test": "Test",
"sample": "TheDesk ist ein Open-Source Mastodon Client für PC.",
"playstop": "Abspielen/Stoppen",

View File

@@ -158,6 +158,7 @@
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"volwarn80": "0-100(default:80)",
"test": "Test",
"sample": "TheDesk is an open-source Mastodon client for PC.",
"playstop": "Play/Stop",

View File

@@ -158,6 +158,7 @@
"pitchwarn": "0-100まで、デフォルトは50。(大きくなるほど高い)",
"vol": "読み上げの音量",
"volwarn": "0-100まで、デフォルトは100。",
"volwarn80": "0-100まで、デフォルトは80。",
"test": "テスト",
"sample": "これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。",
"playstop": "再生/停止",

View File

@@ -1,5 +1,5 @@
const fs = require("fs")
let ver = "Usamin (18.10.0)"
let ver = "Usamin (18.10.1)-beta"
const execSync = require('child_process').execSync;
let gitHash = execSync("git rev-parse HEAD").toString().trim()
fs.writeFileSync("../../git", gitHash)

View File

@@ -247,6 +247,11 @@
id="c3-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
id="c4-file"></span><br>
<h5>@@vol@@</h5>
@@volwarn80@@<br>
<p class="range-field"><span id="soundVolVal">80</span><br>
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
style="width:500px; max-width:100%" /></p>
</div>
</li>
<li>
@@ -373,15 +378,18 @@
<div class="collapsible-body">
<h5>@@speed@@</h5>
@@speedwarn@@<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
<p class="range-field"><span id="voicespeedVal">10</span><br>
<input type="range" id="voicespeed" min="1" max="100" value="10" onchange="document.getElementById('voicespeedVal').innerText=this.value"
style="width:500px; max-width:100%" /></p>
<h5>@@pitch@@</h5>
@@pitchwarn@@<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
<p class="range-field"><span id="voicepitchVal">50</span><br>
<input type="range" id="voicepitch" min="0" max="100" value="50" onchange="document.getElementById('voicepitchVal').innerText=this.value"
style="width:500px; max-width:100%" /></p>
<h5>@@vol@@</h5>
@@volwarn@@<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
<p class="range-field"><span id="voicevolVal">100</span><br>
<input type="range" id="voicevol" min="0" max="100" value="100" onchange="document.getElementById('voicevolVal').innerText=this.value"
style="width:500px; max-width:100%" /></p>
<h5>@@test@@</h5>
<input type="text" style="width:350px" id="voicetxt" value="@@sample@@">

3061
app/yarn.lock Normal file

File diff suppressed because it is too large Load Diff