Merge pull request #2094 from mattermost/GIT-1812

GIT-1812 fixing wesocket issue with firefox
This commit is contained in:
Christopher Speller
2016-02-08 07:30:16 -05:00
2 changed files with 22 additions and 8 deletions

View File

@@ -28,10 +28,13 @@ class SocketStoreClass extends EventEmitter {
this.addChangeListener = this.addChangeListener.bind(this);
this.removeChangeListener = this.removeChangeListener.bind(this);
this.sendMessage = this.sendMessage.bind(this);
this.close = this.close.bind(this);
this.failCount = 0;
this.initialize();
}
initialize() {
if (!UserStore.getCurrentId()) {
return;
@@ -106,15 +109,19 @@ class SocketStoreClass extends EventEmitter {
};
}
}
emitChange(msg) {
this.emit(CHANGE_EVENT, msg);
}
addChangeListener(callback) {
this.on(CHANGE_EVENT, callback);
}
removeChangeListener(callback) {
this.removeListener(CHANGE_EVENT, callback);
}
handleMessage(msg) {
switch (msg.action) {
case SocketEvents.POSTED:
@@ -153,6 +160,7 @@ class SocketStoreClass extends EventEmitter {
default:
}
}
sendMessage(msg) {
if (conn && conn.readyState === WebSocket.OPEN) {
conn.send(JSON.stringify(msg));
@@ -161,9 +169,16 @@ class SocketStoreClass extends EventEmitter {
this.initialize();
}
}
setTranslations(messages) {
this.translations = messages;
}
close() {
if (conn && conn.readyState === WebSocket.OPEN) {
conn.close();
}
}
}
function handleNewPostEvent(msg, translations) {
@@ -305,12 +320,5 @@ function handlePreferenceChangedEvent(msg) {
var SocketStore = new SocketStoreClass();
/*SocketStore.dispatchToken = AppDispatcher.register((payload) => {
var action = payload.action;
switch (action.type) {
default:
}
});*/
export default SocketStore;
window.SocketStore = SocketStore;

View File

@@ -122,6 +122,12 @@
}
});
});
$(window).on('beforeunload', function(){
if (window.SocketStore) {
SocketStore.close();
}
});
</script>
<script>