This commit is contained in:
syuilo 2020-02-09 03:49:18 +09:00
parent b06b9cb2cf
commit 4cd238ced1
2 changed files with 7 additions and 12 deletions

View file

@ -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);
}
},

View file

@ -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);
}
}