More helpful display when the event stream fails, wiping it when the connection is regained.
parent
e6c62d5d7f
commit
5de086b736
|
@ -25,7 +25,8 @@ angular.module('RoomController', [])
|
||||||
user_id: matrixService.config().user_id,
|
user_id: matrixService.config().user_id,
|
||||||
events_from: "END", // when to start the event stream from.
|
events_from: "END", // when to start the event stream from.
|
||||||
earliest_token: "END", // stores how far back we've paginated.
|
earliest_token: "END", // stores how far back we've paginated.
|
||||||
can_paginate: true
|
can_paginate: true, // this is toggled off when we run out of items
|
||||||
|
stream_failure: undefined // the response when the stream fails
|
||||||
};
|
};
|
||||||
$scope.messages = [];
|
$scope.messages = [];
|
||||||
$scope.members = {};
|
$scope.members = {};
|
||||||
|
@ -76,7 +77,7 @@ angular.module('RoomController', [])
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function(error) {
|
function(error) {
|
||||||
console.log("paginateBackMessages Ruh roh: " + JSON.stringify(error));
|
console.log("Failed to paginateBackMessages: " + JSON.stringify(error));
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
@ -89,6 +90,7 @@ angular.module('RoomController', [])
|
||||||
"timeout": 5000
|
"timeout": 5000
|
||||||
}})
|
}})
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
|
$scope.state.stream_failure = undefined;
|
||||||
console.log("Got response from "+$scope.state.events_from+" to "+response.data.end);
|
console.log("Got response from "+$scope.state.events_from+" to "+response.data.end);
|
||||||
$scope.state.events_from = response.data.end;
|
$scope.state.events_from = response.data.end;
|
||||||
$scope.feedback = "";
|
$scope.feedback = "";
|
||||||
|
@ -102,7 +104,7 @@ angular.module('RoomController', [])
|
||||||
$timeout(shortPoll, 0);
|
$timeout(shortPoll, 0);
|
||||||
}
|
}
|
||||||
}, function(response) {
|
}, function(response) {
|
||||||
$scope.feedback = "Can't stream: " + response.data;
|
$scope.state.stream_failure = response;
|
||||||
|
|
||||||
if (response.status == 403) {
|
if (response.status == 403) {
|
||||||
$scope.stopPoll = true;
|
$scope.stopPoll = true;
|
||||||
|
@ -215,7 +217,7 @@ angular.module('RoomController', [])
|
||||||
// Join the room
|
// Join the room
|
||||||
matrixService.join($scope.room_id).then(
|
matrixService.join($scope.room_id).then(
|
||||||
function() {
|
function() {
|
||||||
console.log("Joined room");
|
console.log("Joined room "+$scope.room_id);
|
||||||
// Now start reading from the stream
|
// Now start reading from the stream
|
||||||
$timeout(shortPoll, 0);
|
$timeout(shortPoll, 0);
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,10 @@
|
||||||
<button ng-click="inviteUser(userIDToInvite)">Invite</button>
|
<button ng-click="inviteUser(userIDToInvite)">Invite</button>
|
||||||
</span>
|
</span>
|
||||||
<button ng-click="leaveRoom()">Leave</button>
|
<button ng-click="leaveRoom()">Leave</button>
|
||||||
<button ng-click="loadMoreHistory()" ng-disabled="!state.can_paginate">MOAR HISTORY</button>
|
<button ng-click="loadMoreHistory()" ng-disabled="!state.can_paginate">Load more history</button>
|
||||||
|
<div ng-hide="!state.stream_failure">
|
||||||
|
{{ state.stream_failure.data.error || "Connection failure" }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue