Compare commits

...

47 Commits

Author SHA1 Message Date
cutls
ef1a16516f build 2021-04-15 14:50:54 +09:00
cutls
f570ed36e8 readme 2021-04-15 14:32:49 +09:00
cutls
8bcd23c0ea build name changed 2021-04-15 14:30:29 +09:00
cutls
b3d6d582d9 tgz 2021-04-15 14:26:21 +09:00
cutls
bfcda76819 created 2021-04-15 13:58:07 +09:00
cutls
6a48143b20 deb upload 2021-04-15 13:51:38 +09:00
cutls
05ca174df8 macOS build on Actions 2021-04-15 13:49:27 +09:00
cutls
a7349d574d TheDesk 22.2.0(Koume) 2021-04-15 13:00:29 +09:00
cutls
3e0a048e28 Add Theme Preview 2021-04-15 05:45:14 +09:00
cutls
54031da417 Add header height and notification tile style 2021-04-15 05:02:33 +09:00
cutls
fcedefe815 change sweetalert theme 2021-04-15 05:02:14 +09:00
cutls
c35a27eda6 new readme 2021-04-14 16:13:22 +09:00
cutls
b6b8fa27d5 minimum readme 2021-04-14 15:45:19 +09:00
cutls
59a0aae887 listed 2021-04-14 15:29:42 +09:00
cutls
0698ce07fd license of other assets 2021-04-14 15:28:28 +09:00
cutls
77e4dd6c41 move 2021-04-14 15:24:12 +09:00
cutls
db90eddf31 intro Wiki 2021-04-14 15:21:00 +09:00
cutls
a8f060578a add programatic and command line build tool with TypeScript declaration 2021-04-14 13:58:21 +09:00
cutls
8621b66203 add arm64 platform 2021-04-14 13:11:33 +09:00
cutls
cff6be6af0 change 2021-04-13 16:28:35 +09:00
cutls
57b4518b61 only mac 2021-04-13 16:19:24 +09:00
cutls
de13191674 typo 2021-04-13 16:19:02 +09:00
cutls
6b609a1877 new build 2021-04-13 16:16:22 +09:00
cutls
901c536974 publish never 2021-04-13 15:54:31 +09:00
cutls
f719caab4b prevent GH upload? 2021-04-13 15:09:41 +09:00
cutls
6a1e5e9e40 Merge branch 'master' of github.com:cutls/TheDesk 2021-04-13 14:57:12 +09:00
cutls
4b30c22cfb build.js update 2021-04-13 14:56:58 +09:00
Cutls
6384d0ea8c Update build.yml 2021-04-13 14:52:58 +09:00
Cutls
77f832447e Create build.yml 2021-04-13 14:41:39 +09:00
cutls
d7eadd03f2 tmp delete actions 2021-04-13 14:41:11 +09:00
cutls
c7b55f6edb gh-a error 2021-04-13 14:37:23 +09:00
cutls
48b98eb55a Merge branch 'master' of github.com:cutls/TheDesk 2021-04-13 14:33:27 +09:00
cutls
7d318a688c travis 2021-04-13 14:33:15 +09:00
Cutls
93b5b98f23 Update build.yml 2021-04-13 14:31:52 +09:00
Cutls
f27737158c fix 2021-04-13 14:30:37 +09:00
Cutls
63bcb03abd Use GitHub Actions to create Windows assets 2021-04-13 14:26:29 +09:00
cutls
660c91e230 travis 2021-04-13 14:03:38 +09:00
cutls
594a8c9494 travis 2021-04-13 14:01:36 +09:00
cutls
83dee56266 2 2021-04-13 13:48:59 +09:00
cutls
4e2f3ad68a 22.1.2 beta test 2021-04-13 13:11:55 +09:00
cutls
36d1293759 test 2021-04-13 13:10:55 +09:00
cutls
6ba75c93e4 update 2021-04-13 12:50:52 +09:00
cutls
ef8074b9cb fix 2021-04-13 12:35:31 +09:00
cutls
ad5d15b0c3 typo 2021-04-13 12:31:54 +09:00
cutls
aa7d5e4586 new build method with Apple notarize, electron-build programatic API 2021-04-13 12:31:17 +09:00
Cutls
e2c0fda4c9 New Crowdin updates (#477)
* New translations setting.json (Russian)

* New translations setting.json (Turkish)

* New translations setting.json (Swedish)

* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (Portuguese)

* New translations setting.json (Polish)

* New translations setting.json (Norwegian)

* New translations setting.json (Dutch)

* New translations setting.json (Cornish)

* New translations setting.json (Sinhala)

* New translations setting.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Ukrainian)

* New translations setting.json (Vietnamese)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations main.json (Catalan)

* New translations setting.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations setting.json (Afrikaans)

* New translations setting.json (Spanish)

* New translations setting.json (Romanian)

* New translations setting.json (French)

* New translations setting.json (Catalan)

* New translations setting.json (Italian)

* New translations setting.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations setting.json (Finnish)

* New translations setting.json (Greek)

* New translations setting.json (German)

* New translations setting.json (Danish)

* New translations setting.json (Czech)

* New translations setting.json (English)
2021-04-09 17:19:46 +09:00
cutls
b42105fabe Revival TweetDeck Integration 2021-04-09 16:35:40 +09:00
89 changed files with 1470 additions and 1056 deletions

43
.github/workflows/build-linux.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Linux build
on:
release:
types:
- created
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: cd app && yarn
- run: cd app && yarn build:all
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.zip"
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.snap"
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.deb"
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.AppImage"

42
.github/workflows/build-macos.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: macOS build
on:
release:
types:
- created
jobs:
build:
runs-on: macos-latest
environment:
name: build
env:
APPLEID: ${{ secrets.APPLEID }}
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.CSC_LINK}}
strategy:
matrix:
node-version: [14.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: cd app && yarn
- run: cd app && yarn build:all
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.zip"
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.dmg"

35
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Windows build
on:
release:
types:
- created
jobs:
build:
runs-on: windows-latest
strategy:
matrix:
node-version: [14.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: cd app && yarn
- run: cd app && yarn build:all
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.exe"
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: "build/*.appx"

4
.gitignore vendored
View File

@@ -33,3 +33,7 @@ app/view/zh-CN
app/view/ru-RU app/view/ru-RU
app/view/zh-TW app/view/zh-TW
app/view/pt-BR app/view/pt-BR
app/build.js
app/view/make/make.js
app/view/make/makeCli.ts
app/.env

View File

@@ -1,54 +1,19 @@
os: matrix:
- windows include:
- linux - os: osx
- osx osx_image: xcode11.3
language: node_js language: node_js
env: env:
- YARN_GPG=no - YARN_GPG=no
node_js: node_js:
- '12.17.0' - '14.16.1'
cache: cache:
yarn: true yarn: true
script: node -v script: node -v
before_deploy: before_deploy:
- yarn global add electron-builder
- yarn global add browserify
- cd app - cd app
- VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]') - yarn
- yarn install --no-lockfile --prod - yarn build:all
- yarn construct:store
- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "osx" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "osx" ];then mv *.dmg TheDesk-$VERSION-store.dmg;else :;fi
- if [ "$TRAVIS_OS_NAME" = "osx" ];then cd ../app;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux snap:x64 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv *.snap TheDesk-$VERSION-store.snap;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 appx:x64 -p never ;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv *.appx TheDesk-$VERSION-store.appx;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../app;else :;fi
- 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 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
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv TheDesk-setup.exe TheDesk-setup-ia32.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv *$VERSION.exe TheDesk-ia32.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../app;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then electron-builder --win --x64 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then ls;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv ../build/TheDesk-setup.exe ../build/TheDesk-setup.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv ../build/*$VERSION.exe ../build/TheDesk.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../app;else :;fi
- cd ../ - cd ../
- ls build - ls build
deploy: deploy:

173
README.md
View File

@@ -1,9 +1,14 @@
<img src="https://thedesk.top/img/top.png" width="300" align="left"> **English** | [日本語](README_ja.md)
<img src="https://thedesk.top/img/desk.png" width="150" align="right">
# TheDesk <div align="center">
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk) <img src="https://thedesk.top/img/desk.png" width="150" align="center">
<h1 align="center">TheDesk</h1>
[![Windows build](https://github.com/cutls/TheDesk/actions/workflows/build.yml/badge.svg)](https://github.com/cutls/TheDesk/actions/workflows/build.yml)
[![Linux build](https://github.com/cutls/TheDesk/actions/workflows/build-linux.yml/badge.svg)](https://github.com/cutls/TheDesk/actions/workflows/build-linux.yml)
[![Linux build](https://github.com/cutls/TheDesk/actions/workflows/build-macos.yml/badge.svg)](https://github.com/cutls/TheDesk/actions/workflows/build-macos.yml)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
[![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ) [![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ)
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases) [![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
@@ -13,156 +18,40 @@ Mastodon/Misskey client for PC(Windows/Linux/macOS)
Download:[TheDesk](https://thedesk.top) Download:[TheDesk](https://thedesk.top)
On GitHub Releases, `-store.*` assets are made for some application store or manager(Snapcraft, Homebrew, Microsoft Store). </div>
They do not check the latest version(Which you can get the latest ver or not depends on the store)
<a href="https://www.patreon.com/cutls"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160"></a>
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
![Screenshots1](https://thedesk.top/img/scr1.png) ![Screenshots1](https://thedesk.top/img/scr1.png)
## License ## Build and Development
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE) See [Wiki](https://github.com/cutls/TheDesk/wiki)
The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/) ## Translation
[Press Kit](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip)
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
The default sounds of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
## Privacy Policy
* [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html)
## Language
* 日本語(Japanese)
* 日本語, 関西(Japanese, Kansai)
* English
* български(Bulgarian) with [translate project](https://translate.thedesk.top/project/thedesk/bg)
* Česky(Czech) with [translate project](https://translate.thedesk.top/project/thedesk/cs)
* Deutsch(German) with [translate project](https://translate.thedesk.top/project/thedesk/de)
* Español, argentina(Spanish, Argentina) with [translate project](https://translate.thedesk.top/project/thedesk/es-AR)
* italiano(Italian) with [translate project](https://translate.thedesk.top/project/thedesk/it-IT)
### Translation
Crowdin project is available! Visit: https://translate.thedesk.top Crowdin project is available! Visit: https://translate.thedesk.top
### Run on developer mode
`npm run dev` on `app` folder.(before you should run `yarn construct` to make HTML views)
If you change HTML or language files, you should rub to `yarn construct`. Or `yarn watchview` can always watch and construct such files with 1 process.
## Contributors
Build for macOS(Now: Travis CI)
* [toneji](https://minohdon.jp/@toneji)
Build for Linux(Now: Travis CI)
* [popn_ja](https://popon.pptdn.jp/@popn_ja)
Fellow coder
* [kPherox](https://pl.kpherox.dev/kPherox)
## Build
You should use `yarn` but you can use also `npm`, but if you build on Windows, you should strongly use `yarn`
`yarn ***` and `npm run ***` has the same meaning,
### npm
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
npm install
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 `yarn dev` to launch developer version with console(click `view`)
### electron-builder(Recommended)
Use scripts(they can work well with npm, **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
`yarn --D electron-rebuild`
Linux/macOS
`./node_modules/.bin/electron-rebuild`
Windows
`.\node_modules\.bin\electron-rebuild.cmd`
To install Python 2.x and Visual C++ for Windows, before running `npm install --save-dev electron-rebuild`
`npm install --global windows-build-tools`
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=4.0.5 --icon=.\app\thedesk.ico --overwrite
```
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=4.0.5 --overwrite
```
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=4.0.5 --icon=./app/icon.icns --overwrite
```
### PWA support
TheDesk is a web-based app, so you can run it on a browser. Of course, the main stream is as Electron. Some features won't work as well as Electron.
You can run `npm run build:pwa` to build as PWA, including `manifest.json` and the ServiceWorker.
**You have to rename `node_modules` to `dependencies` to run as a web application. (restricted by Netlify, but always you should do to run as PWA)**
Check the app on Chrome or Firefox: [Here](https://app.thedesk.top) (it follows the `master` branch, so not stable.)
[![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys)
## Pleroma support ## Pleroma support
Did you find a bug with Pleroma accounts? Did you find a bug with Pleroma accounts?
Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so. Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so.
Please write issues to improve TheDesk affinity with Pleroma. Please write issues to improve TheDesk affinity with Pleroma.
## Vulnerabilities when `yarn install`??? ## License
No, if your npm says materialize-css has vulnerabilities(CVE-2019-11002/3/4), look at [here](https://github.com/Dogfalo/materialize/issues/6286) under discussion, but I do not think this report is really fatal. * [GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
* [License of other assets](https://github.com/cutls/TheDesk/wiki/License-of-other-assets)
* [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html)
## Contributors
* <img src="https://user-images.githubusercontent.com/17561618/66582029-162df380-ebbc-11e9-8a6f-1832b3a35d89.png" width="20">[toneji](https://minohdon.jp/@toneji) Build for macOS(Now: Travis CI)
* <img src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4" width="20">[popn_ja](https://popon.pptdn.jp/@popn_ja) Build for Linux(Now: Travis CI)
* <img src="https://user-images.githubusercontent.com/17561618/66582379-a3714800-ebbc-11e9-8402-d81a35a3be9f.png" width="20">[kPherox](https://pl.kpherox.dev/kPherox) Fellow coder
## Support
<a href="https://www.patreon.com/cutls"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" height="30"></a>
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg" height="30"></a>
<a href="https://cutls.fanbox.cc"><img alt="PixivFANBOX" src="https://thedesk.top/img/fanbox.png" height="30"></a>
Or [others](https://cutls.dev) to support me.

View File

@@ -1,9 +1,14 @@
<img src="https://thedesk.top/img/top.png" width="300" align="left"> [English](README.md) | **日本語**
<img src="https://thedesk.top/img/desk.png" width="150" align="right">
# TheDesk <div align="center">
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk) <img src="https://thedesk.top/img/desk.png" width="150" align="center">
<h1 align="center">TheDesk</h1>
[![Windows build](https://github.com/cutls/TheDesk/actions/workflows/build.yml/badge.svg)](https://github.com/cutls/TheDesk/actions/workflows/build.yml)
[![Linux build](https://github.com/cutls/TheDesk/actions/workflows/build-linux.yml/badge.svg)](https://github.com/cutls/TheDesk/actions/workflows/build-linux.yml)
[![Linux build](https://github.com/cutls/TheDesk/actions/workflows/build-macos.yml/badge.svg)](https://github.com/cutls/TheDesk/actions/workflows/build-macos.yml)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
[![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ) [![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ)
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases) [![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
@@ -12,149 +17,17 @@ Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント オープンソースSNSマストドン/MisskeyのPC向けクライアント
Download:[TheDesk](https://thedesk.top) Download:[TheDesk](https://thedesk.top)
[Pixiv FANBOX](https://www.pixiv.net/fanbox/creator/28105985) </div>
`-store.*`とあるアセットはストアやパッケージマネージャ向けのもので、アップデートの確認をソフト本体で行いません。
![Screenshots1](https://thedesk.top/img/scr1.png) ![Screenshots1](https://thedesk.top/img/scr1.png)
## ライセンス ## 翻訳
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
アイコンは[クリエイティブ・コモンズ 表示-非営利-継承](https://creativecommons.org/licenses/by-nc-sa/4.0/)で提供されています。
[プレスキット](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip)
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
標準の通知音は [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/) で提供されています。
## プライバシーポリシー
* [プライバシーポリシー](https://thedesk.top/priv.html)
## 言語
* 日本語
* 日本語(関西)
* English(英語)
* ドイツ語, チェコ語, ブルガリア語, イタリア語, スペイン語アルゼンチン方言 (from [Crowdin](https://translate.thedesk.top))
### 翻訳
Crowdinから翻訳に参加してみませんか: https://translate.thedesk.top Crowdinから翻訳に参加してみませんか: https://translate.thedesk.top
以下、`yarn ***`は全て`npm run ***`で実行できます。(yarnが推奨) ## ビルドと開発
### デベロッパーモード [Wiki](https://github.com/cutls/TheDesk/wiki)を参照。
`yarn dev``app`フォルダ内で実行。
ただし、最初に`yarn construct`必須。
watchモード(ホットリロードはしません): `yarn construct`の代わりに`yarn watchview`
HTMLや言語定義の変更について、このコマンドで継続監視します。その他のアセットの変更には不要です。
プロセス1つを占拠するので、`yarn dev`は他のプロセスで行ってください。
## 主なコントリビューター
macOSビルダー(現在はTravis CI)
* [とねぢ](https://minohdon.jp/@toneji)
Linuxビルダー(現在はTravis CI)
* [ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja)
コーダー
* [kPherox](https://pl.kpherox.dev/kPherox)
## ビルド
npmでもyarnでも好きな方を選んでください。Windows環境ではyarnを強く推奨します。
### npm
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
npm install
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(推奨)
scriptsを利用します
```sh
# 実行している環境向けにビルド
yarn build
# ターゲットを指定してビルド
## Windows
yarn build:win
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
yarn build:all
```
ビルド設定はすべてpackage.jsonに記載しています。
### electron-packager(非推奨)
`yarn -D electron-rebuild`
Linux/macOS
`./node_modules/.bin/electron-rebuild`
Windows
`.\node_modules\.bin\electron-rebuild.cmd`
WindowsでPython 2.xやVisualC++を一発でインストールできるツールもあります(`npm install --save-dev electron-rebuild`の前に)
`npm install --global windows-build-tools`
日本語話者向けですが、macOSビルドにはXCodeが要るとの情報があります。([とねぢ](https://minohdon.jp/@toneji)氏談)
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=4.0.5 --icon=.\app\thedesk.ico --overwrite
```
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=4.0.5 --overwrite
```
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=4.0.5 --icon=./app/icon.icns --overwrite
```
### PWAとして実行
TheDeskはウェブ技術を使用して作られているので、ブラウザで動かすこともできます。もちろん、Electron向けに設計されているので一部機能は動きません。
`yarn build:pwa`でビルドできます。PWAに必要な`manifest.json`やサービスワーカーなども用意されています。
**`node_modules`を`dependencies`にリネームしないと動きません。(Netlifyの制限ですが、Netlify以外で動かす場合にも必須です)**
ChromeまたはFirefoxでチェック: [こちら](https://app.thedesk.top) (`master`ブランチに追従しています。不安定です。)
[![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys)
## Pleromaのサポート ## Pleromaのサポート
@@ -165,7 +38,22 @@ Issuesに書いてある問題についてはなるべく対処しますので
[TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk) [TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk)
## `yarn install`したら脆弱性あるって言われた ## ライセンス
materialize-cssの脆弱性(CVE-2019-11002/3/4)については[こちら](https://github.com/Dogfalo/materialize/issues/6286)で本当に脆弱性かどうか議論しています。 * [GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
実際には害が無いものと思われます。 * [License of other assets](https://github.com/cutls/TheDesk/wiki/License-of-other-assets)
* [プライバシーポリシー](https://thedesk.top/priv.html)
## 主なコントリビューター
* <img src="https://user-images.githubusercontent.com/17561618/66582029-162df380-ebbc-11e9-8a6f-1832b3a35d89.png" width="20">[とねぢ](https://minohdon.jp/@toneji) macOSビルダー(現在はTravis CI)
* <img src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4" width="20">[ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja) Linuxビルダー(現在はTravis CI)
* <img src="https://user-images.githubusercontent.com/17561618/66582379-a3714800-ebbc-11e9-8402-d81a35a3be9f.png" width="20">[kPherox](https://pl.kpherox.dev/kPherox)
## 支援
<a href="https://www.patreon.com/cutls"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" height="30"></a>
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg" height="30"></a>
<a href="https://cutls.fanbox.cc"><img alt="PixivFANBOX" src="https://thedesk.top/img/fanbox.png" height="30"></a>
[その他の支援法](https://cutls.dev)

14
app/build.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
declare function _exports(options?: {
onlyStore?: boolean;
withStore?: boolean;
withIa32?: boolean;
withArm64?: boolean;
windows?: boolean;
linux?: boolean;
macOS?: boolean;
skipWindows?: boolean;
skipLinux?: boolean;
skipMacOS?: boolean;
unnotarize?: boolean;
}): void;
export = _exports;

View File

@@ -1,112 +1,225 @@
const builder = require("electron-builder"); const builder = require('electron-builder')
const fs = require('fs'); const path = require('path')
const os = process.platform; const fs = require('fs')
const basefile = __dirname + '/'
const package = fs.readFileSync(basefile + 'package.json')
const data = JSON.parse(package)
const version = data.version
const codename = data.codename
const ver = `${version} (${codename})`
const construct = require('./view/make/make.js')
const { platform, arch } = process
const Platform = builder.Platform const Platform = builder.Platform
const Arch = builder.Arch const Arch = builder.Arch
const targets = new Map(); const artifactName = 'TheDesk-setup-${arch}.${ext}'
const archToType = new Map(); const config = {
const pref = { productName: 'TheDesk',
productName: "TheDesk", appId: 'top.thedesk',
appId: "top.thedesk", asarUnpack: ['node_modules/itunes-nowplaying-mac', 'main/script'],
asarUnpack: [ afterSign: 'build/notarize.js',
"node_modules/itunes-nowplaying-mac"
],
directories: { directories: {
output: "../build/" output: '../build',
}, },
win: { win: {
icon: "build/thedesk.ico", icon: 'build/thedesk.ico',
target: [ target: ['nsis', 'appx', 'portable'],
"nsis", publish: []
"portable",
"appx"
]
}, },
appx: { appx: {
identityName: "53491Cutls.TheDesk", identityName: '53491Cutls.TheDesk',
applicationId: "Cutls.TheDesk", applicationId: 'Cutls.TheDesk',
publisherDisplayName: "Cutls", publisherDisplayName: 'Cutls',
publisher: "CN=629757F5-A5EE-474F-9562-B304A89A9FD1", publisher: 'CN=629757F5-A5EE-474F-9562-B304A89A9FD1',
languages: [ languages: ['JA-JP', 'EN-US'],
"JA-JP",
"EN-US"
]
}, },
nsis: { nsis: {
oneClick: false, oneClick: false,
allowToChangeInstallationDirectory: true allowToChangeInstallationDirectory: true,
artifactName: 'TheDesk-setup-${arch}.${ext}',
}, },
linux: { linux: {
icon: "build/icons", target: ['zip', 'appImage', 'snap', 'deb'],
target: [ category: 'Network',
"zip",
"snap"
],
category: "Network"
}, },
mac: { mac: {
target: [ hardenedRuntime: true,
"dmg", gatekeeperAssess: false,
"zip" entitlements: 'build/entitlements.mac.plist',
] entitlementsInherit: 'build/entitlements.mac.plist',
}, },
electronDownload: { dmg: {
version: "5.0.1" sign: false,
}, },
electronVersion: "5.0.1"
} }
const json = JSON.parse(fs.readFileSync("package.json", 'utf8'));
const version = json.version;
async function build(os, arch, config) {
if (os == "win32") { let targets = new Map()
archToType.set(Arch.ia32, []); let archToType = new Map()
targets.set(Platform.WINDOWS, archToType); archToType.set(arch, [])
} else if (os == "linux") { targets.set(os, archToType)
archToType.set(Arch.x64, []); await builder.build({
archToType.set(Arch.ia32, []); targets: targets,
targets.set(Platform.LINUX, archToType); config: config,
} else if (os == "darwin") { publish: 'never'
archToType.set(Arch.x64, []); })
targets.set(Platform.MAC, archToType); }
} else { async function cmd(options) {
if (isTrue(options, 'help', 'h')) {
return console.log(help())
}
if (isTrue(options, 'onlyStore') || isTrue(options, 'withStore')) {
console.log('start building for application stores')
construct(ver, basefile, false, true)
if ((platform == 'win32' && !isTrue(options, 'skiWindows')) || isTrue(options, 'windows', 'w')) {
if ((isTrue(options, 'withIa32') && arch == 'x64') || arch == 'ia32') {
config.nsis.artifactName = artifactName.replace('${arch}', 'ia32')
await build(Platform.WINDOWS, Arch.ia32, config)
fs.renameSync(
`../build/TheDesk ${version}.exe`,
'../build/TheDesk-ia32-store.exe'
)
fs.renameSync(
`../build/TheDesk-setup-ia32.exe`,
'../build/TheDesk-setup-ia32-store.exe'
)
}
if (arch == 'x64') {
config.nsis.artifactName = artifactName.replace('${arch}', 'x64')
await build(Platform.WINDOWS, Arch.x64, config)
fs.renameSync(
`../build/TheDesk ${version}.exe`,
'../build/TheDesk-store.exe'
)
fs.renameSync(
`../build/TheDesk-setup-x64.exe`,
'../build/TheDesk-setup-store.exe'
)
}
}
if ((platform == 'linux' && !isTrue(options, 'skipLinux')) || isTrue(options, 'linux', 'l')) {
if (arch == 'ia32') {
await build(Platform.LINUX, Arch.ia32, config)
}
if ((isTrue(options, 'withIa32') && arch == 'x64')) {
console.log('snapcraft does not curretly support builing i386 on amd64')
}
if (arch == 'x64') {
await build(Platform.LINUX, Arch.x64, config)
if (!isTrue(options, 'onlyStore')) {
fs.renameSync(
`../build/thedesk_${version}_amd64.snap`,
`../build/thedesk_${version}_amd64-store.snap`
)
}
}
}
}
if (!isTrue(options, 'onlyStore')) {
console.log('start building for normal usage')
construct(ver, basefile, false, false)
if ((platform == 'win32' && !isTrue(options, 'skiWindows')) || isTrue(options, 'windows', 'w')) {
if ((isTrue(options, 'withIa32') && arch == 'x64') || arch == 'ia32') {
config.nsis.artifactName = artifactName.replace('${arch}', 'ia32')
await build(Platform.WINDOWS, Arch.ia32, config)
fs.renameSync(
`../build/TheDesk ${version}.exe`,
'../build/TheDesk-ia32.exe'
)
}
if (arch == 'x64') {
config.nsis.artifactName = artifactName.replace('${arch}', 'x64')
await build(Platform.WINDOWS, Arch.x64, config)
fs.renameSync(
`../build/TheDesk ${version}.exe`,
'../build/TheDesk.exe'
)
fs.renameSync(
`../build/TheDesk-setup-x64.exe`,
'../build/TheDesk-setup.exe'
)
}
if ((isTrue(options, 'withArm64') && arch == 'x64') || arch == 'arm64') {
await build(Platform.WINDOWS, Arch.arm64, config)
fs.renameSync(
`../build/TheDesk ${version}.exe`,
'../build/TheDesk-arm64.exe'
)
}
}
if ((platform == 'linux' && !isTrue(options, 'skipLinux')) || isTrue(options, 'linux', 'l')) {
if (arch == 'ia32') {
await build(Platform.LINUX, Arch.ia32, config)
}
if (isTrue(options, 'withIa32') && arch == 'x64') {
console.log('snapcraft does not curretly support builing i386 on amd64')
}
if (arch == 'x64') {
await build(Platform.LINUX, Arch.x64, config)
fs.renameSync(
`../build/thedesk_${version}_amd64.snap`,
`../build/thedesk_${version}_amd64-normal.snap`
)
if (isTrue(options, 'onlyStore') || isTrue(options, 'withStore')) {
fs.renameSync(
`../build/thedesk_${version}_amd64-store.snap`,
`../build/thedesk_${version}_amd64.snap`
)
}
}
}
if (platform == 'darwin' && !isTrue(options, 'skipMacOS')) {
if(isTrue(options, 'unnotarize')) delete config.afterSign
await build(Platform.MAC, Arch.x64, config)
}
}
}
function isTrue(options, long, short) {
const { argv } = process
if (options ? options[long] : 0) return true
if (argv.includes(`--${long}`)) return true
if (short && argv.includes(`-${short}`)) return true
return false return false
} }
builder.build({ function help() {
targets: targets, return `
config: pref TheDesk Builder command tool
}) yarn build [options] (or node build.js [options])
.then(() => { yarn build:[preset] (check package.json)
console.log("Done on "+os)
if (os == "win32") { --help or -h: show help
console.log("Windows")
fs.renameSync('../build/TheDesk ' + version + '.exe', '../build/TheDesk-ia32.exe'); [Build for other platforms]
fs.renameSync('../build/TheDesk Setup ' + version + '.exe', '../build/TheDesk-setup-ia32.exe'); --windows (-w)
retry() --linux (-l)
}else if (os == "linux") {
console.log("Linux") --skipWindows
fs.renameSync('../build/thedesk-' + version + '.zip', '../build/TheDesk.zip'); --skipLinux
fs.renameSync('../build/TheDesk Setup ' + version + '.exe', '../build/TheDesk-setup-ia32.exe'); --skipMacOS
} To skip building for itself platform.
})
.catch((error) => {
// handle error [only Windows, Linux]
}) --onlyStore: application store of platforms assets(without update check)
function retry(){ --withStore: application store assets and normal version
console.log("Windows x64")
const targetsAlt = new Map(); [only Windows]
const archToTypeAlt = new Map();
targetsAlt.set(Platform.WINDOWS, archToTypeAlt); --withIa32: ia32 build on x64 system(if your machine is ia32, it will be built if this arg is not passed)
archToTypeAlt.set(Arch.x64, []); --withArm64(beta) arm64 build on x64 system(if your machine is arm64, it will be built if this arg is not passed, and not build store build for arm64)
builder.build({
targets: targetsAlt, [only macOS]
config: pref --unnotarize: Without notarize
}) `
.then(() => {
fs.renameSync('../build/TheDesk Setup ' + version + '.exe', '../build/TheDesk-setup.exe');
fs.renameSync('../build/TheDesk ' + version + '.exe', '../build/TheDesk.exe');
})
.catch((error) => {
// handle error
})
} }
/**
* Builder
* @module builder
* @param {Object} [options] - Options
* @param {boolean} [options.onlyStore] - App Store of platforms assets(without update check)
* @param {boolean} [options.withStore] - App Store of platforms assets(without update check) assets and normal version
* @param {boolean} [options.withIa32] - [Windows only] ia32 build on x64 system(if your machine is ia32, it will be built if this arg is not passed)
* @param {boolean} [options.withArm64] - [Windows only(beta)] arm64 build on x64 system(if your machine is arm64, it will be built if this arg is not passed, and not build store build for arm64)
* @return {void}
*/
module.exports = cmd

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
</dict>
</plist>

23
app/build/notarize.js Normal file
View File

@@ -0,0 +1,23 @@
require('dotenv').config()
const { notarize } = require('electron-notarize')
// Notarizeをしない場合、下のuseNotarizeをtrueからfalseに変更してください。
const useNotarize = true
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context
if (electronPlatformName !== 'darwin' || !useNotarize) return
const appName = context.packager.appInfo.productFilename
console.log(`start notarize: ${appOutDir}/${appName}.app`)
try {
return await notarize({
appBundleId: 'top.thedesk',
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
})
} catch (e) {
throw console.log(e)
}
}

2
app/buildCli.js Normal file
View File

@@ -0,0 +1,2 @@
const cmd = require('./build')
cmd()

View File

@@ -103,7 +103,6 @@ option {
cursor: pointer; cursor: pointer;
} }
.badge { .badge {
min-width: 0 !important;
margin-left: 0.4rem !important; margin-left: 0.4rem !important;
} }
.unvisible { .unvisible {
@@ -499,13 +498,24 @@ textarea {
font-size: 1rem !important; font-size: 1rem !important;
font-family: inherit; font-family: inherit;
} }
.swal2-popup { .swal2-popup, .swal2-header {
background-color: var(--subcolor) !important; background-color: var(--subcolor) !important;
} }
.swal2-title, .swal2-title,
.swal2-content { .swal2-content {
color: var(--text) !important; color: var(--text) !important;
} }
h2.swal2-title {
margin: 0;
line-height: 100%;
}
.swal2-close:focus {
background-color: inherit !important;
box-shadow: none !important;
}
.swal2-actions {
background-color: var(--modalfooter);
}
#src-contents svg { #src-contents svg {
margin-right: 0.4rem; margin-right: 0.4rem;
} }

8
app/css/sweetalert2-material.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -260,7 +260,7 @@ iframe,
width: 100%; width: 100%;
display: grid; display: grid;
grid-template-columns: 3.3rem 2fr 1fr; grid-template-columns: 3.3rem 2fr 1fr;
grid-template-rows: auto 1.6rem 1fr auto 2.5rem; grid-template-rows: auto 1.6rem 1fr auto 1.9rem;
grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'space toot toot' 'space additional additional' 'vis actions side'; grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'space toot toot' 'space additional additional' 'vis actions side';
} }
.hide-actions { .hide-actions {
@@ -353,15 +353,26 @@ iframe,
.area-actions { .area-actions {
padding: 0; padding: 0;
margin: 0; margin: 0;
top: -0.4rem;
position: relative;
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
max-width: 100%; max-width: 100%;
grid-area: actions; grid-area: actions;
} }
.area-actions .btn-flat {
height: 1rem;
line-height: 1rem;
}
.area-actions .btn-flat,
.area-vis i,
.area-side .btn-flat {
margin: 0;
}
.area-side i {
line-height: initial;
}
.area-vis { .area-vis {
margin: 0.4rem; margin: 0.2rem;
grid-area: vis; grid-area: vis;
text-align: center; text-align: center;
} }
@@ -534,6 +545,18 @@ p:not(:last-child) {
grid-template-rows: 2.3rem 2.3rem; grid-template-rows: 2.3rem 2.3rem;
grid-template-areas: 'notice notice_name notice_name a2' 'notice a1 sta a3' 'notf-box notf-box notf-box notf-box'; grid-template-areas: 'notice notice_name notice_name a2' 'notice a1 sta a3' 'notf-box notf-box notf-box notf-box';
} }
.small-header.notice-box {
min-height: 2rem;
grid-template-columns: 2.3rem 1fr 5rem 2rem 2rem;
grid-template-rows: 1.8rem;
grid-template-areas: 'notice notice_name a1 a3 a2';
}
.small-header.has-notf.notice-box {
min-height: 2rem;
grid-template-columns: 2.3rem 1fr 8rem 5rem 2rem 2rem;
grid-template-rows: 1.8rem;
grid-template-areas: 'notice notice_name sta a1 a3 a2';
}
.emp { .emp {
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
@@ -542,6 +565,25 @@ p:not(:last-child) {
.area-notice { .area-notice {
grid-area: notice; grid-area: notice;
} }
.small-header .area-notice {
margin: 0;
}
.small-header .area-sta {
display: none;
}
.small-header.has-notf .area-sta {
overflow-x: scroll;
overflow-y: hidden;
height: 2rem;
width: 8rem;
display: flex;
}
.area-sta .hide {
display: inline-block !important;
}
.small-header .area-sta::-webkit-scrollbar {
height: 5px;
}
.area-notice_name { .area-notice_name {
grid-area: notice_name; grid-area: notice_name;
@@ -558,6 +600,10 @@ p:not(:last-child) {
grid-area: a1; grid-area: a1;
} }
.area-sta { .area-sta {
display: none;
}
.has-notf .area-sta {
display: block;
text-align: center; text-align: center;
grid-area: sta; grid-area: sta;
} }
@@ -624,8 +670,7 @@ p:not(:last-child) {
border: thin solid gray; border: thin solid gray;
border-bottom: 2px solid white; border-bottom: 2px solid white;
grid-area: notf-box; grid-area: notf-box;
box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3), 0px -10px 10px 0px rgba(0, 0, 0, 0.3) inset;
0 5px 5px -3px rgba(0, 0, 0, 0.3), 0px -10px 10px 0px rgba(0, 0, 0, 0.3) inset;
} }
.notf-indv-box label span { .notf-indv-box label span {
padding-left: 23px !important; padding-left: 23px !important;
@@ -639,9 +684,12 @@ p:not(:last-child) {
height: 70px; height: 70px;
text-align: center; text-align: center;
} }
.notf-exclude-btn {
border: 1px solid;
}
.notf-exclude-btn:hover { .notf-exclude-btn:hover {
background-color: inherit !important; background-color: inherit !important;
border: 1px solid; filter: brightness(70%);
} }
.type-b { .type-b {
display: none; display: none;
@@ -756,7 +804,9 @@ p:not(:last-child) {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.fav_ct, .rt_ct, .rep_ct { .fav_ct,
.rt_ct,
.rep_ct {
font-size: 1.1rem; font-size: 1.1rem;
} }
.shared.selectedToot { .shared.selectedToot {
@@ -856,6 +906,14 @@ audio {
.box .ui-resizable-se { .box .ui-resizable-se {
display: none !important; display: none !important;
} }
.small-header .top-icon {
font-size: 2rem !important;
padding-top: 0%;
}
.top-icon {
font-size: 40px !important;
padding-top: 25%;
}
.announcement { .announcement {
padding: 0.38rem; padding: 0.38rem;
border-bottom: 1px solid; border-bottom: 1px solid;

6
app/gitHash.js Normal file
View File

@@ -0,0 +1,6 @@
const fs = require('fs')
const execSync = require('child_process').execSync
const gitHash = execSync('git rev-parse HEAD')
.toString()
.trim()
fs.writeFileSync('git', gitHash)

View File

@@ -537,9 +537,10 @@ function multiSelector(parseC) {
} }
last = last + '' last = last + ''
var sel var sel
const webview = localStorage.getItem('webview_setting') === 'true'
if (obj.length < 1) { if (obj.length < 1) {
$('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>') $('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>')
$('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + `</option>${webview ? `<option value="webview">TweetDeck</option>` : ''}`)
} else { } else {
Object.keys(obj).forEach(function (key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key] var acct = obj[key]
@@ -610,7 +611,7 @@ function multiSelector(parseC) {
$('#add-acct-sel').append( $('#add-acct-sel').append(
'<option value="noauth">' + '<option value="noauth">' +
lang.lang_login_noauth + lang.lang_login_noauth +
'</option><!--option value="webview">Twitter</option-->' `</option>${webview ? `<option value="webview">TweetDeck</option>` : ''}`
) )
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
} }

View File

@@ -205,8 +205,6 @@ function multiDel(target) {
text: obj[target]['user'] + '@' + obj[target]['domain'] + lang.lang_manager_confirm, text: obj[target]['user'] + '@' + obj[target]['domain'] + lang.lang_manager_confirm,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {
@@ -299,8 +297,6 @@ function multiDel2(target) {
text: obj[target]['user'] + '@' + obj[target]['domain'] + lang.lang_manager_confirm, text: obj[target]['user'] + '@' + obj[target]['domain'] + lang.lang_manager_confirm,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {

View File

@@ -198,6 +198,8 @@ onmessage = function (e) {
type: 'info', type: 'info',
title: e.data[1] title: e.data[1]
}) })
} else if (e.data[0] == 'twitterLoginComplete') {
location.reload()
} }
} }
/* PWA */ /* PWA */

View File

@@ -3,7 +3,7 @@ window.onload = function () {
initPostbox() initPostbox()
connection() connection()
initPlugin(plugins) initPlugin(plugins)
if(localStorage.getItem('control-center-np')) $('#ccnp').removeClass('hide') if (localStorage.getItem('control-center-np')) $('#ccnp').removeClass('hide')
} }
$.strip_tags = function (str, allowed) { $.strip_tags = function (str, allowed) {
if (!str) { if (!str) {
@@ -290,3 +290,23 @@ function statusModel(now) {
poll: null poll: null
} }
} }
function webviewFinder() {
const webview = document.querySelector('webview')
webview.addEventListener('did-navigate', (e) => {
const url = webview.getURL()
if (url.match('https://mobile.twitter.com/login')) {
postMessage(['twitterLogin', null], '*')
} else if (url.match('https://mobile.twitter.com/logout')) {
postMessage(['twitterLogin', true], '*')
}
})
}
function initWebviewEvent() {
if (document.querySelector('webview')) { webviewFinder() } else {
const timerWV = setInterval(function () {
document.querySelector('webview')
? (webviewFinder(), clearInterval(timerWV))
: console.log('まだロード中')
}, 500)
}
}

View File

@@ -54,6 +54,8 @@ onmessage = function(e) {
ipc.send('theme-json-request', e.data[1]) ipc.send('theme-json-request', e.data[1])
} else if (e.data[0] == 'ha') { } else if (e.data[0] == 'ha') {
ipc.send('ha', e.data[1]) ipc.send('ha', e.data[1])
} else if (e.data[0] == 'webviewSetting') {
ipc.send('webview', e.data[1])
} else if (e.data[0] == 'frameSet') { } else if (e.data[0] == 'frameSet') {
ipc.send('frameSet', e.data[1]) ipc.send('frameSet', e.data[1])
} else if (e.data[0] == 'ua') { } else if (e.data[0] == 'ua') {
@@ -64,7 +66,9 @@ onmessage = function(e) {
console.log('NowPlaying') console.log('NowPlaying')
ipc.send('itunes', e.data[1]) ipc.send('itunes', e.data[1])
} else if (e.data[0] == 'themeCSSRequest') { } else if (e.data[0] == 'themeCSSRequest') {
ipc.send('theme-css-request', e.data[1]) ipc.send('theme-css-request', e.data)
} else if (e.data[0] == 'themeCSSPreview') {
ipc.send('theme-css-request', e.data)
} else if (e.data[0] == 'customCSSRequest') { } else if (e.data[0] == 'customCSSRequest') {
ipc.send('custom-css-request', e.data[1]) ipc.send('custom-css-request', e.data[1])
} else if (e.data[0] == 'downloadButton') { } else if (e.data[0] == 'downloadButton') {
@@ -77,6 +81,8 @@ onmessage = function(e) {
ipc.send('copy', e.data[1]) ipc.send('copy', e.data[1])
} else if (e.data[0] == 'log') { } else if (e.data[0] == 'log') {
ipc.send('log', e.data[1]) ipc.send('log', e.data[1])
} else if (e.data[0] == 'twitterLogin') {
ipc.send('twitterLogin', e.data[1])
} }
} }
//version.js //version.js
@@ -227,9 +233,6 @@ ipc.on('asReadEnd', function(event, arg) {
ipc.on('accessibility', function(event, arg) { ipc.on('accessibility', function(event, arg) {
postMessage(['accessibility', 'true'], '*') postMessage(['accessibility', 'true'], '*')
}) })
var webviewDom = document.getElementById('webview') ipc.on('twitterLoginComplete', function(event, arg) {
if (webviewDom) { postMessage(['twitterLoginComplete', ''], '*')
webviewDom.addEventListener('new-window', function(e) { })
shell.openExternal(e.url)
})
}

View File

@@ -276,8 +276,6 @@ function deleteImage(key) {
title: lang.lang_postimg_delete, title: lang.lang_postimg_delete,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {

View File

@@ -55,8 +55,6 @@ function post(mode, postvis, dry) {
text: lang.lang_post_cwtxt + plus, text: lang.lang_post_cwtxt + plus,
type: 'info', type: 'info',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#3085d6',
confirmButtonText: lang.lang_post_btn2, confirmButtonText: lang.lang_post_btn2,
cancelButtonText: lang.lang_post_btn3, cancelButtonText: lang.lang_post_btn3,
showCloseButton: true, showCloseButton: true,

View File

@@ -259,8 +259,6 @@ function block(acct_id) {
text: '', text: '',
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {
@@ -312,8 +310,6 @@ function muteDo(acct_id) {
text: '', text: '',
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {
@@ -393,8 +389,6 @@ function redraft(id, acct_id) {
text: lang.lang_status_redraft, text: lang.lang_status_redraft,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {

View File

@@ -415,6 +415,7 @@ function notfCanceler(acct) {
$('.notf-icon_' + acct).removeClass('red-text') $('.notf-icon_' + acct).removeClass('red-text')
var id = $('#announce_' + acct + ' .announcement').first().attr('data-id') var id = $('#announce_' + acct + ' .announcement').first().attr('data-id')
$('.notf-announ_' + acct + '_ct').text("") $('.notf-announ_' + acct + '_ct').text("")
$(`.boxIn[data-acct=${acct}] .notice-box`).removeClass('has-notf')
if(id) { if(id) {
localStorage.setItem('announ_' + acct, id) localStorage.setItem('announ_' + acct, id)
} }

View File

@@ -290,6 +290,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type, onlyContent) {
$('.notf-reply_' + acct_id).text(replyct * 1 - -1) $('.notf-reply_' + acct_id).text(replyct * 1 - -1)
localStorage.setItem('notf-reply_' + acct_id, replyct * 1 - -1) localStorage.setItem('notf-reply_' + acct_id, replyct * 1 - -1)
$('.notf-reply_' + acct_id).removeClass('hide') $('.notf-reply_' + acct_id).removeClass('hide')
$(`.boxIn[data-acct=${acct_id}] .notice-box`).addClass('has-notf')
var sound = localStorage.getItem('replySound') var sound = localStorage.getItem('replySound')
if (sound == 'default') { if (sound == 'default') {
var file = '../../source/notif3.wav' var file = '../../source/notif3.wav'
@@ -299,6 +300,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type, onlyContent) {
$('.notf-bt_' + acct_id).text(btct * 1 - -1) $('.notf-bt_' + acct_id).text(btct * 1 - -1)
localStorage.setItem('notf-bt_' + acct_id, btct * 1 - -1) localStorage.setItem('notf-bt_' + acct_id, btct * 1 - -1)
$('.notf-bt_' + acct_id).removeClass('hide') $('.notf-bt_' + acct_id).removeClass('hide')
$(`.boxIn[data-acct=${acct_id}] .notice-box`).addClass('has-notf')
var sound = localStorage.getItem('btSound') var sound = localStorage.getItem('btSound')
if (sound == 'default') { if (sound == 'default') {
var file = '../../source/notif2.wav' var file = '../../source/notif2.wav'
@@ -308,6 +310,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type, onlyContent) {
$('.notf-fav_' + acct_id).text(favct * 1 - -1) $('.notf-fav_' + acct_id).text(favct * 1 - -1)
localStorage.setItem('notf-fav_' + acct_id, favct * 1 - -1) localStorage.setItem('notf-fav_' + acct_id, favct * 1 - -1)
$('.notf-fav_' + acct_id).removeClass('hide') $('.notf-fav_' + acct_id).removeClass('hide')
$(`.boxIn[data-acct=${acct_id}] .notice-box`).addClass('has-notf')
var sound = localStorage.getItem('favSound') var sound = localStorage.getItem('favSound')
if (sound == 'default') { if (sound == 'default') {
var file = '../../source/notif.wav' var file = '../../source/notif.wav'
@@ -1370,8 +1373,6 @@ function client(name) {
text: name + lang.lang_parse_clienttxt, text: name + lang.lang_parse_clienttxt,
type: 'info', type: 'info',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#3085d6',
confirmButtonText: lang.lang_parse_clientmute, confirmButtonText: lang.lang_parse_clientmute,
cancelButtonText: lang.lang_parse_clientemp, cancelButtonText: lang.lang_parse_clientemp,
showCloseButton: true, showCloseButton: true,

View File

@@ -1331,6 +1331,7 @@ function asReadEnd() {
Swal.fire({ Swal.fire({
title: lang.lang_tl_postmarkers_title, title: lang.lang_tl_postmarkers_title,
html: lang.lang_tl_postmarkers, html: lang.lang_tl_postmarkers,
showConfirmButton: false,
timer: 3000, timer: 3000,
onBeforeOpen: () => { onBeforeOpen: () => {
Swal.showLoading() Swal.showLoading()

View File

@@ -185,6 +185,7 @@ function parseColumn(target, dontclose) {
} }
var html = webviewParse('https://tweetdeck.twitter.com', key, insert, icnsert, css) var html = webviewParse('https://tweetdeck.twitter.com', key, insert, icnsert, css)
$('#timeline-container').append(html) $('#timeline-container').append(html)
initWebviewEvent()
} else if (acct.type == 'tootsearch') { } else if (acct.type == 'tootsearch') {
if (!acct.left_fold) { if (!acct.left_fold) {
basekey = key basekey = key
@@ -325,6 +326,7 @@ function parseColumn(target, dontclose) {
} else { } else {
markers = false markers = false
} }
const smallHeader = localStorage.getItem('smallHeader') === 'yes'
if (!markers) { if (!markers) {
unread = '' unread = ''
} }
@@ -371,10 +373,9 @@ function parseColumn(target, dontclose) {
} }
var html = ` var html = `
<div class="boxIn" id="timeline_box_${key}_box" tlid="${key}" data-acct="${acct.domain}" style="${addHeight}"> <div class="boxIn" id="timeline_box_${key}_box" tlid="${key}" data-acct="${acct.domain}" style="${addHeight}">
<div class="notice-box z-depth-2" id="menu_${key}" style="${insert}"> <div class="notice-box ${smallHeader ? 'small-header' : ''} z-depth-2" id="menu_${key}" style="${insert}">
<div class="area-notice"> <div class="area-notice">
<i class="material-icons waves-effect ${isMisRed} notice_icon_acct_${acct.domain}" id="notice_icon_${key}" ${notf_attr} <i class="material-icons waves-effect ${isMisRed} notice_icon_acct_${acct.domain} top-icon" id="notice_icon_${key}" ${notf_attr}
style="font-size:40px; padding-top:25%;"
onclick="checkStr('${acct.type}','${data}','${acct.domain}', '${key}', '${delc}','${voice}',null)" onclick="checkStr('${acct.type}','${data}','${acct.domain}', '${key}', '${delc}','${voice}',null)"
title="${lang.lang_layout_gotop}" aria-hidden="true"> title="${lang.lang_layout_gotop}" aria-hidden="true">
</i> </i>
@@ -397,10 +398,10 @@ function parseColumn(target, dontclose) {
${if_tag_btn} ${if_tag_btn}
</div> </div>
<div class="area-sta"> <div class="area-sta">
<span class="new badge teal notf-reply_${acct.domain} hide" data-badge-caption="Reply" aria-hidden="true">0</span> <span class="new badge teal notf-reply_${acct.domain} hide" data-badge-caption="Rp" aria-hidden="true">0</span>
<span class="new badge yellow black-text notf-fav_${acct.domain} hide" data-badge-caption="Fav" aria-hidden="true">0</span> <span class="new badge yellow black-text notf-fav_${acct.domain} hide" data-badge-caption="Fv" aria-hidden="true">0</span>
<span class="new badge blue notf-bt_${acct.domain} hide" data-badge-caption="BT" aria-hidden="true">0</span> <span class="new badge blue notf-bt_${acct.domain} hide" data-badge-caption="BT" aria-hidden="true">0</span>
<span class="new badge orange notf-follow_${acct.domain} hide" data-badge-caption="Follow" aria-hidden="true">0</span> <span class="new badge orange notf-follow_${acct.domain} hide" data-badge-caption="Fw" aria-hidden="true">0</span>
</div> </div>
<div class="area-a2"> <div class="area-a2">
<a onclick="removeColumn('${key}')" class="setting nex"> <a onclick="removeColumn('${key}')" class="setting nex">
@@ -643,8 +644,6 @@ function removeColumn(tlid) {
text: lang.lang_layout_deleteColumnDesc, text: lang.lang_layout_deleteColumnDesc,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no, cancelButtonText: lang.lang_no,
}).then((result) => { }).then((result) => {

View File

@@ -5,26 +5,29 @@ var envView = new Vue({
methods: { methods: {
complete: function (i, val) { complete: function (i, val) {
var ls = envView.config[i] var ls = envView.config[i]
let header = ls.text.head
if (!ls.data) { if (!ls.data) {
ls = [ls] ls = [ls]
} else { } else {
ls = ls.data ls = ls.data
} }
for (var j = 0; j < ls.length; j++) { for (var j = 0; j < ls.length; j++) {
M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id var id = ls[j].id
var val = $('#' + id).val()
localStorage.setItem(ls[j].storage, val) localStorage.setItem(ls[j].storage, val)
} }
if (ls == 'ha') { if (ls[0].id == 'ha') {
hardwareAcceleration(val) hardwareAcceleration(val)
} }
if (ls == 'ua_setting') { if (ls[0].id == 'webview') {
postMessage(['webviewSetting', val], '*')
}
if (ls[0].id == 'ua_setting') {
useragent(val) useragent(val)
} }
if (ls == 'frame') { if (ls[0].id == 'frame') {
frameSet(val) frameSet(val)
} }
M.toast({ html: `Updated: ${header}`, displayLength: 3000 })
return true return true
}, },
}, },
@@ -35,6 +38,7 @@ var tlView = new Vue({
methods: { methods: {
complete: function (i, val) { complete: function (i, val) {
var ls = tlView.config[i] var ls = tlView.config[i]
let header = ls.text.head
if (val) { if (val) {
localStorage.setItem(ls.storage, val) localStorage.setItem(ls.storage, val)
} else { } else {
@@ -44,12 +48,12 @@ var tlView = new Vue({
ls = ls.data ls = ls.data
} }
for (var j = 0; j < ls.length; j++) { for (var j = 0; j < ls.length; j++) {
M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id var id = ls[j].id
var val = $('#' + id).val() var val = $('#' + id).val()
localStorage.setItem(ls[j].storage, val) localStorage.setItem(ls[j].storage, val)
} }
} }
M.toast({ html: `Updated: ${header}`, displayLength: 3000 })
return true return true
}, },
}, },
@@ -64,6 +68,7 @@ var postView = new Vue({
methods: { methods: {
complete: function (i, val) { complete: function (i, val) {
var ls = postView.config[i] var ls = postView.config[i]
let header = ls.text.head
if (val) { if (val) {
localStorage.setItem(ls.storage, val) localStorage.setItem(ls.storage, val)
} else { } else {
@@ -79,6 +84,7 @@ var postView = new Vue({
localStorage.setItem(ls[j].storage, val) localStorage.setItem(ls[j].storage, val)
} }
} }
M.toast({ html: `Updated: ${header}`, displayLength: 3000 })
return true return true
}, },
}, },
@@ -302,17 +308,16 @@ function oksload() {
function changeLang() { function changeLang() {
const lang = $('#langsel-sel').val() const lang = $('#langsel-sel').val()
console.log(lang) console.log(lang)
if(lang) postMessage(['lang', lang], '*') if (lang) postMessage(['lang', lang], '*')
} }
function exportSettings() { function exportSettings() {
var exp = exportSettingsCore() var exp = exportSettingsCore()
$('#imp-exp').val(JSON5.stringify(exp)) $('#imp-exp').val(JSON5.stringify(exp))
Swal.fire({ Swal.fire({
title: lang.lang_setting_exportwarn, title: 'Warning',
text: lang.lang_setting_exportwarn,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no, cancelButtonText: lang.lang_no,
}).then((result) => { }).then((result) => {
@@ -387,20 +392,19 @@ function exportSettingsCore() {
return exp return exp
} }
function importSettings() { function importSettings() {
if ($('#imp-exp').val()) {
importSettingsCore(JSON5.parse($('#imp-exp').val()))
return false
}
Swal.fire({ Swal.fire({
title: lang.lang_setting_importwarn, title: 'Warning',
text: lang.lang_setting_importwarn,
type: 'warning', type: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno, confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no, cancelButtonText: lang.lang_no,
}).then((result) => { }).then((result) => {
if (result.value) { if (result.value) {
if ($('#imp-exp').val()) {
importSettingsCore(JSON5.parse($('#imp-exp').val()))
return false
}
postMessage(['importSettings', ''], '*') postMessage(['importSettings', ''], '*')
} }
}) })
@@ -549,9 +553,9 @@ function copyColor(from, to) {
i++ i++
} }
} }
function customComp() { function customComp(preview) {
var nameC = $('#custom_name').val() var nameC = $('#custom_name').val()
if (!nameC) { if (!nameC && !preview) {
return false return false
} }
var descC = $('#custom_desc').val() var descC = $('#custom_desc').val()
@@ -583,7 +587,7 @@ function customComp() {
if (id == 'add_new' || defaults.includes(id)) { if (id == 'add_new' || defaults.includes(id)) {
id = makeCID() id = makeCID()
} }
localStorage.setItem('customtheme-id', id) if (!preview) localStorage.setItem('customtheme-id', id)
var json = { var json = {
name: nameC, name: nameC,
author: my, author: my,
@@ -600,38 +604,18 @@ function customComp() {
version: '2' version: '2'
} }
$('#custom_json').val(JSON.stringify(json)) $('#custom_json').val(JSON.stringify(json))
let timerInterval if (preview) {
Swal.fire({ postMessage(['themeCSSPreview', json], '*')
title: 'Saving...', } else {
html: '',
timer: 1000,
timerProgressBar: true,
onBeforeOpen: () => {
Swal.showLoading()
},
onClose: () => {
clearInterval(timerInterval)
}
}).then((result) => {
themes()
ctLoad()
Swal.fire({
title: 'Refreshing...',
html: '',
timer: 1000,
timerProgressBar: true,
onBeforeOpen: () => {
Swal.showLoading()
},
onClose: () => {
clearInterval(timerInterval)
}
}).then((result) => {
$('#custom-edit-sel').val(id) $('#custom-edit-sel').val(id)
$('select').formSelect() $('select').formSelect()
}) Swal.fire({
type: 'success',
title: 'Saved',
}) })
postMessage(['themeJsonCreate', JSON.stringify(json)], '*') postMessage(['themeJsonCreate', JSON.stringify(json)], '*')
}
} }
function deleteIt() { function deleteIt() {
var id = $('#custom-sel-sel').val() var id = $('#custom-sel-sel').val()
@@ -793,7 +777,8 @@ function completePlugin(comp) {
if (!meta.data) { if (!meta.data) {
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: `error on line ${meta.location.start.line}`, title: 'Syntax Error',
text: `error on line ${meta.location.start.line}`,
text: meta, text: meta,
}) })
return false return false
@@ -801,7 +786,7 @@ function completePlugin(comp) {
if (!meta.data.name || !meta.data.version || !meta.data.event || !meta.data.author) { if (!meta.data.name || !meta.data.version || !meta.data.event || !meta.data.author) {
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: 'error', title: 'Meta data error',
title: 'Syntax Error of META DATA', title: 'Syntax Error of META DATA',
}) })
return false return false
@@ -821,7 +806,7 @@ function completePlugin(comp) {
} }
var ss = args var ss = args
localStorage.setItem('plugins', JSON.stringify(ss)) localStorage.setItem('plugins', JSON.stringify(ss))
if(comp) return false if (comp) return false
$('#plugin').attr('data-id', 'add_new') $('#plugin').attr('data-id', 'add_new')
editor.setValue('', -1) editor.setValue('', -1)
pluginLoad() pluginLoad()
@@ -832,7 +817,8 @@ function testExecTrg() {
if (meta.location) { if (meta.location) {
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: `error on line ${meta.location.start.line}`, title: 'Error',
text: `error on line ${meta.location.start.line}`,
text: meta, text: meta,
}) })
return false return false
@@ -920,13 +906,13 @@ function checkupd() {
if (newest == ver) { if (newest == ver) {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: lang.lang_setting_noupd, text: lang.lang_setting_noupd,
html: ver, html: ver,
}) })
} else if (ver.indexOf('beta') != -1 || winstore) { } else if (ver.indexOf('beta') != -1 || winstore) {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: lang.lang_setting_thisisbeta, text: lang.lang_setting_thisisbeta,
html: ver, html: ver,
}) })
} else { } else {

View File

@@ -166,7 +166,7 @@ function nowplaying(mode) {
} else { } else {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: lang.lang_spotify_acct, text: lang.lang_spotify_acct,
}) })
} }
} else if (mode == 'itunes') { } else if (mode == 'itunes') {
@@ -239,7 +239,7 @@ function nowplaying(mode) {
} else { } else {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: lang.lang_spotify_acct, text: lang.lang_spotify_acct,
}) })
} }
} }

View File

@@ -226,7 +226,7 @@ function spotifytips() {
} else { } else {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: lang.lang_spotify_acct text: lang.lang_spotify_acct
}) })
tips('ver') tips('ver')
return false return false

View File

@@ -123,6 +123,7 @@ function createWindow() {
var info_path = join(app.getPath('userData'), 'window-size.json') var info_path = join(app.getPath('userData'), 'window-size.json')
var max_info_path = join(app.getPath('userData'), 'max-window-size.json') var max_info_path = join(app.getPath('userData'), 'max-window-size.json')
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration') var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
var wv_path = join(app.getPath('userData'), 'webview')
var ua_path = join(app.getPath('userData'), 'useragent') var ua_path = join(app.getPath('userData'), 'useragent')
try { try {
fs.readFileSync(ha_path, 'utf8') fs.readFileSync(ha_path, 'utf8')
@@ -131,6 +132,8 @@ function createWindow() {
} catch { } catch {
if (!packaged) console.log('enabled: Hardware Acceleration') if (!packaged) console.log('enabled: Hardware Acceleration')
} }
let webviewEnabled = false
if(fs.existsSync(wv_path, 'utf8')) webviewEnabled = true
var window_size var window_size
try { try {
window_size = JSON.parse(fs.readFileSync(info_path, 'utf8')) window_size = JSON.parse(fs.readFileSync(info_path, 'utf8'))
@@ -156,7 +159,7 @@ function createWindow() {
var bit = process.arch var bit = process.arch
var arg = { var arg = {
webPreferences: { webPreferences: {
webviewTag: true, webviewTag: webviewEnabled,
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
spellcheck: false, spellcheck: false,
@@ -236,7 +239,7 @@ function createWindow() {
e.preventDefault() e.preventDefault()
} }
const promise = new Promise(function (resolve) { const promise = new Promise(function (resolve) {
mainWindow.webContents.send('asReadEnd', '') mainWindow.send('asReadEnd', '')
let wait = 3000 let wait = 3000
const url = mainWindow.webContents.getURL() const url = mainWindow.webContents.getURL()
if(!url.match(/index.html/)) wait = 0 if(!url.match(/index.html/)) wait = 0
@@ -283,7 +286,7 @@ function createWindow() {
}) })
mainWindow.on('minimize', function () { mainWindow.on('minimize', function () {
writePos(mainWindow) writePos(mainWindow)
mainWindow.webContents.send('asRead', '') mainWindow.send('asRead', '')
}) })
var platform = process.platform var platform = process.platform
@@ -319,7 +322,7 @@ function mouseTrack(mainWindow) {
if (unchanged > 60 && !locked) { if (unchanged > 60 && !locked) {
unchanged = 0 unchanged = 0
locked = true locked = true
mainWindow.webContents.send('asRead', '') mainWindow.send('asRead', '')
} }
} }
x = xNow x = xNow

View File

@@ -10,7 +10,7 @@ function css(mainWindow) {
ipc.on('custom-css-create', function (e, arg) { ipc.on('custom-css-create', function (e, arg) {
fs.writeFileSync(customcss, arg); fs.writeFileSync(customcss, arg);
e.sender.webContents.send('custom-css-create-complete', ""); e.sender.send('custom-css-create-complete', "");
}) })
ipc.on('custom-css-request', function (e, arg) { ipc.on('custom-css-request', function (e, arg) {
try { try {
@@ -18,27 +18,27 @@ function css(mainWindow) {
} catch (e) { } catch (e) {
var css = ""; var css = "";
} }
e.sender.webContents.send('custom-css-response', css); e.sender.send('custom-css-response', css);
}) })
ipc.on('theme-json-create', function (e, arg) { ipc.on('theme-json-create', function (e, arg) {
var themecss = join(app.getPath("userData"), JSON5.parse(arg)["id"] + var themecss = join(app.getPath("userData"), JSON5.parse(arg)["id"] +
".thedesktheme"); ".thedesktheme");
fs.writeFileSync(themecss, JSON5.stringify(JSON5.parse(arg))); fs.writeFileSync(themecss, JSON5.stringify(JSON5.parse(arg)));
if (JSON5.parse(arg)["id"]) { if (JSON5.parse(arg)["id"]) {
e.sender.webContents.send('theme-json-create-complete', ""); e.sender.send('theme-json-create-complete', "");
} else { } else {
e.sender.webContents.send('theme-json-create-complete', "error"); e.sender.send('theme-json-create-complete', "error");
} }
}) })
ipc.on('theme-json-delete', function (e, arg) { ipc.on('theme-json-delete', function (e, arg) {
try{ try {
var themecss = join(app.getPath("userData"), arg); var themecss = join(app.getPath("userData"), arg);
console.log(themecss); console.log(themecss);
fs.unlink(themecss, function (err) { fs.unlink(themecss, function (err) {
e.sender.webContents.send('theme-json-delete-complete', ""); e.sender.send('theme-json-delete-complete', "");
}); });
} catch { } catch {
e.sender.webContents.send('theme-json-delete-complete', 'cannot delete'); e.sender.send('theme-json-delete-complete', 'cannot delete');
} }
}) })
@@ -52,16 +52,20 @@ function css(mainWindow) {
var raw = fs.readFileSync(themecss, 'utf8') var raw = fs.readFileSync(themecss, 'utf8')
var json = JSON5.parse(raw) var json = JSON5.parse(raw)
} }
e.sender.webContents.send('theme-json-response', [json, raw]); e.sender.send('theme-json-response', [json, raw]);
}) })
ipc.on('theme-css-request', function (e, arg) { ipc.on('theme-css-request', function (e, args) {
if (args[0] === 'themeCSSPreview') {
var json = args[1]
} else {
try { try {
var themecss = join(app.getAppPath(), '/source/themes', arg) var themecss = join(app.getAppPath(), '/source/themes', args[1])
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8')) var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'))
} catch { } catch {
var themecss = join(app.getPath("userData"), arg) var themecss = join(app.getPath("userData"), args[1])
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8')) var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'))
} }
}
try { try {
var css var css
@@ -149,7 +153,7 @@ function css(mainWindow) {
} else { } else {
var css = compatibleTheme(json) var css = compatibleTheme(json)
} }
e.sender.webContents.send('theme-css-response', css); e.sender.send('theme-css-response', css);
} catch (e) { } catch (e) {
var css = ""; var css = "";
} }
@@ -270,7 +274,7 @@ function css(mainWindow) {
default: false default: false
}) })
} }
e.sender.webContents.send('theme-json-list-response', themes); e.sender.send('theme-json-list-response', themes);
}) })
} }
exports.css = css; exports.css = css;

View File

@@ -41,19 +41,19 @@ function dl(mainWindow, lang_path, base, dirname) {
//アプデDL //アプデDL
ipc.on('download-btn', async (e, args) => { ipc.on('download-btn', async (e, args) => {
function dl(url, file, dir, e) { function dl(url, file, dir, e) {
e.sender.webContents.send('mess', 'Start...') e.sender.send('mess', 'Start...')
const opts = { const opts = {
directory: dir, directory: dir,
filename: file, filename: file,
openFolderWhenDone: true, openFolderWhenDone: true,
onProgress: function(event) { onProgress: function(event) {
e.sender.webContents.send('prog', [event, args[2]]) e.sender.send('prog', [event, args[2]])
}, },
saveAs: false saveAs: false
} }
download(updatewin, url, opts) download(updatewin, url, opts)
.then(dl => { .then(dl => {
e.sender.webContents.send('mess', 'ダウンロードが完了しました。') e.sender.send('mess', 'ダウンロードが完了しました。')
app.quit() app.quit()
}) })
.catch(console.error) .catch(console.error)
@@ -111,7 +111,7 @@ function dl(mainWindow, lang_path, base, dirname) {
filename: name, filename: name,
openFolderWhenDone: false, openFolderWhenDone: false,
onProgress: function(e) { onProgress: function(e) {
event.sender.webContents.send('general-dl-prog', e) event.sender.send('general-dl-prog', e)
}, },
saveAs: false saveAs: false
} }
@@ -126,7 +126,7 @@ function dl(mainWindow, lang_path, base, dirname) {
} else { } else {
var name = dir var name = dir
} }
event.sender.webContents.send('general-dl-message', name) event.sender.send('general-dl-message', name)
}) })
.catch(console.error) .catch(console.error)
}) })

View File

@@ -26,14 +26,14 @@ function img(mainWindow, dir) {
for (var i = 0; i < fileNames.length; i++) { for (var i = 0; i < fileNames.length; i++) {
var path = fileNames[i] var path = fileNames[i]
var bin = fs.readFileSync(path, 'base64') var bin = fs.readFileSync(path, 'base64')
e.sender.webContents.send('resizeJudgement', [bin, 'new']) e.sender.send('resizeJudgement', [bin, 'new'])
} }
}) })
ipc.on('bmp-image', (e, args) => { ipc.on('bmp-image', (e, args) => {
Jimp.read(args[0], function (err, lenna) { Jimp.read(args[0], function (err, lenna) {
if (err) throw err if (err) throw err
lenna.getBase64(Jimp.MIME_PNG, function (err, src) { lenna.getBase64(Jimp.MIME_PNG, function (err, src) {
e.sender.webContents.send('bmp-img-comp', [src, args[1]]) e.sender.send('bmp-img-comp', [src, args[1]])
}) })
}) })
}) })
@@ -49,7 +49,7 @@ function img(mainWindow, dir) {
Jimp.read(decodedFile, function (err, lenna) { Jimp.read(decodedFile, function (err, lenna) {
if (err) throw err if (err) throw err
lenna.scaleToFit(args[1], args[1]).getBase64(Jimp[use], function (err, src) { lenna.scaleToFit(args[1], args[1]).getBase64(Jimp[use], function (err, src) {
e.sender.webContents.send('bmp-img-comp', [src, args[1]]) e.sender.send('bmp-img-comp', [src, args[1]])
}) })
}) })
}) })
@@ -71,12 +71,12 @@ function img(mainWindow, dir) {
var ave = (color.r + color.g + color.b) / 3 var ave = (color.r + color.g + color.b) / 3
if (ave > 128) { if (ave > 128) {
image.print(font, left, top, args[1]).getBase64(Jimp.MIME_PNG, function (err, src) { image.print(font, left, top, args[1]).getBase64(Jimp.MIME_PNG, function (err, src) {
e.sender.webContents.send('bmp-img-comp', [src, args[1], true]) e.sender.send('bmp-img-comp', [src, args[1], true])
}) })
} else { } else {
Jimp.loadFont(Jimp.FONT_SANS_16_WHITE).then((font) => { Jimp.loadFont(Jimp.FONT_SANS_16_WHITE).then((font) => {
image.print(font, left, top, args[1]).getBase64(Jimp.MIME_PNG, function (err, src) { image.print(font, left, top, args[1]).getBase64(Jimp.MIME_PNG, function (err, src) {
e.sender.webContents.send('bmp-img-comp', [src, args[1], true]) e.sender.send('bmp-img-comp', [src, args[1], true])
}) })
}) })
} }

View File

@@ -16,7 +16,7 @@ function np(mainWindow) {
title: title, title: title,
anynp: true anynp: true
} }
e.sender.webContents.send('itunes-np', ret) e.sender.send('itunes-np', ret)
} else { } else {
try { try {
@@ -27,16 +27,16 @@ function np(mainWindow) {
if(artwork) { if(artwork) {
const base64 = artwork.toString('base64') const base64 = artwork.toString('base64')
value.artwork = base64 value.artwork = base64
e.sender.webContents.send('itunes-np', value) e.sender.send('itunes-np', value)
} }
} catch (error) { } catch (error) {
console.error(error) console.error(error)
e.sender.webContents.send('itunes-np', value) e.sender.send('itunes-np', value)
} }
} catch (error) { } catch (error) {
console.error(error) console.error(error)
e.sender.webContents.send('itunes-np', error) e.sender.send('itunes-np', error)
} }
} }
}) })

Binary file not shown.

View File

@@ -9,6 +9,7 @@ function system(mainWindow, dir, lang, dirname) {
const clipboard = electron.clipboard const clipboard = electron.clipboard
var tmp_img = join(app.getPath('userData'), 'tmp.png') var tmp_img = join(app.getPath('userData'), 'tmp.png')
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration') var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
var wv_path = join(app.getPath('userData'), 'webview')
var ua_path = join(app.getPath('userData'), 'useragent') var ua_path = join(app.getPath('userData'), 'useragent')
var lang_path = join(app.getPath('userData'), 'language') var lang_path = join(app.getPath('userData'), 'language')
var log_dir_path = join(app.getPath('userData'), 'logs') var log_dir_path = join(app.getPath('userData'), 'logs')
@@ -35,13 +36,13 @@ function system(mainWindow, dir, lang, dirname) {
} catch { } catch {
var gitHash = null var gitHash = null
} }
e.sender.webContents.send('platform', [process.platform, process.arch, process.version, process.versions.chrome, process.versions.electron, gitHash]) e.sender.send('platform', [process.platform, process.arch, process.version, process.versions.chrome, process.versions.electron, gitHash])
}) })
//言語 //言語
ipc.on('lang', function (e, arg) { ipc.on('lang', function (e, arg) {
console.log('set:' + arg) console.log('set:' + arg)
fs.writeFileSync(lang_path, arg) fs.writeFileSync(lang_path, arg)
e.sender.webContents.send('langres', arg) e.sender.send('langres', arg)
}) })
//エクスポートのダイアログ //エクスポートのダイアログ
ipc.on('exportSettings', function (e, args) { ipc.on('exportSettings', function (e, args) {
@@ -53,7 +54,7 @@ function system(mainWindow, dir, lang, dirname) {
if (!savedFiles) { if (!savedFiles) {
return false return false
} }
e.sender.webContents.send('exportSettingsFile', savedFiles) e.sender.send('exportSettingsFile', savedFiles)
}) })
//インポートのダイアログ //インポートのダイアログ
ipc.on('importSettings', function (e, args) { ipc.on('importSettings', function (e, args) {
@@ -66,7 +67,7 @@ function system(mainWindow, dir, lang, dirname) {
if (!fileNames) { if (!fileNames) {
return false return false
} }
e.sender.webContents.send('config', JSON5.parse(fs.readFileSync(fileNames[0], 'utf8'))) e.sender.send('config', JSON5.parse(fs.readFileSync(fileNames[0], 'utf8')))
}) })
//保存フォルダのダイアログ //保存フォルダのダイアログ
ipc.on('savefolder', function (e, args) { ipc.on('savefolder', function (e, args) {
@@ -77,7 +78,7 @@ function system(mainWindow, dir, lang, dirname) {
properties: ['openDirectory'], properties: ['openDirectory'],
} }
) )
e.sender.webContents.send('savefolder', fileNames[0]) e.sender.send('savefolder', fileNames[0])
}) })
//カスタムサウンドのダイアログ //カスタムサウンドのダイアログ
ipc.on('customSound', function (e, arg) { ipc.on('customSound', function (e, arg) {
@@ -92,7 +93,7 @@ function system(mainWindow, dir, lang, dirname) {
], ],
} }
) )
e.sender.webContents.send('customSoundRender', [arg, fileNames[0]]) e.sender.send('customSoundRender', [arg, fileNames[0]])
}) })
//ハードウェアアクセラレーションの無効化 //ハードウェアアクセラレーションの無効化
@@ -100,7 +101,16 @@ function system(mainWindow, dir, lang, dirname) {
if (arg == 'true') { if (arg == 'true') {
fs.writeFileSync(ha_path, arg) fs.writeFileSync(ha_path, arg)
} else { } else {
fs.unlink(ha_path, function (err) {}) fs.unlink(ha_path, function (err) { })
}
app.relaunch()
app.exit()
})
ipc.on('webview', function (e, arg) {
if (arg == 'true') {
fs.writeFileSync(wv_path, arg)
} else {
fs.unlink(wv_path, function (err) { })
} }
app.relaunch() app.relaunch()
app.exit() app.exit()
@@ -108,7 +118,7 @@ function system(mainWindow, dir, lang, dirname) {
//ユーザーエージェント //ユーザーエージェント
ipc.on('ua', function (e, arg) { ipc.on('ua', function (e, arg) {
if (arg == '') { if (arg == '') {
fs.unlink(ua_path, function (err) {}) fs.unlink(ua_path, function (err) { })
} else { } else {
fs.writeFileSync(ua_path, arg) fs.writeFileSync(ua_path, arg)
} }
@@ -124,7 +134,7 @@ function system(mainWindow, dir, lang, dirname) {
//スクリーンリーダー //スクリーンリーダー
ipc.on('acsCheck', function (e, arg) { ipc.on('acsCheck', function (e, arg) {
if (app.accessibilitySupportEnabled) { if (app.accessibilitySupportEnabled) {
mainWindow.webContents.send('accessibility', 'true') mainWindow.send('accessibility', 'true')
} }
}) })
ipc.on('quit', (e, args) => { ipc.on('quit', (e, args) => {
@@ -188,8 +198,8 @@ function system(mainWindow, dir, lang, dirname) {
}) })
function mems() { function mems() {
var mem = os.totalmem() - os.freemem() var mem = os.totalmem() - os.freemem()
if (mainWindow && event.webContents) { if (mainWindow && event) {
event.webContents.send('memory', [mem, os.cpus()[0].model, os.totalmem(), os.cpus().length, os.uptime()]) event.send('memory', [mem, os.cpus()[0].model, os.totalmem(), os.cpus().length, os.uptime()])
} }
} }
ipc.on('endmem', (e, arg) => { ipc.on('endmem', (e, arg) => {
@@ -200,7 +210,7 @@ function system(mainWindow, dir, lang, dirname) {
ipc.on('export', (e, args) => { ipc.on('export', (e, args) => {
fs.writeFileSync(args[0], JSON5.stringify(args[1])) fs.writeFileSync(args[0], JSON5.stringify(args[1]))
e.sender.webContents.send('exportAllComplete', '') e.sender.send('exportAllComplete', '')
}) })
//フォント //フォント
function object_array_sort(data, key, order, fn) { function object_array_sort(data, key, order, fn) {
@@ -239,7 +249,7 @@ function system(mainWindow, dir, lang, dirname) {
var SystemFonts = require('system-font-families').default var SystemFonts = require('system-font-families').default
var fm = new SystemFonts() var fm = new SystemFonts()
const fontList = fm.getFontsSync() const fontList = fm.getFontsSync()
e.sender.webContents.send('font-list', fontList) e.sender.send('font-list', fontList)
}) })
//コピー //コピー
ipc.on('copy', (e, arg) => { ipc.on('copy', (e, arg) => {
@@ -276,7 +286,7 @@ function system(mainWindow, dir, lang, dirname) {
logs = todayLog + yestLog + yest2Log logs = todayLog + yestLog + yest2Log
}) })
logs = yest2Log + yestLog + todayLog logs = yest2Log + yestLog + todayLog
e.sender.webContents.send('logData', logs) e.sender.send('logData', logs)
}) })
}) })
@@ -299,5 +309,28 @@ function system(mainWindow, dir, lang, dirname) {
}) })
} }
}) })
ipc.on('twitterLogin', (e, args) => {
const window = new BrowserWindow({
webPreferences: {
webviewTag: false,
nodeIntegration: false,
contextIsolation: true,
preload: join(dirname, 'js', 'platform', 'preload.js'),
},
width: 414,
height: 736,
})
const login = `https://mobile.twitter.com/login?hide_message=true&redirect_after_login=https%3A%2F%2Ftweetdeck.twitter.com%2F%3Fvia_twitter_login%3Dtrue`
const logout = `https://mobile.twitter.com/logout?redirect_after_logout=https%3A%2F%2Ftweetdeck.twitter.com%2F`
window.loadURL(args ? logout : login)
window.webContents.on('did-navigate', () => {
const url = window.webContents.getURL()
if (url.match("https://tweetdeck.twitter.com")) {
window.close()
e.sender.send('twitterLoginComplete', '')
}
})
})
} }
exports.system = system exports.system = system

View File

@@ -1,26 +1,24 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "22.1.1", "version": "22.2.0",
"codename": "Koume", "codename": "Koume",
"description": "TheDesk is a Mastodon client for PC.", "description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk", "repository": "https://github.com/cutls/TheDesk",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"construct": "cd view/make && node make --automatic && cd ../../ && browserify aiscript.js -o js/platform/aiscript.js", "postinstall": "run-s util:*",
"construct:store": "cd view/make && node make --automatic --store && cd ../../ && browserify aiscript.js -o js/platform/aiscript.js", "util:hash": "node gitHash.js",
"dev": "npx electron ./ --dev", "util:browserify": "browserify aiscript.js -o js/platform/aiscript.js",
"dist": "build --linux snap", "construct": "node view/make/makeCli.js",
"watchview": "node view/make/make.js --automatic --watch", "construct:store": "node view/make/makeCli.js --store",
"build:js": "node build.js", "dev": "run-p dev:*",
"build": "node view/make/make.js --automatic && npx electron-builder", "dev:run": "electron ./ --dev",
"build:pwa": "node view/make/make.js --automatic --pwa", "dev:watchview": "node view/make/makeCli.js --watch",
"build:win:web": "node view/make/make.js --automatic && npx electron-builder --win", "build": "node buildCli.js",
"build:win:msstore": "node view/make/make.js --automatic --store && npx electron-builder --win appx", "build:pwa": "node view/make/makeCli.js --pwa",
"build:linux:web": "node view/make/make.js --automatic && npx electron-builder --linux", "build:all:x64": "node buildCli.js --withStore",
"build:linux:snapstore": "node view/make/make.js --automatic --store && npx electron-builder --linux", "build:all": "node buildCli.js --withStore --withIa32 --withArm64",
"build:mac:web": "node view/make/make.js --automatic && npx electron-builder --mac",
"build:mac:homebrew": "node view/make/make.js --automatic --store && npx electron-builder --mac",
"lint:fix": "eslint js --fix", "lint:fix": "eslint js --fix",
"lint": "eslint js" "lint": "eslint js"
}, },
@@ -62,6 +60,7 @@
"@fortawesome/fontawesome-free": "^5.15.2", "@fortawesome/fontawesome-free": "^5.15.2",
"@syuilo/aiscript": "^0.11.1", "@syuilo/aiscript": "^0.11.1",
"electron-dl": "^3.2.1", "electron-dl": "^3.2.1",
"itunes-nowplaying-mac": "https://github.com/cutls/itunes-nowplaying-mac/releases/download/v0.4.0/itunes-nowplaying-mac-0.4.0.tgz",
"jimp": "^0.16.1", "jimp": "^0.16.1",
"jquery": "^3.6.0", "jquery": "^3.6.0",
"jquery-ui-dist": "^1.12.1", "jquery-ui-dist": "^1.12.1",
@@ -74,70 +73,19 @@
"system-font-families": "^0.4.1", "system-font-families": "^0.4.1",
"vue": "^2.6.12" "vue": "^2.6.12"
}, },
"optionalDependencies": {
"itunes-nowplaying-mac": "0.3.1"
},
"devDependencies": { "devDependencies": {
"browserify": "^17.0.0", "browserify": "^17.0.0",
"chokidar": "^3.5.1", "chokidar": "^3.5.1",
"electron": "^10.2.0", "dotenv": "^8.2.0",
"electron": "^12.0.2",
"electron-builder": "^22.10.5", "electron-builder": "^22.10.5",
"electron-notarize": "^1.0.0",
"electron-rebuild": "^2.3.5", "electron-rebuild": "^2.3.5",
"eslint": "^7.23.0", "eslint": "^7.23.0",
"npm-run-all": "^4.1.5",
"readline-sync": "1.4.10" "readline-sync": "1.4.10"
}, },
"build": { "resolutions": {
"productName": "TheDesk", "@types/fs-extra": "9.0.11"
"appId": "top.thedesk",
"asarUnpack": [
"node_modules/itunes-nowplaying-mac",
"main/script"
],
"directories": {
"output": "../build"
},
"win": {
"icon": "build/thedesk.ico",
"target": [
"nsis",
"appx",
"portable"
]
},
"appx": {
"identityName": "53491Cutls.TheDesk",
"applicationId": "Cutls.TheDesk",
"publisherDisplayName": "Cutls",
"publisher": "CN=629757F5-A5EE-474F-9562-B304A89A9FD1",
"languages": [
"JA-JP",
"EN-US"
]
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"artifactName": "TheDesk-setup.${ext}"
},
"linux": {
"icon": "build/icons",
"target": [
"zip",
"appImage",
"snap",
"deb"
],
"category": "Network"
},
"mac": {
"target": [
"dmg",
"zip"
]
},
"electronDownload": {
"version": "9.0.5"
},
"electronVersion": "9.0.5"
} }
} }

View File

@@ -11,6 +11,7 @@
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" /> <link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
<link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" /> <link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="../../css/sweetalert2-material.min.css" type="text/css" rel="stylesheet">
<link href="../../css/acct.css" rel="stylesheet" type="text/css" /> <link href="../../css/acct.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8" /> <meta charset="utf-8" />
@@comment-start@@ @@comment-start@@
@@ -28,7 +29,7 @@
<script type="text/javascript" src="../../js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script> <script type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script>
<script> <script>
var misskeytoken = false var misskeytoken = false
</script> </script>

View File

@@ -12,6 +12,7 @@
<link href="../../css/post.css" rel="stylesheet" type="text/css" /> <link href="../../css/post.css" rel="stylesheet" type="text/css" />
<link href="../../css/master.css" type="text/css" rel="stylesheet" /> <link href="../../css/master.css" type="text/css" rel="stylesheet" />
<link href="../../css/sort.css" rel="stylesheet" type="text/css" /> <link href="../../css/sort.css" rel="stylesheet" type="text/css" />
<link href="../../css/sweetalert2-material.min.css" type="text/css" rel="stylesheet">
<link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" /> <link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
<meta charset="utf-8" /> <meta charset="utf-8" />
@@comment-start@@ @@comment-start@@
@@ -783,38 +784,27 @@
<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 /> <a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br />
<br /> <br />
<div id="release-22-1-1_Koume" class="release-do" style="display:none; "> <div id="release-22-2-0_Koume" class="release-do" style="display:none; ">
<br /> <br />
<a href="https://ja.mstdn. <a href="https://ja.mstdn.
wiki/TheDesk" target="_blank">機能一覧</a><br /> wiki/TheDesk" target="_blank">機能一覧</a><br />
Pixiv Pixiv
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br /> FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。 困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note 22.1.1 (Koume)</h5> <h5>Release Note 22.2.0 (Koume)</h5>
<!--上のdivのidも変えてね--> <!--上のdivのidや1行上のところも変えてね-->
Fediversearchを使用するように <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img TweetDeck機能の復活 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a>
<a onclick="udgEx('popn_ja@popon.pptdn.jp','main')" class="contributor"><img
src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4">kaias1jp</a><br>
・コンテキストツール(エアリプチェッカー)をデフォルトで無効に(#445) <a onclick="udgEx('Cutls@cutls.com','main')"
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
Pleromaでリフレッシュトークンの更新がうまくいかない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" 頒布されるmacOS向けビルドにNotarize(公証)を追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
Mastodonでいきなりアクセストークンが無効化してしまう不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" ARM版Windows向けビルドの試験頒布 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
カラム横幅設定が効かない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img ダイアログのデザイン変更 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
一部別ドメイン提供のストリーミングで、ストリーミングに接続できない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" 各カラムのヘッダーの高さを減らせるように <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・フランス語をbetaから標準翻訳に <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img <h5>ご注意ください</h5>
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> ・TweetDeck連携は環境設定から有効にしてからご利用いただけます。
・AiScriptエディタにシンタックスハイライトを導入 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
</div> </div>
<div id="release-en" style="display:none"> <div id="release-en" style="display:none">
<h5>Let's make it native!</h5> <h5>Let's make it native!</h5>
@@ -1259,7 +1249,7 @@
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script> <script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<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="../../@@node_base@@/jquery-ui-dist/jquery-ui.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/jquery-ui-dist/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script>
<script type="text/javascript" src="../../js/platform/punycode.js"></script> <script type="text/javascript" src="../../js/platform/punycode.js"></script>
<script type="text/javascript" src="../../js/ui/tips.js"></script> <script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script> <script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "По подразбиране", "default": "По подразбиране",
"change": "Промяна", "change": "Промяна",
"select": "Избери", "select": "Избери",
"exec": "Exec",
"env": "Системни предпочитания", "env": "Системни предпочитания",
"setlang": "Езици", "setlang": "Езици",
"backup": "Внос и износ на предпочитания", "backup": "Внос и износ на предпочитания",
@@ -17,6 +18,8 @@
"export": "Износ", "export": "Износ",
"hardwareAcceleration": "Деактивиране на хардуерното ускорение", "hardwareAcceleration": "Деактивиране на хардуерното ускорение",
"hardwareAccelerationWarn": "Автоматичното рестартиране", "hardwareAccelerationWarn": "Автоматичното рестартиране",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Теми", "theme": "Теми",
"popup": "Известие с изскачащ прозорец (за Windows)", "popup": "Известие с изскачащ прозорец (за Windows)",
"popupwarn": "Скрито ако е зададено на „0“", "popupwarn": "Скрито ако е зададено на „0“",

View File

@@ -232,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Změnit", "change": "Změnit",
"select": "Vybrat", "select": "Vybrat",
"exec": "Exec",
"env": "Systémové předvolby", "env": "Systémové předvolby",
"setlang": "Jazyky", "setlang": "Jazyky",
"backup": "Import a export předvoleb", "backup": "Import a export předvoleb",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Motivy", "theme": "Motivy",
"popup": "Popupová oznámení (na Windows)", "popup": "Popupová oznámení (na Windows)",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Standard", "default": "Standard",
"change": "Ändern", "change": "Ändern",
"select": "Auswahl", "select": "Auswahl",
"exec": "Exec",
"env": "Systemeinstellungen", "env": "Systemeinstellungen",
"setlang": "Sprachen", "setlang": "Sprachen",
"backup": "Import und Export von Einstellungen", "backup": "Import und Export von Einstellungen",
@@ -17,6 +18,8 @@
"export": "Exportieren", "export": "Exportieren",
"hardwareAcceleration": "Hardwarebeschleunigung deaktivieren", "hardwareAcceleration": "Hardwarebeschleunigung deaktivieren",
"hardwareAccelerationWarn": "Automatischer Neustart", "hardwareAccelerationWarn": "Automatischer Neustart",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Designs", "theme": "Designs",
"popup": "Popup-Benachrichtigung(unter Windows)", "popup": "Popup-Benachrichtigung(unter Windows)",
"popupwarn": "Bei \"0\" Ausgeschaltet.", "popupwarn": "Bei \"0\" Ausgeschaltet.",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "crwdns3918:0crwdne3918:0", "default": "crwdns3918:0crwdne3918:0",
"change": "crwdns3920:0crwdne3920:0", "change": "crwdns3920:0crwdne3920:0",
"select": "crwdns3922:0crwdne3922:0", "select": "crwdns3922:0crwdne3922:0",
"exec": "crwdns4576:0crwdne4576:0",
"env": "crwdns3924:0crwdne3924:0", "env": "crwdns3924:0crwdne3924:0",
"setlang": "crwdns3926:0crwdne3926:0", "setlang": "crwdns3926:0crwdne3926:0",
"backup": "crwdns3928:0crwdne3928:0", "backup": "crwdns3928:0crwdne3928:0",
@@ -17,6 +18,8 @@
"export": "crwdns3932:0crwdne3932:0", "export": "crwdns3932:0crwdne3932:0",
"hardwareAcceleration": "crwdns3934:0crwdne3934:0", "hardwareAcceleration": "crwdns3934:0crwdne3934:0",
"hardwareAccelerationWarn": "crwdns3936:0crwdne3936:0", "hardwareAccelerationWarn": "crwdns3936:0crwdne3936:0",
"webview": "crwdns4578:0crwdne4578:0",
"webviewWarn": "crwdns4580:0crwdne4580:0",
"theme": "crwdns3938:0crwdne3938:0", "theme": "crwdns3938:0crwdne3938:0",
"popup": "crwdns3940:0crwdne3940:0", "popup": "crwdns3940:0crwdne3940:0",
"popupwarn": "crwdns3942:0crwdne3942:0", "popupwarn": "crwdns3942:0crwdne3942:0",

View File

@@ -18,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -70,6 +72,7 @@
"desc": "About this theme", "desc": "About this theme",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"preview": "Preview",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -117,6 +120,7 @@
"remote_imgWarn": "All previews are got from your loginned cache server.", "remote_imgWarn": "All previews are got from your loginned cache server.",
"moreContextMode": "Context Tool", "moreContextMode": "Context Tool",
"moreContextModeWarn": "On detail of the toot modal, show toots before / after the toot on LTL, FTL, UTL", "moreContextModeWarn": "On detail of the toot modal, show toots before / after the toot on LTL, FTL, UTL",
"smallHeader": "Minimize column headers",
"replySound": "Sound(Reply)", "replySound": "Sound(Reply)",
"favSound": "Sound(Fav)", "favSound": "Sound(Fav)",
"btSound": "Sound(Boost)", "btSound": "Sound(Boost)",

View File

@@ -9,6 +9,7 @@
"default": "Predeterminado", "default": "Predeterminado",
"change": "Cambiar", "change": "Cambiar",
"select": "Seleccionar", "select": "Seleccionar",
"exec": "Exec",
"env": "Configuración del sistema", "env": "Configuración del sistema",
"setlang": "Idiomas", "setlang": "Idiomas",
"backup": "Importación y exportación de la configuración", "backup": "Importación y exportación de la configuración",
@@ -17,6 +18,8 @@
"export": "Exportar", "export": "Exportar",
"hardwareAcceleration": "Deshabilitar la aceleración por hardware", "hardwareAcceleration": "Deshabilitar la aceleración por hardware",
"hardwareAccelerationWarn": "Inicio automático", "hardwareAccelerationWarn": "Inicio automático",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Temas", "theme": "Temas",
"popup": "Ventana emergente de notificaciones (en Windows)", "popup": "Ventana emergente de notificaciones (en Windows)",
"popupwarn": "Establecer \"0\" para ocultar", "popupwarn": "Establecer \"0\" para ocultar",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Cambiar", "change": "Cambiar",
"select": "Seleccionar", "select": "Seleccionar",
"exec": "Exec",
"env": "Preferencias del sistema", "env": "Preferencias del sistema",
"setlang": "Idiomas", "setlang": "Idiomas",
"backup": "Importación y exportación de la configuración", "backup": "Importación y exportación de la configuración",
@@ -17,6 +18,8 @@
"export": "Exportar", "export": "Exportar",
"hardwareAcceleration": "Deshabilitar la aceleración por hardware", "hardwareAcceleration": "Deshabilitar la aceleración por hardware",
"hardwareAccelerationWarn": "Reinicio automático", "hardwareAccelerationWarn": "Reinicio automático",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Temas", "theme": "Temas",
"popup": "Notificación emergente (en Windows)", "popup": "Notificación emergente (en Windows)",
"popupwarn": "Ocultar para establecer \"0\"", "popupwarn": "Ocultar para establecer \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Par défaut", "default": "Par défaut",
"change": "Modifier", "change": "Modifier",
"select": "Sélectionner", "select": "Sélectionner",
"exec": "Exec",
"env": "Préférences système", "env": "Préférences système",
"setlang": "Langues", "setlang": "Langues",
"backup": "Importer et exporter les préférences", "backup": "Importer et exporter les préférences",
@@ -17,6 +18,8 @@
"export": "Exporter", "export": "Exporter",
"hardwareAcceleration": "Désactiver l'accélération matérielle", "hardwareAcceleration": "Désactiver l'accélération matérielle",
"hardwareAccelerationWarn": "Redémarrage Automatique", "hardwareAccelerationWarn": "Redémarrage Automatique",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Thèmes", "theme": "Thèmes",
"popup": "Notification pop-up", "popup": "Notification pop-up",
"popupwarn": "\"0\" pour cacher", "popupwarn": "\"0\" pour cacher",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Predefinito", "default": "Predefinito",
"change": "Cambia", "change": "Cambia",
"select": "Seleziona", "select": "Seleziona",
"exec": "Exec",
"env": "Preferenze Di Sistema", "env": "Preferenze Di Sistema",
"setlang": "Lingue", "setlang": "Lingue",
"backup": "Importazione ed esportazione delle preferenze", "backup": "Importazione ed esportazione delle preferenze",
@@ -17,6 +18,8 @@
"export": "Esporta", "export": "Esporta",
"hardwareAcceleration": "Disabilita accelerazione hardware", "hardwareAcceleration": "Disabilita accelerazione hardware",
"hardwareAccelerationWarn": "Riavvio automatico", "hardwareAccelerationWarn": "Riavvio automatico",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Temi", "theme": "Temi",
"popup": "Notifica popup", "popup": "Notifica popup",
"popupwarn": "Nascondi per impostare \"0\"", "popupwarn": "Nascondi per impostare \"0\"",

View File

@@ -17,6 +17,8 @@
"export": "エクスポート", "export": "エクスポート",
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化", "hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
"hardwareAccelerationWarn": "表示(特に設定画面)があかんときは「はい」を選んでな。再起動入るで。", "hardwareAccelerationWarn": "表示(特に設定画面)があかんときは「はい」を選んでな。再起動入るで。",
"webview": "Webviewの使用",
"webviewWarn": "TweetDeck使いたかったら「はい」にしてほしいんやけど、セキュリティ的には結構あかんやつやから、使わんのやったらちゃんと「いいえ」にしといてな。再起動入るで。",
"theme": "テーマの設定", "theme": "テーマの設定",
"popup": "新規通知のポップアップお知らせの表示秒数", "popup": "新規通知のポップアップお知らせの表示秒数",
"popupwarn": "0にしたら出さへん", "popupwarn": "0にしたら出さへん",
@@ -68,6 +70,7 @@
"name": "名前", "name": "名前",
"desc": "説明", "desc": "説明",
"customImport": "カスタムテーマのインポート", "customImport": "カスタムテーマのインポート",
"preview": "プレビュー",
"delete": "削除", "delete": "削除",
"timeline": "タイムラインの設定", "timeline": "タイムラインの設定",
"timemode": "時間表記設定", "timemode": "時間表記設定",
@@ -116,6 +119,7 @@
"remote_imgWarn": "プレビューはログインサーバーのキャッシュからどちらにしろ取得する。ビューワーのみに適用されるで。", "remote_imgWarn": "プレビューはログインサーバーのキャッシュからどちらにしろ取得する。ビューワーのみに適用されるで。",
"moreContextMode": "コンテキストツール", "moreContextMode": "コンテキストツール",
"moreContextModeWarn": "トゥート詳細の、トゥート前後のトゥートを表示する機能", "moreContextModeWarn": "トゥート詳細の、トゥート前後のトゥートを表示する機能",
"smallHeader": "カラムのヘッダーの高さを小さくする",
"replySound": "リプライの通知音", "replySound": "リプライの通知音",
"favSound": "お気に入り登録の通知音", "favSound": "お気に入り登録の通知音",
"btSound": "ブーストの通知音", "btSound": "ブーストの通知音",

View File

@@ -18,6 +18,8 @@
"export": "エクスポート", "export": "エクスポート",
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化", "hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
"hardwareAccelerationWarn": "表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。", "hardwareAccelerationWarn": "表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
"webview": "Webviewの使用",
"webviewWarn": "TweetDeckを埋め込むために必要です。セキュリティに影響するため、使用しないときは「いいえ」を選択してください。自動で再起動します。",
"theme": "テーマの設定", "theme": "テーマの設定",
"popup": "新規通知のポップアップお知らせの表示秒数", "popup": "新規通知のポップアップお知らせの表示秒数",
"popupwarn": "0に設定すると表示されません", "popupwarn": "0に設定すると表示されません",
@@ -70,6 +72,7 @@
"desc": "説明", "desc": "説明",
"customImport": "カスタムテーマのインポート", "customImport": "カスタムテーマのインポート",
"delete": "削除", "delete": "削除",
"preview": "プレビュー",
"timeline": "タイムラインの設定", "timeline": "タイムラインの設定",
"timemode": "時間表記設定", "timemode": "時間表記設定",
"relativetime": "相対時間の例:\"1分前\",\"3日前\"", "relativetime": "相対時間の例:\"1分前\",\"3日前\"",
@@ -115,6 +118,7 @@
"markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有されます。", "markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有されます。",
"remote_img": "画像をリモートから取得", "remote_img": "画像をリモートから取得",
"remote_imgWarn": "プレビューはログインサーバーのキャッシュから取得されます。ビューワーのみに適用されます。", "remote_imgWarn": "プレビューはログインサーバーのキャッシュから取得されます。ビューワーのみに適用されます。",
"smallHeader": "カラムのヘッダーの高さを小さくする",
"replySound": "リプライの通知音", "replySound": "リプライの通知音",
"favSound": "お気に入り登録の通知音", "favSound": "お気に入り登録の通知音",
"btSound": "ブーストの通知音", "btSound": "ブーストの通知音",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Standard", "default": "Standard",
"change": "Endre", "change": "Endre",
"select": "Velg", "select": "Velg",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Språk", "setlang": "Språk",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Eksporter", "export": "Eksporter",
"hardwareAcceleration": "Slå av maskinvareakselerasjon", "hardwareAcceleration": "Slå av maskinvareakselerasjon",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Temaer", "theme": "Temaer",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Zmień", "change": "Zmień",
"select": "Wybierz", "select": "Wybierz",
"exec": "Exec",
"env": "Ustawienia systemowe", "env": "Ustawienia systemowe",
"setlang": "Języki", "setlang": "Języki",
"backup": "Import i eksport preferencji", "backup": "Import i eksport preferencji",
@@ -17,6 +18,8 @@
"export": "Eksport", "export": "Eksport",
"hardwareAcceleration": "Wyłącz przyspieszanie sprzętowe", "hardwareAcceleration": "Wyłącz przyspieszanie sprzętowe",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Motywy", "theme": "Motywy",
"popup": "Wyskakujące powiadomienia", "popup": "Wyskakujące powiadomienia",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Padrão", "default": "Padrão",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Изменить", "change": "Изменить",
"select": "Выбрать", "select": "Выбрать",
"exec": "Exec",
"env": "Системные настройки", "env": "Системные настройки",
"setlang": "Языки", "setlang": "Языки",
"backup": "Импорт и экспорт предпочтений", "backup": "Импорт и экспорт предпочтений",
@@ -17,6 +18,8 @@
"export": "Экспорт", "export": "Экспорт",
"hardwareAcceleration": "Отключить аппаратное ускорение", "hardwareAcceleration": "Отключить аппаратное ускорение",
"hardwareAccelerationWarn": "Автоперезапуск", "hardwareAccelerationWarn": "Автоперезапуск",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Темы", "theme": "Темы",
"popup": "Всплывающие уведомления (на Windows)", "popup": "Всплывающие уведомления (на Windows)",
"popupwarn": "Скрыть для установки \"0\"", "popupwarn": "Скрыть для установки \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "තෝරන්න", "select": "තෝරන්න",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "භාෂාව", "setlang": "භාෂාව",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "තේමාවන්", "theme": "තේමාවන්",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "Default", "default": "Default",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "默认", "default": "默认",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification(on Windows)", "popup": "Popup notification(on Windows)",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

View File

@@ -9,6 +9,7 @@
"default": "預設", "default": "預設",
"change": "Change", "change": "Change",
"select": "Select", "select": "Select",
"exec": "Exec",
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
@@ -17,6 +18,8 @@
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",

2
app/view/make/make.d.ts vendored Normal file
View File

@@ -0,0 +1,2 @@
export = construct;
declare function construct(ver: any, basefile: any, pwa: any, store: any): void;

View File

@@ -1,35 +1,13 @@
const fs = require('fs') const fs = require('fs')
const path = require('path')
const basefile = path.join(__dirname, '../../')
const package = fs.readFileSync(basefile + '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) {
ver = input
}
}
var pwa = false
if (process.argv.indexOf('--pwa') > 0) {
var pwa = true
}
var store = false
if (process.argv.indexOf('--store') > 0) {
var store = true
}
function main(ver, basefile, pwa, store) { function construct(ver, basefile, pwa, store) {
const execSync = require('child_process').execSync const execSync = require('child_process').execSync
let gitHash = execSync('git rev-parse HEAD') let gitHash = execSync('git rev-parse HEAD')
.toString() .toString()
.trim() .trim()
fs.writeFileSync(basefile + 'git', gitHash)
console.log('Constructing view files ' + ver) console.log('Constructing view files ' + ver)
const langs = ['ja', 'ja-KS', 'en', 'bg', 'cs', 'de', const langs = ['ja', 'ja-KS', 'en', 'bg', 'cs', 'de',
'es-AR', 'it-IT', 'zh-CN', 'zh-TW', 'fr-FR', 'no-NO', 'pt-BR', 'ru-RU', 'es-ES','pl-PL', 'ps'] 'es-AR', 'it-IT', 'zh-CN', 'fr-FR', 'zh-TW', 'no-NO', 'pt-BR', 'ru-RU', 'es-ES','pl-PL', 'ps']
const langsh = [ const langsh = [
'日本語', '日本語',
'日本語(関西)', '日本語(関西)',
@@ -172,23 +150,4 @@ function main(ver, basefile, pwa, store) {
} }
} }
} }
main(ver, basefile, pwa, store) module.exports = construct
//if --watch, to yarn dev
if (process.argv.indexOf('--watch') !== -1) {
const chokidar = require('chokidar')
console.log(
'watch mode(not hot-watch): when construction files are changed, refresh view files but not reload. Please reload manually.'
)
const watcher = chokidar.watch(basefile + 'view/make', {
ignored: 'view/make/make.js',
persistent: true
})
watcher.on('ready', function () {
console.log('watching...')
watcher.on('change', function (path) {
console.log(path + ' changed.')
main(ver, basefile)
})
})
}

44
app/view/make/makeCli.js Normal file
View File

@@ -0,0 +1,44 @@
const fs = require('fs')
const path = require('path')
const construct = require('./make.js')
const basefile = path.join(__dirname, '../../')
const package = fs.readFileSync(basefile + 'package.json')
const data = JSON.parse(package)
const version = data.version
const codename = data.codename
let ver = `${version} (${codename})`
if (process.argv.indexOf('--prompt') != -1) {
let input = require('readline-sync').question('version string [empty: ' + ver + ' (default)]? ')
if (input) {
ver = input
}
}
var pwa = false
if (process.argv.indexOf('--pwa') > 0) {
var pwa = true
}
var store = false
if (process.argv.indexOf('--store') > 0) {
var store = true
}
construct(ver, basefile, pwa, store)
//if --watch, to yarn dev
if (process.argv.indexOf('--watch') !== -1) {
const chokidar = require('chokidar')
console.log(
'watch mode(not hot-watch): when construction files are changed, refresh view files but not reload. Please reload manually.'
)
const watcher = chokidar.watch(basefile + 'view/make', {
ignored: 'view/make/make.js',
persistent: true
})
watcher.on('ready', function () {
console.log('watching...')
watcher.on('change', function (path) {
console.log(path + ' changed.')
construct(ver, basefile)
})
})
}

View File

@@ -15,6 +15,8 @@
<link href="../../css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/pickr.css" type="text/css" rel="stylesheet"> <link href="../../css/pickr.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="../../css/tl.css" type="text/css" rel="stylesheet">
<link href="../../css/sweetalert2-material.min.css" type="text/css" rel="stylesheet">
<link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet"> <link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
<style> <style>
@@ -42,7 +44,7 @@
<script src="../../@@node_base@@/json5/dist/index.min.js"></script> <script src="../../@@node_base@@/json5/dist/index.min.js"></script>
<script src="../../@@node_base@@/vue/dist/vue.min.js"></script> <script src="../../@@node_base@@/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script> <script type="text/javascript" src="setting.vue.js"></script>
<script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script>
<script>function renderMem() { return false; }</script> <script>function renderMem() { return false; }</script>
<h4>@@setting@@</h4> <h4>@@setting@@</h4>
@@ -287,6 +289,7 @@
<input type="color" id="color-picker13_value"> <input type="color" id="color-picker13_value">
</div> </div>
</div><br /><br /> </div><br /><br />
<button class="btn waves-effect blue" onclick="customComp(true)">@@preview@@</button><br /><br />
<button class="btn-large waves-effect" onclick="customComp()">@@change@@</button>&nbsp;<button <button class="btn-large waves-effect" onclick="customComp()">@@change@@</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br> class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br>
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea" <input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
@@ -295,6 +298,84 @@
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea" <input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
placeholder="JSON/JSON5 style"> placeholder="JSON/JSON5 style">
<button class="btn waves-effect" onclick="customImp()">@@import@@</button><br> <button class="btn waves-effect" onclick="customImp()">@@import@@</button><br>
<h4>@@preview@@</h4>
<div style="max-width: 500px" class="cvo">
<div class="area-notice grid"><span class="gray sharesta"><span class=" pointer big-text "><i class="fas fa-filter">
</i></span>
<span class="cbadge cbadge-hover"><i class="far fa-clock"></i>
0:00:00
</span>
<i class="big-text fas fa-star yellow-text"></i>
<a class="pointer grey-text">
TheDesk(@thedesk@b.thedesk.tld)
</a></span></div>
<div class="area-icon grid">
<a user="thedesk" class="udg">
<img draggable="false" src="../../img/desk.svg" width="40" class="prof-img" user="TheDesk"
onerror="this.src='../../img/loading.svg'" alt="" loading="lazy">
</a>
<a user="Cutls@misskey.io" class="udg">
<img draggable="false" src="../../img/desk.svg" width="20" class="notf-icon prof-img" user="TheDesk" alt=""
loading="lazy">
</a>
</div>
<div class="area-display_name grid">
<div class="flex-name">
<span class="user">TheDesk<img class="emoji" draggable="false" alt="👀" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f440.png"></span>
<span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;">
@thedesk@a.thedesk.tld <i class="fas fa-lock red-text"></i>
</span>
</div>
<div class="flex-time">
<span class="cbadge cbadge-hover pointer waves-effect">
<i class="far fa-clock"></i>0:00:00
</span>
</div>
</div>
<div class="area-toot grid">
<div class="toot ">
<p>Toot</p>
</div>
</div>
<div class="area-vis grid"><span><i class="text-darken-3 material-icons gray sml vis-data pointer">
public
</i></span></div>
<div class="area-actions grid">
<div class="action type-a ">
<a class="waves-effect waves-dark btn-flat actct rep-btn" style="padding:0">
<i class="fas fa-share"></i>
<span class="rep_ct">1</span>
</a>
</div>
<div class="action type-a ">
<a class="waves-effect waves-dark btn-flat actct bt-btn" style="padding:0">
<i class="fas fa-retweet"></i>
<span class="rt_ct">0</span>
</a>
</div>
<div class="action type-a ">
<a class="waves-effect waves-dark btn-flat actct fav-btn" style="padding:0">
<i class="fas text-darken-3 fa-star"></i>
<span class="fav_ct">1</span>
</a>
</div>
</div>
<div class="area-side">
<div class="action ">
<a onclick="toggleAction(this)" data-target="dropdown_0ugtorxe"
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0" id="trigger_0ugtorxe">
<i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i>
<span class="voice">Other actions</span>
</a>
</div>
<div class="action ">
<a class="waves-effect waves-dark btn-flat details " style="padding:0">
<i class="text-darken-3 material-icons" aria-hidden="true">menu_open</i></a>
</div>
</div>
</div>
</li> </li>
<li> <li>
<div class="collapsible-header"> <div class="collapsible-header">
@@ -405,7 +486,7 @@
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">@@plugin@@ style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">@@plugin@@
</div> </div>
<div class="collapsible-body"> <div class="collapsible-body">
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">@@howToWritePlugin@@</a><br /> <a href="https://github.com/cutls/TheDesk/wiki/プラグイン">@@howToWritePlugin@@</a><br />
<div id="plugin" data-id="add_new" style="height: 600px"></div> <div id="plugin" data-id="add_new" style="height: 600px"></div>
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">@@change@@</button> <button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">@@change@@</button>
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;" <button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"

View File

@@ -154,6 +154,26 @@ var envConstruction = [
desc: '@@useragentWarn@@' desc: '@@useragentWarn@@'
} }
}, },
{
id: 'webview',
storage: 'webview_setting',
checkbox: true,
setValue: false,
text: {
head: '@@webview@@',
desc: '@@webviewWarn@@',
checkbox: [
{
text: '@@yes@@',
value: 'true'
},
{
text: '@@no@@',
value: 'false'
}
]
}
},
{ {
id: 'srcUrl', id: 'srcUrl',
storage: 'srcUrl', storage: 'srcUrl',
@@ -464,6 +484,17 @@ var tlConstruction = [
checkbox: yesno checkbox: yesno
} }
}, },
{
id: 'small-header',
storage: 'smallHeader',
checkbox: true,
setValue: 'no',
text: {
head: '@@smallHeader@@',
desc: '',
checkbox: yesno
}
},
{ {
id: 'replySound', id: 'replySound',
storage: 'replySound', storage: 'replySound',

View File

@@ -11,6 +11,7 @@
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" /> <link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" /> <link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="../../css/sweetalert2-material.min.css" type="text/css" rel="stylesheet">
<link href="../../css/acct.css" rel="stylesheet" type="text/css" /> <link href="../../css/acct.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8" /> <meta charset="utf-8" />
<!-- <!--
@@ -20,7 +21,7 @@
</script> </script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script> <script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
--> -->
<script>var pwa = false;</script> <script>var store = false;</script> <script>var pwa = false;</script> <script>var store = true;</script>
</head> </head>
<body id="mainView" class=""> <body id="mainView" class="">
@@ -28,7 +29,7 @@
<script type="text/javascript" src="../../js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script> <script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script> <script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.min.js"></script>
<script> <script>
var misskeytoken = false var misskeytoken = false
</script> </script>

View File

@@ -12,6 +12,7 @@
<link href="../../css/post.css" rel="stylesheet" type="text/css" /> <link href="../../css/post.css" rel="stylesheet" type="text/css" />
<link href="../../css/master.css" type="text/css" rel="stylesheet" /> <link href="../../css/master.css" type="text/css" rel="stylesheet" />
<link href="../../css/sort.css" rel="stylesheet" type="text/css" /> <link href="../../css/sort.css" rel="stylesheet" type="text/css" />
<link href="../../css/sweetalert2-material.min.css" type="text/css" rel="stylesheet">
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" /> <link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
<meta charset="utf-8" /> <meta charset="utf-8" />
<!-- <!--
@@ -20,13 +21,13 @@
_jipt.push(['project', 'thedesk']) _jipt.push(['project', 'thedesk'])
</script> </script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script> <script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
--> <script>var pwa = false;</script> <script>var store = false;</script> --> <script>var pwa = false;</script> <script>var store = true;</script>
</head> </head>
<body class=""> <body class="">
<script> <script>
var ver = '22.1.1 (Koume)' var ver = '22.2.0 (Koume)'
var gitHash = '6e75ea7f374fe887b8956bcb9bdac5524133b865' var gitHash = 'f570ed36e876bfe2f9d21a6350c1f22f22980c89'
//betaを入れるとバージョンチェックしない //betaを入れるとバージョンチェックしない
//var ver="beta"; //var ver="beta";
var acct_id = 0 var acct_id = 0
@@ -783,38 +784,27 @@
<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 /> <a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br />
<br /> <br />
<div id="release-22-1-1_Koume" class="release-do" style="display:none; "> <div id="release-22-2-0_Koume" class="release-do" style="display:none; ">
<br /> <br />
<a href="https://ja.mstdn. <a href="https://ja.mstdn.
wiki/TheDesk" target="_blank">機能一覧</a><br /> wiki/TheDesk" target="_blank">機能一覧</a><br />
Pixiv Pixiv
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br /> FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。 困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note 22.1.1 (Koume)</h5> <h5>Release Note 22.2.0 (Koume)</h5>
<!--上のdivのidも変えてね--> <!--上のdivのidや1行上のところも変えてね-->
Fediversearchを使用するように <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img TweetDeck機能の復活 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a>
<a onclick="udgEx('popn_ja@popon.pptdn.jp','main')" class="contributor"><img
src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4">kaias1jp</a><br>
・コンテキストツール(エアリプチェッカー)をデフォルトで無効に(#445) <a onclick="udgEx('Cutls@cutls.com','main')"
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
Pleromaでリフレッシュトークンの更新がうまくいかない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" 頒布されるmacOS向けビルドにNotarize(公証)を追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
Mastodonでいきなりアクセストークンが無効化してしまう不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" ARM版Windows向けビルドの試験頒布 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
カラム横幅設定が効かない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img ダイアログのデザイン変更 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
一部別ドメイン提供のストリーミングで、ストリーミングに接続できない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" 各カラムのヘッダーの高さを減らせるように <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・フランス語をbetaから標準翻訳に <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img <h5>ご注意ください</h5>
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> ・TweetDeck連携は環境設定から有効にしてからご利用いただけます。
・AiScriptエディタにシンタックスハイライトを導入 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img
src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
</div> </div>
<div id="release-en" style="display:none"> <div id="release-en" style="display:none">
<h5>Let's make it native!</h5> <h5>Let's make it native!</h5>
@@ -1259,7 +1249,7 @@
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script> <script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<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="../../node_modules/jquery-ui-dist/jquery-ui.min.js"></script> <script type="text/javascript" src="../../node_modules/jquery-ui-dist/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script> <script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.min.js"></script>
<script type="text/javascript" src="../../js/platform/punycode.js"></script> <script type="text/javascript" src="../../js/platform/punycode.js"></script>
<script type="text/javascript" src="../../js/ui/tips.js"></script> <script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script> <script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>

View File

@@ -15,6 +15,8 @@
<link href="../../css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/pickr.css" type="text/css" rel="stylesheet"> <link href="../../css/pickr.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="../../css/tl.css" type="text/css" rel="stylesheet">
<link href="../../css/sweetalert2-material.min.css" type="text/css" rel="stylesheet">
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet"> <link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
<style> <style>
@@ -31,7 +33,7 @@
} }
</style> </style>
<script>var pwa = false;</script> <script>var pwa = false;</script>
<script>var store = false;</script> <script>var store = true;</script>
</head> </head>
<body id="mainView" style="overflow-y:scroll" class=""> <body id="mainView" style="overflow-y:scroll" class="">
@@ -42,7 +44,7 @@
<script src="../../node_modules/json5/dist/index.min.js"></script> <script src="../../node_modules/json5/dist/index.min.js"></script>
<script src="../../node_modules/vue/dist/vue.min.js"></script> <script src="../../node_modules/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script> <script type="text/javascript" src="setting.vue.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script> <script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.min.js"></script>
<script>function renderMem() { return false; }</script> <script>function renderMem() { return false; }</script>
<h4>Ustawienia</h4> <h4>Ustawienia</h4>
@@ -55,7 +57,7 @@
<h5>Języki</h5> <h5>Języki</h5>
<div style="display: flex;"> <div style="display: flex;">
<div style="width: 22rem;" id="langsel"> <div style="width: 22rem;" id="langsel">
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">français</option><option value="fr-FR">繁體中文(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="pl-PL">Polskie(β)</option><option value="ps">Crowdin translate system(beta)</option></select> <select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="fr-FR">français</option><option value="zh-TW">繁體中文(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="pl-PL">Polskie(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
</div> </div>
<button class="btn waves-effect" onclick="changeLang()">Zmień</button> <button class="btn waves-effect" onclick="changeLang()">Zmień</button>
</div> </div>
@@ -287,6 +289,7 @@
<input type="color" id="color-picker13_value"> <input type="color" id="color-picker13_value">
</div> </div>
</div><br /><br /> </div><br /><br />
<button class="btn waves-effect blue" onclick="customComp(true)">Preview</button><br /><br />
<button class="btn-large waves-effect" onclick="customComp()">Zmień</button>&nbsp;<button <button class="btn-large waves-effect" onclick="customComp()">Zmień</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br> class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea" <input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
@@ -295,6 +298,84 @@
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea" <input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
placeholder="JSON/JSON5 style"> placeholder="JSON/JSON5 style">
<button class="btn waves-effect" onclick="customImp()">Import</button><br> <button class="btn waves-effect" onclick="customImp()">Import</button><br>
<h4>Preview</h4>
<div style="max-width: 500px" class="cvo">
<div class="area-notice grid"><span class="gray sharesta"><span class=" pointer big-text "><i class="fas fa-filter">
</i></span>
<span class="cbadge cbadge-hover"><i class="far fa-clock"></i>
0:00:00
</span>
<i class="big-text fas fa-star yellow-text"></i>
<a class="pointer grey-text">
TheDesk(@thedesk@b.thedesk.tld)
</a></span></div>
<div class="area-icon grid">
<a user="thedesk" class="udg">
<img draggable="false" src="../../img/desk.svg" width="40" class="prof-img" user="TheDesk"
onerror="this.src='../../img/loading.svg'" alt="" loading="lazy">
</a>
<a user="Cutls@misskey.io" class="udg">
<img draggable="false" src="../../img/desk.svg" width="20" class="notf-icon prof-img" user="TheDesk" alt=""
loading="lazy">
</a>
</div>
<div class="area-display_name grid">
<div class="flex-name">
<span class="user">TheDesk<img class="emoji" draggable="false" alt="👀" src="https://twemoji.maxcdn.com/v/13.0.2/72x72/1f440.png"></span>
<span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;">
@thedesk@a.thedesk.tld <i class="fas fa-lock red-text"></i>
</span>
</div>
<div class="flex-time">
<span class="cbadge cbadge-hover pointer waves-effect">
<i class="far fa-clock"></i>0:00:00
</span>
</div>
</div>
<div class="area-toot grid">
<div class="toot ">
<p>Toot</p>
</div>
</div>
<div class="area-vis grid"><span><i class="text-darken-3 material-icons gray sml vis-data pointer">
public
</i></span></div>
<div class="area-actions grid">
<div class="action type-a ">
<a class="waves-effect waves-dark btn-flat actct rep-btn" style="padding:0">
<i class="fas fa-share"></i>
<span class="rep_ct">1</span>
</a>
</div>
<div class="action type-a ">
<a class="waves-effect waves-dark btn-flat actct bt-btn" style="padding:0">
<i class="fas fa-retweet"></i>
<span class="rt_ct">0</span>
</a>
</div>
<div class="action type-a ">
<a class="waves-effect waves-dark btn-flat actct fav-btn" style="padding:0">
<i class="fas text-darken-3 fa-star"></i>
<span class="fav_ct">1</span>
</a>
</div>
</div>
<div class="area-side">
<div class="action ">
<a onclick="toggleAction(this)" data-target="dropdown_0ugtorxe"
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0" id="trigger_0ugtorxe">
<i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i>
<span class="voice">Other actions</span>
</a>
</div>
<div class="action ">
<a class="waves-effect waves-dark btn-flat details " style="padding:0">
<i class="text-darken-3 material-icons" aria-hidden="true">menu_open</i></a>
</div>
</div>
</div>
</li> </li>
<li> <li>
<div class="collapsible-header"> <div class="collapsible-header">
@@ -405,7 +486,7 @@
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Wtyczki style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Wtyczki
</div> </div>
<div class="collapsible-body"> <div class="collapsible-body">
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br /> <a href="https://github.com/cutls/TheDesk/wiki/プラグイン">Japanese docs of AiScript TheDesk plugins</a><br />
<div id="plugin" data-id="add_new" style="height: 600px"></div> <div id="plugin" data-id="add_new" style="height: 600px"></div>
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Zmień</button> <button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Zmień</button>
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;" <button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
@@ -609,7 +690,7 @@
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25" style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
style="padding-top:5px;">Main author: Cutls@cutls.com</a> style="padding-top:5px;">Main author: Cutls@cutls.com</a>
<br> <br>
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/6e75ea7f374fe887b8956bcb9bdac5524133b865">6e75ea7f374fe887b8956bcb9bdac5524133b865</a> - <a TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/f570ed36e876bfe2f9d21a6350c1f22f22980c89">f570ed36e876bfe2f9d21a6350c1f22f22980c89</a> - <a
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';" onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
class="pointer pwa">Sprawdź aktualizacje</a><br> class="pointer pwa">Sprawdź aktualizacje</a><br>
<br> <br>
@@ -619,7 +700,7 @@
<img src="https://status.cutls.com/badge-service?site=thedesk.top"> <img src="https://status.cutls.com/badge-service?site=thedesk.top">
</a><br> </a><br>
<h5>OSS License</h5> <h5>OSS License</h5>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/6e75ea7f374fe887b8956bcb9bdac5524133b865" <a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/f570ed36e876bfe2f9d21a6350c1f22f22980c89"
alt="FOSSA Status"><img alt="FOSSA Status"><img
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a> src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
<br> <br>

View File

@@ -154,6 +154,26 @@ var envConstruction = [
desc: 'Restart when changed' desc: 'Restart when changed'
} }
}, },
{
id: 'webview',
storage: 'webview_setting',
checkbox: true,
setValue: false,
text: {
head: 'Webview Integration',
desc: 'To use TweetDeck Integration, please turn on. You should understand it may lessen security level.',
checkbox: [
{
text: 'Tak',
value: 'true'
},
{
text: 'Nie',
value: 'false'
}
]
}
},
{ {
id: 'srcUrl', id: 'srcUrl',
storage: 'srcUrl', storage: 'srcUrl',
@@ -464,6 +484,17 @@ var tlConstruction = [
checkbox: yesno checkbox: yesno
} }
}, },
{
id: 'small-header',
storage: 'smallHeader',
checkbox: true,
setValue: 'no',
text: {
head: 'Minimize column headers',
desc: '',
checkbox: yesno
}
},
{ {
id: 'replySound', id: 'replySound',
storage: 'replySound', storage: 'replySound',

View File

@@ -441,10 +441,10 @@
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
"@types/fs-extra@^9.0.7": "@types/fs-extra@9.0.11", "@types/fs-extra@^9.0.7":
version "9.0.8" version "9.0.11"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.8.tgz#32c3c07ddf8caa5020f84b5f65a48470519f78ba" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz#8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87"
integrity sha512-bnlTVTwq03Na7DpWxFJ1dvnORob+Otb8xHyUqUWhqvz/Ksg8+JXPlR52oeMSZ37YEOa5PyccbgUNutiQdi13TA== integrity sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
@@ -478,10 +478,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b"
integrity sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ== integrity sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ==
"@types/node@^12.0.12": "@types/node@^14.6.2":
version "12.12.8" version "14.14.37"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.8.tgz#dab418655af39ce2fa99286a0bed21ef8072ac9d" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e"
integrity sha512-XLla8N+iyfjvsa0KKV+BP/iGSoTmwxsu5Ci5sM33z9TjohF72DEz95iNvD6pPmemvbQgxAv/909G73gUn8QR7w== integrity sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==
"@types/plist@^3.0.1": "@types/plist@^3.0.1":
version "3.0.2" version "3.0.2"
@@ -1165,6 +1165,14 @@ call-bind@^1.0.0:
function-bind "^1.1.1" function-bind "^1.1.1"
get-intrinsic "^1.0.0" get-intrinsic "^1.0.0"
call-bind@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
dependencies:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
callsites@^3.0.0: callsites@^3.0.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -1188,7 +1196,7 @@ chalk@4.0.0:
ansi-styles "^4.1.0" ansi-styles "^4.1.0"
supports-color "^7.1.0" supports-color "^7.1.0"
chalk@^2.0.0, chalk@^2.4.2: chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2" version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1480,6 +1488,17 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1" safe-buffer "^5.0.1"
sha.js "^2.4.8" sha.js "^2.4.8"
cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
dependencies:
nice-try "^1.0.4"
path-key "^2.0.1"
semver "^5.5.0"
shebang-command "^1.2.0"
which "^1.2.9"
cross-spawn@^7.0.1, cross-spawn@^7.0.2: cross-spawn@^7.0.1, cross-spawn@^7.0.2:
version "7.0.3" version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -1839,6 +1858,14 @@ electron-dl@^3.2.1:
pupa "^2.0.1" pupa "^2.0.1"
unused-filename "^2.1.0" unused-filename "^2.1.0"
electron-notarize@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.0.0.tgz#bc925b1ccc3f79e58e029e8c4706572b01a9fd8f"
integrity sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==
dependencies:
debug "^4.1.1"
fs-extra "^9.0.1"
electron-publish@22.10.5: electron-publish@22.10.5:
version "22.10.5" version "22.10.5"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz#9cbe46266b6c79d8c6e99840755682e2262d3543" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz#9cbe46266b6c79d8c6e99840755682e2262d3543"
@@ -1871,13 +1898,13 @@ electron-rebuild@^2.3.5:
tar "^6.0.5" tar "^6.0.5"
yargs "^16.0.0" yargs "^16.0.0"
electron@^10.2.0: electron@^12.0.2:
version "10.2.0" version "12.0.2"
resolved "https://registry.yarnpkg.com/electron/-/electron-10.2.0.tgz#4b00f0907b28aca4b93661bb53ce9a4f8ad32201" resolved "https://registry.yarnpkg.com/electron/-/electron-12.0.2.tgz#d92be205f1937627bd6718aad44ac161382b4c2d"
integrity sha512-GBUyq8dwUqXPkCTkoID+eZ5Pm9GFlLUd2eSoGe8UOaHeW68SgCf5t75/uGHraQ1OIz/0qniyH5M4ebWEHGppyQ== integrity sha512-14luh9mGzfL4e0sncyy0+kW37IU7Y0Y1tvI97FDRSW0ZBQxi5cmAwSs5dmPmNBFBIGtzkaGaEB01j9RjZuCmow==
dependencies: dependencies:
"@electron/get" "^1.0.1" "@electron/get" "^1.0.1"
"@types/node" "^12.0.12" "@types/node" "^14.6.2"
extract-zip "^1.0.3" extract-zip "^1.0.3"
elliptic@^6.5.3: elliptic@^6.5.3:
@@ -1937,6 +1964,13 @@ errlop@^4.0.0:
resolved "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz#8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b" resolved "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz#8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b"
integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ== integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ==
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
es-abstract@^1.13.0, es-abstract@^1.5.1: es-abstract@^1.13.0, es-abstract@^1.5.1:
version "1.16.0" version "1.16.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d"
@@ -1970,6 +2004,28 @@ es-abstract@^1.17.4, es-abstract@^1.17.5:
string.prototype.trimend "^1.0.1" string.prototype.trimend "^1.0.1"
string.prototype.trimstart "^1.0.1" string.prototype.trimstart "^1.0.1"
es-abstract@^1.18.0-next.2:
version "1.18.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
dependencies:
call-bind "^1.0.2"
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
get-intrinsic "^1.1.1"
has "^1.0.3"
has-symbols "^1.0.2"
is-callable "^1.2.3"
is-negative-zero "^2.0.1"
is-regex "^1.1.2"
is-string "^1.0.5"
object-inspect "^1.9.0"
object-keys "^1.1.1"
object.assign "^4.1.2"
string.prototype.trimend "^1.0.4"
string.prototype.trimstart "^1.0.4"
unbox-primitive "^1.0.0"
es-to-primitive@^1.2.0, es-to-primitive@^1.2.1: es-to-primitive@^1.2.0, es-to-primitive@^1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@@ -2361,6 +2417,15 @@ get-intrinsic@^1.0.0:
has "^1.0.3" has "^1.0.3"
has-symbols "^1.0.1" has-symbols "^1.0.1"
get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
dependencies:
function-bind "^1.1.1"
has "^1.0.3"
has-symbols "^1.0.1"
get-stream@^4.1.0: get-stream@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -2537,6 +2602,11 @@ har-validator@~5.1.3:
ajv "^6.12.3" ajv "^6.12.3"
har-schema "^2.0.0" har-schema "^2.0.0"
has-bigints@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
has-flag@^3.0.0: has-flag@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -2557,6 +2627,11 @@ has-symbols@^1.0.1:
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
has-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
has-unicode@^2.0.0: has-unicode@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
@@ -2600,6 +2675,11 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0" minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1" minimalistic-crypto-utils "^1.0.1"
hosted-git-info@^2.1.4:
version "2.8.9"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
hosted-git-info@^3.0.6, hosted-git-info@^3.0.8: hosted-git-info@^3.0.6, hosted-git-info@^3.0.8:
version "3.0.8" version "3.0.8"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
@@ -2772,6 +2852,16 @@ is-arguments@^1.0.4:
resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3"
integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-bigint@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2"
integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==
is-binary-path@~2.1.0: is-binary-path@~2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
@@ -2801,6 +2891,11 @@ is-callable@^1.2.2:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
is-callable@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
is-ci@^2.0.0: is-ci@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
@@ -2808,7 +2903,7 @@ is-ci@^2.0.0:
dependencies: dependencies:
ci-info "^2.0.0" ci-info "^2.0.0"
is-core-module@^2.1.0: is-core-module@^2.1.0, is-core-module@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
@@ -2872,6 +2967,11 @@ is-interactive@^1.0.0:
resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
is-negative-zero@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
is-npm@^5.0.0: is-npm@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
@@ -2921,6 +3021,14 @@ is-regex@^1.1.1:
dependencies: dependencies:
has-symbols "^1.0.1" has-symbols "^1.0.1"
is-regex@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==
dependencies:
call-bind "^1.0.2"
has-symbols "^1.0.1"
is-string@^1.0.5: is-string@^1.0.5:
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
@@ -2933,6 +3041,13 @@ is-symbol@^1.0.2:
dependencies: dependencies:
has-symbols "^1.0.0" has-symbols "^1.0.0"
is-symbol@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
dependencies:
has-symbols "^1.0.1"
is-typed-array@^1.1.3: is-typed-array@^1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d"
@@ -2977,10 +3092,9 @@ istextorbinary@^5.12.0:
editions "^6.1.0" editions "^6.1.0"
textextensions "^5.11.0" textextensions "^5.11.0"
itunes-nowplaying-mac@0.3.1: "itunes-nowplaying-mac@https://github.com/cutls/itunes-nowplaying-mac/releases/download/v0.4.0/itunes-nowplaying-mac-0.4.0.tgz":
version "0.3.1" version "0.4.0"
resolved "https://registry.yarnpkg.com/itunes-nowplaying-mac/-/itunes-nowplaying-mac-0.3.1.tgz#3f5ee853aef843e66c20ae10b9439303bc1a4986" resolved "https://github.com/cutls/itunes-nowplaying-mac/releases/download/v0.4.0/itunes-nowplaying-mac-0.4.0.tgz#f309bb7417ad7dfc811b432ee4655722a9a370c7"
integrity sha512-kZ/ef1rMzl/CMc1RBh3z99wqijxQgz5Vn1gLCrE1OqRwj9bq2vbgeIqWjJC8iDWZHRolizdTPfKMAbp8yKYFTQ==
jake@^10.6.1: jake@^10.6.1:
version "10.8.2" version "10.8.2"
@@ -3053,6 +3167,11 @@ json-buffer@3.0.1:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
json-schema-traverse@^0.4.1: json-schema-traverse@^0.4.1:
version "0.4.1" version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -3177,6 +3296,16 @@ load-bmfont@^1.3.1, load-bmfont@^1.4.0:
xhr "^2.0.1" xhr "^2.0.1"
xtend "^4.0.0" xtend "^4.0.0"
load-json-file@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
dependencies:
graceful-fs "^4.1.2"
parse-json "^4.0.0"
pify "^3.0.0"
strip-bom "^3.0.0"
lodash.clonedeep@^4.5.0: lodash.clonedeep@^4.5.0:
version "4.5.0" version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
@@ -3265,6 +3394,11 @@ md5.js@^1.3.4:
inherits "^2.0.1" inherits "^2.0.1"
safe-buffer "^5.1.2" safe-buffer "^5.1.2"
memorystream@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=
miller-rabin@^4.0.0: miller-rabin@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
@@ -3458,6 +3592,11 @@ needle@^2.2.1:
iconv-lite "^0.4.4" iconv-lite "^0.4.4"
sax "^1.2.4" sax "^1.2.4"
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
node-abi@^2.19.2: node-abi@^2.19.2:
version "2.19.3" version "2.19.3"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d"
@@ -3510,6 +3649,16 @@ nopt@^4.0.1, nopt@^4.0.3:
abbrev "1" abbrev "1"
osenv "^0.1.4" osenv "^0.1.4"
normalize-package-data@^2.3.2:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
dependencies:
hosted-git-info "^2.1.4"
resolve "^1.10.0"
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
normalize-package-data@^3.0.0: normalize-package-data@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a"
@@ -3559,6 +3708,21 @@ npm-packlist@^1.1.6:
npm-bundled "^1.0.1" npm-bundled "^1.0.1"
npm-normalize-package-bin "^1.0.1" npm-normalize-package-bin "^1.0.1"
npm-run-all@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==
dependencies:
ansi-styles "^3.2.1"
chalk "^2.4.1"
cross-spawn "^6.0.5"
memorystream "^0.3.1"
minimatch "^3.0.4"
pidtree "^0.3.0"
read-pkg "^3.0.0"
shell-quote "^1.6.1"
string.prototype.padend "^3.0.0"
npmlog@^4.0.2, npmlog@^4.1.2: npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2" version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
@@ -3594,12 +3758,17 @@ object-inspect@^1.8.0:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
object-inspect@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
object-keys@^1.0.12, object-keys@^1.1.1: object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
object.assign@^4.1.1: object.assign@^4.1.1, object.assign@^4.1.2:
version "4.1.2" version "4.1.2"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
@@ -3766,6 +3935,14 @@ parse-headers@^2.0.0:
for-each "^0.3.3" for-each "^0.3.3"
string.prototype.trim "^1.1.2" string.prototype.trim "^1.1.2"
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
dependencies:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
parse-srcset@^1.0.2: parse-srcset@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1"
@@ -3786,6 +3963,11 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-key@^3.1.0: path-key@^3.1.0:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
@@ -3801,6 +3983,13 @@ path-platform@~0.11.15:
resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"
integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I= integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=
path-type@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
dependencies:
pify "^3.0.0"
pbkdf2@^3.0.3: pbkdf2@^3.0.3:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
@@ -3837,6 +4026,11 @@ picomatch@^2.2.1:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
pidtree@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
pify@^3.0.0: pify@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
@@ -4024,6 +4218,15 @@ read-only-stream@^2.0.0:
dependencies: dependencies:
readable-stream "^2.0.2" readable-stream "^2.0.2"
read-pkg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
dependencies:
load-json-file "^4.0.0"
normalize-package-data "^2.3.2"
path-type "^3.0.0"
readable-stream@^2.0.2, readable-stream@^2.3.5, readable-stream@~2.3.6: readable-stream@^2.0.2, readable-stream@^2.3.5, readable-stream@~2.3.6:
version "2.3.7" version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
@@ -4160,6 +4363,14 @@ resolve@^1.1.4, resolve@^1.17.0, resolve@^1.4.0:
is-core-module "^2.1.0" is-core-module "^2.1.0"
path-parse "^1.0.6" path-parse "^1.0.6"
resolve@^1.10.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
dependencies:
is-core-module "^2.2.0"
path-parse "^1.0.6"
responselike@^1.0.2: responselike@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
@@ -4278,7 +4489,7 @@ semver-diff@^3.1.1:
dependencies: dependencies:
semver "^6.3.0" semver "^6.3.0"
semver@^5.3.0, semver@^5.4.1: "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
version "5.7.1" version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -4327,6 +4538,13 @@ shasum-object@^1.0.0:
dependencies: dependencies:
fast-safe-stringify "^2.0.7" fast-safe-stringify "^2.0.7"
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
dependencies:
shebang-regex "^1.0.0"
shebang-command@^2.0.0: shebang-command@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -4334,6 +4552,11 @@ shebang-command@^2.0.0:
dependencies: dependencies:
shebang-regex "^3.0.0" shebang-regex "^3.0.0"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
shebang-regex@^3.0.0: shebang-regex@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
@@ -4532,6 +4755,15 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0:
is-fullwidth-code-point "^3.0.0" is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
string.prototype.padend@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311"
integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.18.0-next.2"
string.prototype.trim@^1.1.2: string.prototype.trim@^1.1.2:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d"
@@ -4549,6 +4781,14 @@ string.prototype.trimend@^1.0.1:
call-bind "^1.0.0" call-bind "^1.0.0"
define-properties "^1.1.3" define-properties "^1.1.3"
string.prototype.trimend@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
string.prototype.trimleft@^2.1.0: string.prototype.trimleft@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634"
@@ -4573,6 +4813,14 @@ string.prototype.trimstart@^1.0.1:
call-bind "^1.0.0" call-bind "^1.0.0"
define-properties "^1.1.3" define-properties "^1.1.3"
string.prototype.trimstart@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
string_decoder@^1.1.1: string_decoder@^1.1.1:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
@@ -4622,6 +4870,11 @@ strip-ansi@^6.0.0:
dependencies: dependencies:
ansi-regex "^5.0.0" ansi-regex "^5.0.0"
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
@@ -4855,6 +5108,16 @@ umd@^3.0.0:
resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf"
integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==
unbox-primitive@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
dependencies:
function-bind "^1.1.1"
has-bigints "^1.0.1"
has-symbols "^1.0.2"
which-boxed-primitive "^1.0.2"
undeclared-identifiers@^1.1.2: undeclared-identifiers@^1.1.2:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f"
@@ -5043,6 +5306,17 @@ wcwidth@^1.0.1:
dependencies: dependencies:
defaults "^1.0.3" defaults "^1.0.3"
which-boxed-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
dependencies:
is-bigint "^1.0.1"
is-boolean-object "^1.1.0"
is-number-object "^1.0.4"
is-string "^1.0.5"
is-symbol "^1.0.3"
which-typed-array@^1.1.2: which-typed-array@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2"
@@ -5055,6 +5329,13 @@ which-typed-array@^1.1.2:
has-symbols "^1.0.1" has-symbols "^1.0.1"
is-typed-array "^1.1.3" is-typed-array "^1.1.3"
which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
which@^2.0.1, which@^2.0.2: which@^2.0.1, which@^2.0.2:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"

251
plugin.md
View File

@@ -1,250 +1 @@
# TheDesk Plugin Moved to [Wiki](https://github.com/cutls/TheDesk/wiki/プラグイン)
[AiScript](https://github.com/syuilo/aiscript)で書きます。
[AiScript の書き方](https://github.com/syuilo/aiscript/blob/master/docs/get-started.md)
## メタデータ
```
### {
manifest: 1
name: "マイ・ファースト・プラグイン"
version: 1
event: "buttonOnPostbox"
author: "Cutls P"
apiGet: no
}
```
これを冒頭に入れます。
**AiScriptのbooleanはyesかnoです**
- manifest
1 を指定してください。無ければ 1 とみなします。
- version
数字でも文字列でも好きに使ってください。TheDesk 側では全く参照しません。
- dangerHtml: boolean
`TheDesk:changeText`にアクセスするために必要です。
- apiGet: boolean
`TheDesk:api`または`TheDesk:getRequest`に GET メソッドでアクセスするときに必要です。
- apiPost: boolean
`TheDesk:api`に POST/PUT/DELETE メソッドでアクセスするときや、`postExec`を実行するときに必要です。
- shortcut: number
Alt+{number の keycode}で発火できるようにします。[キーコード一覧](https://shanabrian.com/web/javascript/keycode.php)
`event``init`, `buttonOnBottom`, `buttonOnPostbox`, `none`のときにのみ有効です。
- interval: number
`event``tips`のとき、更新間隔をミリ秒で指定します。
### event
event に設定できるもの
- `buttonOnPostbox`
投稿フォームの…(90° 回転)で出てくるメニュー内に表示されます
- `buttonOnToot`
トゥートの詳細メニューに表示されます
- `init`
起動時(なるべく早い段階で)
- `buttonOnBottom`
メニューボタン(画面下部)の右に追加されます。
- `tips`
TheDesk Tipsに追加します。
- `none`
明示しません。ショートカットでのみ発火します。
追加予定…
## 変数
### buttonOnToot のとき
- DATA
```
{
id: "トゥートのID文字列",
acct_id: "アカウントのTheDesk内部ID"
}
```
- TOOT
トゥートの API を叩いた時と同じオブジェクトが返ります。なお、プラグインが実行されてから取得します。
プラグインの実行ボタン押下から実行までの時間差はこれによるものです。
### buttonOnPostbox のとき
- POST
投稿するときのオブジェクトがそのまま入りますが、`TheDeskAcctId`という TheDesk が内部で扱うアカウントの ID(string)が入ったプロパティが追加されます。
- ACCT_ID
TheDesk が内部で扱うアカウントの ID(string)
## 関数
### TheDesk:dialog(title: string, text: string, type?: string)
type のデフォルトは'info'で、他に'error','question','success'などがある
### TheDesk:confirm(title: string, text: string, type?: string)
type のデフォルトは'info'で、他に'error','question','success'などがある
返り値は boolean(true|false)
### TheDesk:css(query: string, attr: string, val: string)
jQuery の`$(query).css(attr, val)`に相当
### TheDesk:openLink(url: string)
リンクを無確認で開きます。
### TheDesk:api(method: 'GET'|'POST'|'PUT'|'DELETE', endpoint: string, body: string | null, acct_id: string)
endpoint は`v1`から書いてください。(`v1/accounts...`)
返り値は json のオブジェクト。
### TheDesk:getRequest(endpoint: string, json: boolean)
endpoint は`https://` を省いて書いてください。(HTTPSにリクエストを限定するため)
返り値は`json`がtrueなら json のオブジェクト。falseならstring(テキストとして処理)
### TheDesk:changeText(body: string)
`buttonOnToot`で使用可能
該当トゥート(や他タイムラインの同一トゥート)のテキストを書き換えます。
`dangerHtml`を true にしてください。
HTML を引数にすることに留意してください。
p, span, br, a タグを利用できます。また、a タグには'href', 'class', 'rel', 'target'属性以外を入れることはできず、
href の最初が javascript:で始まるものも利用できません。
### TheDesk:refreshTipsView(body: string)
`tips`で使用可能
Tipsのコンテンツを書き換えます。
`dangerHtml`を true にしてください。
HTML を引数にすることに留意してください。
p, span, br, a, img タグを利用できます。また、a タグには'href', 'class', 'rel', 'target', 'style'属性以外を入れることはできず、
href の最初が javascript:で始まるものも利用できません。また、p, span, imgにはstyleを使用できます(imgは当然srcも可)
### TheDesk:postText(text: string)
`buttonOnPostbox`で使用可能
トゥートボックスの中身を書き換えます。
### TheDesk:postCW(force: boolean, text: string)
`buttonOnPostbox`で使用可能
CW を切り替えます。force はデフォルトで false で、true にするとオンに、false にするとトグルになります。
text には警告文を入れます。
### TheDesk:postNSFW(force: boolean)
`buttonOnPostbox`で使用可能
NSFW を切り替えます。force はデフォルトで false で、true にするとオンに、false にするとトグルになります。
### TheDesk:postVis(vis: 'public'|'unlisted'|'private'|'direct')
`buttonOnPostbox`で使用可能
公開範囲を変更します。
### TheDesk:postClearbox(force: boolean)
`buttonOnPostbox`で使用可能
投稿ボックスをクリアします。
### TheDesk:postExec()
`buttonOnPostbox`で使用可能
`apiPost`を true にしてください。
トゥートボタンを押したのと同じ挙動をします。
## 実例
### 1
https://misskey.io/@syuilo/pages/bebeyo を TheDesk で使用できるようにするためには…(勝手に改造)
```
### {
name: "ベベヨ"
version: 1
event: "buttonOnPostbox"
author: "syuilo"
}
#chars =
Str:split("ア,イ,ウ,エ,オ,カ,キ,ク,ケ,コ,サ,シ,ス,セ,ソ,タ,チ,ツ,テ,ト,ナ,ニ,ヌ,ネ,ノ,ハ,ヒ,フ,ヘ,ホ,マ,ミ,ム,メ,モ,ヤ,ユ,ヨ,ガ,ギ,グ,ゲ,ゴ,ザ,ジ,ズ,ゼ,ゾ,ダ,ヂ,ヅ,デ,ド,バ,ビ,ブ,ベ,ボ,パ,ピ,プ,ペ,ポ", ",")
#yos = ["オ", "ニョ"]
#suffixes = ["オオオオオオオ", "ナーラ", "ンチーノ"]
$text <- _
@do() {
#char1 = chars[Math:rnd(1, Arr:len(chars))]
#char2 = chars[Math:rnd(1, Arr:len(chars))]
#yo = ? (Math:rnd(0, 2) = 0) { yos[Math:rnd(1, Arr:len(yos))] } ... { "ヨ" }
#n = ? (Math:rnd(0, 2) = 0) { "ン" } ... { "" }
#suffix = ? (Math:rnd(0, 2) = 0) { suffixes[Math:rnd(1, Arr:len(suffixes))] } ... { "" }
text <- `{char1}{char2}{n}{yo}{suffix}`
TheDesk:postText(text)
}
do()
```
最初のメタデータを追加します。
また、do 関数の最下部の`TheDesk:postText(text)`で、TheDesk の投稿ボックスに結果を挿入しています。
### 2
Cat にするやつ(ユーザーがいちいち押さないと変換されないし、タグごと変わってしまうのであまりよくない)
```
### {
name: "nyaize"
version: 1
event: "buttonOnToot"
author: "Cutls P"
dangerHtml: yes
}
#toot = TOOT.content
#nyaized = Str:replace(toot, "な", "にゃ")
TheDesk:changeText(nyaized)
```
### 3
BitFlyerのAPIを利用してTips部に3秒ごとにビットコインの価格を表示するやつ
https://1m.cutls.com/@Cutls/105525654999148930
```
### {
name: "Bitcoinの値段を3秒ごとにTipsに表示するやつ"
version: 1
event: "tips"
author: "Cutls P"
dangerHtml: yes
apiGet: yes
interval: 3000
}
#json = TheDesk:getRequest("bitflyer.com/api/echo/price", yes)
#ask = json.ask
#mid = json.mid
#bid = json.bid
#text = `ASK: {ask} / MID: {mid} / BID: {bid}`
TheDesk:refreshTipsView(text)
```

View File

@@ -1,34 +0,0 @@
os: windows
language: node_js
node_js:
- '10.15.2'
script: node -v
before_deploy:
- cd app
- npm install electron-builder -g
- npm install
- electron-builder --win --ia32
- mv ../build/TheDesk-setup.exe ../TheDesk-setup-ia32.exe
- mv ../build/TheDesk*.exe ../TheDesk-ia32.exe
- electron-builder --win --x64
- mv ../build/TheDesk-setup.exe ../TheDesk-setup.exe
- mv ../build/TheDesk*.exe ../TheDesk.exe
- cd ../
- ls
after_deploy: ls
deploy:
skip_cleanup: true
provider: releases
api_key:
secure: jndR02p5KRTtcJk18b3YsXL2cC+yzEf1AOqXdpWciF8f3lO5oY01jlxd17xdHIcK7VywSsLVZpLToSdqAoIEhJ5OxEQ/FmA3FlmbwwD6ou13gLa4VGIvsBHveCmKGjVu0Z++atIy76tZYU1SOWFWv4B0ZhnVz2ca2VZynvLgw3YNsPJH7rHO966GXgRkGYJAJ4UvLg3sj/iztVh2FSfbUj5IGO1e/JHJO63wAo1MSQtRjkutVgl/djnBLC6vbL4YHkM3Ynpkx/YQEcxwrmeY0Ra8D5yYDq4MNIDMmZahWC+k4u2eA2Cj2ifBFNxbZvTN75vLwRBp6DsTNHsiqkXrSPDBdNeet31RbwTQ6LtsK8jqmL4S/59dmLcj7uCU2WxyBLPbJdbdZWlqW2ZQvfQY8QVAYy7S3MiHQWQN0oP5wqXk89jcgR42ig/zsqFNPpXHM4mExR7l/gDLPg0j9c3XEF6sWtk3FmJN1i4+B+9kn09b6UKlV7EFPKp8XcFNrz4ZcE9/I8lKwsqLVG2jAXIk7Z9LwDRcAmK5eG348X5zwFtOY6raKIvRw2cn92bPnEI+55v8A4WANS2647GFTgxHj30D0d/sOZmJ5BS34zpdWTgE0AlKg7sOqkncjqoW5J5zCh5Ow7b3KXvEvlAts44mAag8tZTectxMP4iguXvTnv4=
file:
- TheDesk.exe
- TheDesk-setup.exe
- TheDesk-ia32.exe
- TheDesk-setup-ia32.exe
on:
repo: cutls/TheDesk
branches:
only:
- master