summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-12 06:18:55 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-12 06:18:55 +0900
commitcca9963a9ab17fa3f10dab845ea774c72101d1ba (patch)
treeca36d991061aeda8f269a61c66e57ad4734354d3 /src/client
parentClean up (diff)
downloadmisskey-cca9963a9ab17fa3f10dab845ea774c72101d1ba.tar.gz
misskey-cca9963a9ab17fa3f10dab845ea774c72101d1ba.tar.bz2
misskey-cca9963a9ab17fa3f10dab845ea774c72101d1ba.zip
:v:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/app/common/mios.ts6
-rw-r--r--src/client/app/desktop/views/components/settings.vue10
2 files changed, 14 insertions, 2 deletions
diff --git a/src/client/app/common/mios.ts b/src/client/app/common/mios.ts
index 5e0c7d2f3b..a09af799be 100644
--- a/src/client/app/common/mios.ts
+++ b/src/client/app/common/mios.ts
@@ -444,7 +444,7 @@ export default class MiOS extends EventEmitter {
// Append a credential
if (this.isSignedIn) (data as any).i = this.i.token;
- const viaStream = localStorage.getItem('enableExperimental') == 'true';
+ const viaStream = localStorage.getItem('apiViaStream') ? localStorage.getItem('apiViaStream') == 'true' : true;
return new Promise((resolve, reject) => {
if (viaStream) {
@@ -452,6 +452,8 @@ export default class MiOS extends EventEmitter {
const id = Math.random().toString();
stream.once(`api-res:${id}`, res => {
+ if (--pending === 0) spinner.parentNode.removeChild(spinner);
+
if (res.res) {
resolve(res.res);
} else {
@@ -503,7 +505,7 @@ export default class MiOS extends EventEmitter {
reject(body.error);
}
}).catch(reject);
- /*}*/
+ }
});
}
diff --git a/src/client/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue
index 4184ae82c7..2b5aa30246 100644
--- a/src/client/app/desktop/views/components/settings.vue
+++ b/src/client/app/desktop/views/components/settings.vue
@@ -26,6 +26,12 @@
<mk-switch v-model="autoPopout" text="ウィンドウの自動ポップアウト">
<span>ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。</span>
</mk-switch>
+ <details>
+ <summary>詳細設定</summary>
+ <mk-switch v-model="apiViaStream" text="ストリームを経由したAPIリクエスト">
+ <span>この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。</span>
+ </mk-switch>
+ </details>
</section>
<section class="web" v-show="page == 'web'">
@@ -223,6 +229,7 @@ export default Vue.extend({
checkingForUpdate: false,
enableSounds: localStorage.getItem('enableSounds') == 'true',
autoPopout: localStorage.getItem('autoPopout') == 'true',
+ apiViaStream: localStorage.getItem('apiViaStream') ? localStorage.getItem('apiViaStream') == 'true' : true,
soundVolume: localStorage.getItem('soundVolume') ? parseInt(localStorage.getItem('soundVolume'), 10) : 100,
lang: localStorage.getItem('lang') || '',
preventUpdate: localStorage.getItem('preventUpdate') == 'true',
@@ -240,6 +247,9 @@ export default Vue.extend({
autoPopout() {
localStorage.setItem('autoPopout', this.autoPopout ? 'true' : 'false');
},
+ apiViaStream() {
+ localStorage.setItem('apiViaStream', this.apiViaStream ? 'true' : 'false');
+ },
enableSounds() {
localStorage.setItem('enableSounds', this.enableSounds ? 'true' : 'false');
},