diff options
author | Kegan Dougal <kegan@matrix.org> | 2014-08-15 13:43:07 +0100 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2014-08-15 14:06:56 +0100 |
commit | 7ddb7a5cbbe9e4576742dc060ba35ca863b8d8b0 (patch) | |
tree | 395bea9a7d9f95fab285ed9a68d8354dec016ff4 /webclient/app.js | |
parent | Store messages in $rootScope so they can be accessed from multiple controller... (diff) | |
download | synapse-7ddb7a5cbbe9e4576742dc060ba35ca863b8d8b0.tar.xz |
Event streaming now happens on an app level, rather than a per-room level. Make eventStreamService manage it's own repolling provided no one calls stop() on it. Couple the stream with eventHandlerService so any controller can just blithely call eventStreamService.resume() and expect to 'get stuff' without having to handle promises (though resume() still returns a promise for that request and proxies it through $q). Kill and reset the stream if you logout.
Diffstat (limited to 'webclient/app.js')
-rw-r--r-- | webclient/app.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/webclient/app.js b/webclient/app.js index bc78eb9d17..6e0351067f 100644 --- a/webclient/app.js +++ b/webclient/app.js @@ -61,12 +61,16 @@ matrixWebClient.config(['$routeProvider', '$provide', '$httpProvider', $httpProvider.interceptors.push('AccessTokenInterceptor'); }]); -matrixWebClient.run(['$location', 'matrixService' , function($location, matrixService) { +matrixWebClient.run(['$location', 'matrixService', 'eventStreamService', function($location, matrixService, eventStreamService) { // If we have no persistent login information, go to the login page var config = matrixService.config(); if (!config || !config.access_token) { + eventStreamService.stop(); $location.path("login"); } + else { + eventStreamService.resume(); + } }]); matrixWebClient |