Websocket opening logic

This commit is contained in:
Eliot Berriot 2018-03-02 00:14:40 +01:00
parent 88e6808155
commit 6e6d874f3a
No known key found for this signature in database
GPG Key ID: DD6965E2476E5C27
1 changed files with 24 additions and 0 deletions

View File

@ -33,6 +33,9 @@
</template> </template>
<script> <script>
import { WebSocketBridge } from 'django-channels'
import logger from '@/logging'
import Sidebar from '@/components/Sidebar' import Sidebar from '@/components/Sidebar'
import Raven from '@/components/Raven' import Raven from '@/components/Raven'
@ -44,10 +47,31 @@ export default {
}, },
created () { created () {
this.$store.dispatch('instance/fetchSettings') this.$store.dispatch('instance/fetchSettings')
this.openWebsocket()
let self = this
setInterval(() => { setInterval(() => {
// used to redraw ago dates every minute // used to redraw ago dates every minute
self.$store.commit('ui/computeLastDate') self.$store.commit('ui/computeLastDate')
}, 1000 * 60) }, 1000 * 60)
},
methods: {
openWebsocket () {
let self = this
let token = this.$store.state.auth.token
// let token = 'test'
const bridge = new WebSocketBridge()
bridge.connect(
`/api/v1/instance/activity?token=${token}`,
null,
{reconnectInterval: 5000})
bridge.listen(function (event) {
logger.default.info('Received timeline update', event)
self.$store.commit('instance/event', event)
})
bridge.socket.addEventListener('open', function () {
console.log('Connected to WebSocket')
})
}
} }
} }
</script> </script>