aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlambda <lain@soykaf.club>2019-03-11 14:43:40 +0000
committerlambda <lain@soykaf.club>2019-03-11 14:43:40 +0000
commitf52a33f7111a225cb84030090a9f78a602a36944 (patch)
treec426934d09d3a48e45007100e3556e237b1ebaae
parented3bf6f02781dcae42282efb1a38afcaef7dc699 (diff)
parente618c6ffb0b974156b89f3e54737e738e94b12b3 (diff)
Merge branch 'develop' into 'develop'
Only connect to chat upon authenticating Closes #403 See merge request pleroma/pleroma-fe!666
-rw-r--r--src/boot/after_store.js4
-rw-r--r--src/modules/chat.js10
-rw-r--r--src/modules/users.js4
3 files changed, 14 insertions, 4 deletions
diff --git a/src/boot/after_store.js b/src/boot/after_store.js
index a8e2bf35..cd88c188 100644
--- a/src/boot/after_store.js
+++ b/src/boot/after_store.js
@@ -89,10 +89,8 @@ const afterStoreSetup = ({ store, i18n }) => {
copyInstanceOption('noAttachmentLinks')
copyInstanceOption('showFeaturesPanel')
- if ((config.chatDisabled)) {
+ if (config.chatDisabled) {
store.dispatch('disableChat')
- } else {
- store.dispatch('initializeSocket')
}
return store.dispatch('setTheme', config['theme'])
diff --git a/src/modules/chat.js b/src/modules/chat.js
index 383ac75c..2804e577 100644
--- a/src/modules/chat.js
+++ b/src/modules/chat.js
@@ -1,12 +1,16 @@
const chat = {
state: {
messages: [],
- channel: {state: ''}
+ channel: {state: ''},
+ socket: null
},
mutations: {
setChannel (state, channel) {
state.channel = channel
},
+ setSocket (state, socket) {
+ state.socket = socket
+ },
addMessage (state, message) {
state.messages.push(message)
state.messages = state.messages.slice(-19, 20)
@@ -16,8 +20,12 @@ const chat = {
}
},
actions: {
+ disconnectFromChat (store) {
+ store.state.socket.disconnect()
+ },
initializeChat (store, socket) {
const channel = socket.channel('chat:public')
+ store.commit('setSocket', socket)
channel.on('new_msg', (msg) => {
store.commit('addMessage', msg)
})
diff --git a/src/modules/users.js b/src/modules/users.js
index 4159964c..26884750 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -292,6 +292,7 @@ const users = {
logout (store) {
store.commit('clearCurrentUser')
+ store.dispatch('disconnectFromChat')
store.commit('setToken', false)
store.dispatch('stopFetching', 'friends')
store.commit('setBackendInteractor', backendInteractorService())
@@ -321,6 +322,9 @@ const users = {
if (user.token) {
store.dispatch('setWsToken', user.token)
+
+ // Initialize the chat socket.
+ store.dispatch('initializeSocket')
}
// Start getting fresh posts.