diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-09 03:49:18 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-09 03:49:18 +0900 |
| commit | 390279a4a820e0b9678c2514a0d4cebae6992aa6 (patch) | |
| tree | 37ff1f74a2adfeb25067a4d637b6d2ed9434f417 | |
| parent | 非ログイン時に検索欄がズレていたのを修正 (#5883) (diff) | |
| download | misskey-390279a4a820e0b9678c2514a0d4cebae6992aa6.tar.gz misskey-390279a4a820e0b9678c2514a0d4cebae6992aa6.tar.bz2 misskey-390279a4a820e0b9678c2514a0d4cebae6992aa6.zip | |
Fix #5885
| -rw-r--r-- | src/client/components/note.vue | 10 | ||||
| -rw-r--r-- | src/server/api/stream/index.ts | 9 |
2 files changed, 7 insertions, 12 deletions
diff --git a/src/client/components/note.vue b/src/client/components/note.vue index 80d6180b79..0e9272ec36 100644 --- a/src/client/components/note.vue +++ b/src/client/components/note.vue @@ -265,14 +265,8 @@ export default Vue.extend({ methods: { capture(withHandler = false) { if (this.$store.getters.isSignedIn) { - if (document.body.contains(this.$el)) { - this.connection.send('sn', { id: this.appearNote.id }); - if (withHandler) this.connection.on('noteUpdated', this.onStreamNoteUpdated); - } else { - this.$once('hook:activated', () => { - this.capture(withHandler); - }); - } + this.connection.send(document.body.contains(this.$el) ? 'sn' : 's', { id: this.appearNote.id }); + if (withHandler) this.connection.on('noteUpdated', this.onStreamNoteUpdated); } }, diff --git a/src/server/api/stream/index.ts b/src/server/api/stream/index.ts index 6ec644a024..463ae0a601 100644 --- a/src/server/api/stream/index.ts +++ b/src/server/api/stream/index.ts @@ -60,8 +60,9 @@ export default class Connection { switch (type) { case 'api': this.onApiRequest(body); break; case 'readNotification': this.onReadNotification(body); break; - case 'subNote': this.onSubscribeNote(body); break; - case 'sn': this.onSubscribeNote(body); break; // alias + case 'subNote': this.onSubscribeNote(body, true); break; + case 'sn': this.onSubscribeNote(body, true); break; // alias + case 's': this.onSubscribeNote(body, false); break; case 'unsubNote': this.onUnsubscribeNote(body); break; case 'un': this.onUnsubscribeNote(body); break; // alias case 'connect': this.onChannelConnectRequested(body); break; @@ -107,7 +108,7 @@ export default class Connection { * 投稿購読要求時 */ @autobind - private onSubscribeNote(payload: any) { + private onSubscribeNote(payload: any, read: boolean) { if (!payload.id) return; if (this.subscribingNotes[payload.id] == null) { @@ -120,7 +121,7 @@ export default class Connection { this.subscriber.on(`noteStream:${payload.id}`, this.onNoteStreamMessage); } - if (this.user) { + if (this.user && read) { readNote(this.user.id, payload.id); } } |