Skip to content
Snippets Groups Projects
Commit 81d061e7 authored by David Baker's avatar David Baker
Browse files

Fix bug where web client wold break trying to add the earliest token without...

Fix bug where web client wold break trying to add the earliest token without having initialised the room if your first page of history contained only events which didn't call initRoom. Just call initRoom in handleMessages since we use it there rather than leaving it to the individual event handling methods.
parent ceec607e
No related branches found
No related tags found
No related merge requests found
......@@ -71,8 +71,6 @@ angular.module('eventHandlerService', [])
};
var handleRoomCreate = function(event, isLiveEvent) {
initRoom(event.room_id);
// For now, we do not use the event data. Simply signal it to the app controllers
$rootScope.$broadcast(ROOM_CREATE_EVENT, event, isLiveEvent);
};
......@@ -82,8 +80,6 @@ angular.module('eventHandlerService', [])
};
var handleMessage = function(event, isLiveEvent) {
initRoom(event.room_id);
if (isLiveEvent) {
if (event.user_id === matrixService.config().user_id &&
(event.content.msgtype === "m.text" || event.content.msgtype === "m.emote") ) {
......@@ -114,8 +110,6 @@ angular.module('eventHandlerService', [])
};
var handleRoomMember = function(event, isLiveEvent, isStateEvent) {
initRoom(event.room_id);
// if the server is stupidly re-relaying a no-op join, discard it.
if (event.prev_content &&
event.content.membership === "join" &&
......@@ -152,8 +146,6 @@ angular.module('eventHandlerService', [])
};
var handlePowerLevels = function(event, isLiveEvent) {
initRoom(event.room_id);
// Keep the latest data. Do not care of events that come when paginating back
if (!$rootScope.events.rooms[event.room_id][event.type] || isLiveEvent) {
$rootScope.events.rooms[event.room_id][event.type] = event;
......@@ -164,8 +156,6 @@ angular.module('eventHandlerService', [])
var handleRoomName = function(event, isLiveEvent) {
console.log("handleRoomName " + isLiveEvent);
initRoom(event.room_id);
$rootScope.events.rooms[event.room_id][event.type] = event;
$rootScope.$broadcast(NAME_EVENT, event, isLiveEvent);
};
......@@ -174,8 +164,6 @@ angular.module('eventHandlerService', [])
var handleRoomTopic = function(event, isLiveEvent, isStateEvent) {
console.log("handleRoomTopic live="+isLiveEvent);
initRoom(event.room_id);
// Add topic changes as if they were a room message
if (!isStateEvent) {
if (isLiveEvent) {
......@@ -316,6 +304,7 @@ angular.module('eventHandlerService', [])
// Handle messages from /initialSync or /messages
handleRoomMessages: function(room_id, messages, isLiveEvents) {
initRoom(room_id);
this.handleEvents(messages.chunk, isLiveEvents);
// Store how far back we've paginated
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment