Commit Graph

438 Commits (6a6a71889868b32ca4a800472bb2d37fb8155caa)

Author SHA1 Message Date
Kegan Dougal 7ddb7a5cbb 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. 2014-08-15 14:06:56 +01:00
Kegan Dougal c51cf4efca Store messages in $rootScope so they can be accessed from multiple controllers without duplicated storage for each. This also gives updates. 2014-08-15 14:06:56 +01:00
Kegan Dougal 5dbceaf5a4 Added event handler service which.. handles events. More specifically, it $broadcasts events depending on their type, and does processing on events (shuffling keys, adding events to $rootScope so displays will automatically update, sending delivery receipts, and so on). Some of this logic was previously contained in the RoomController, which fails the moment you add >1 room into the mix, hence requiring a Service to handle events, rather than having each individual controller maintain their part of the world. 2014-08-15 14:06:56 +01:00
Kegan Dougal 8bf3994c2e Added event stream service which neatly blobs together requests / state for the event stream. This depends on matrix service to do the actual hit. Currently this has exactly the same behaviour as before. 2014-08-15 14:06:56 +01:00
Kegan Dougal 5de086b736 More helpful display when the event stream fails, wiping it when the connection is regained. 2014-08-14 17:40:38 +01:00
Emmanuel ROHEE e6c62d5d7f We can now upload avatar image somewhere 2014-08-14 18:40:20 +02:00
Emmanuel ROHEE deae7f4f5d Create a temporary upload service server side (by hacking demos/webserver.py) and client side with an angularjs service component. 2014-08-14 18:39:23 +02:00
Emmanuel ROHEE f5973d8ddb Create a temporary upload service server side (by hacking demos/webserver.py) and client side with an angularjs service component. 2014-08-14 18:38:56 +02:00
Kegan Dougal 30da8c81c7 webclient: You can now paginate in rooms. Defaults to 10 messages, with a button to get more (needs to be hooked into infini-scrolling). 2014-08-14 17:23:47 +01:00
Kegan Dougal fef3183461 Pass back the user_id in the response to /login in case it has changed. Store and use that on the webclient rather than the input field. 2014-08-14 16:40:15 +01:00
Kegan Dougal ca3747fb2f hs: Make /login accept full user IDs or just local parts. webclient: Only enable Register button when both password fields match. 2014-08-14 16:29:51 +01:00
Kegan Dougal 6f925f61ff Auto-correct the username when logging in if there isn't an @ 2014-08-14 16:08:22 +01:00
Kegan Dougal fb93e14e53 Be more helpful when failing to register/login, stating why (communication error, user in user, wrong credentials, etc). Make the HS send M_USER_IN_USE. 2014-08-14 16:03:04 +01:00
Kegan Dougal 40c998336d Finish up room controller too. May have missed one or two, but testing didn't pick anything up. 2014-08-14 15:47:38 +01:00
Kegan Dougal 24bd133d9d Added extra nesting .data and rename callback to be response not data 2014-08-14 15:43:16 +01:00
Kegan Dougal db3e1d73c6 Move the unknown token broadcast to the interceptor. Return the $http promise and not a wrapped one via $q. Everything now needs a level deeper nesting. Fixed registration and login. 2014-08-14 15:36:40 +01:00
Kegan Dougal 76005c44f7 Added an access token interceptor to check unknown tokens. 2014-08-14 15:21:39 +01:00
Emmanuel ROHEE 7143f358f1 Detect when the user access token is no more valid and log the user out in this case 2014-08-14 15:00:21 +02:00
Kegan Dougal 613e468b89 Guess the home server URL on the login screen by inspecting the URL of the web client. 2014-08-14 13:57:55 +01:00
Emmanuel ROHEE d5033849a5 BF: Use ng-src 2014-08-14 13:51:35 +02:00
Emmanuel ROHEE 60b0fca103 Use ng-src 2014-08-14 11:51:31 +02:00
Emmanuel ROHEE 28a49a9eaf Show avatar in profile section and added a button to select a file (not yet wired to upload service) 2014-08-14 11:39:03 +02:00
Emmanuel ROHEE 7dc0a28e17 Created m-file-input. A directive to open a file selection dialog on whatever HTML element 2014-08-14 11:36:11 +02:00
Matthew Hodgson 9391be0f5d fix emote presentation 2014-08-14 03:35:09 +01:00
Matthew Hodgson d7dcef7ff4 config css 2014-08-14 02:21:49 +01:00
Matthew Hodgson 6c2db18be1 completely change the CSS to be an entirely 'position: absolute' layout rather than top-to-bottom. makes the overscroll much more predictable and sane and not dependent on CSS expressions. 2014-08-14 02:14:15 +01:00
Matthew Hodgson f729f13735 don't hammer after 403 2014-08-13 18:17:09 +01:00
Kegan Dougal 6904952ec4 Store public room id > alias mappings. 2014-08-13 16:29:46 +01:00
Matthew Hodgson 2ec5f6c2f2 Merge branch 'master' of git+ssh://github.com/matrix-org/synapse 2014-08-13 16:14:30 +01:00
Matthew Hodgson 9d388cd35e timestamps 2014-08-13 16:14:17 +01:00
Paul "LeoNerd" Evans 55944ccf72 Use strings instead of opaque magic-number constants for presence states; rename AWAY to UNAVAILABLE 2014-08-13 14:31:48 +01:00
Emmanuel ROHEE c87e1f6418 Room: Added a text input to type an image URL in order to send an image message 2014-08-13 11:42:28 +02:00
Emmanuel ROHEE 30efb04060 Display image messages from the stream 2014-08-13 11:09:30 +02:00
Matthew Hodgson 3e35a9f96e add in copyrights to everything, not just the synapse subdir, and add a copyrighter.pl whilst we're at it 2014-08-13 03:32:18 +01:00
Matthew Hodgson 7c762e60c9 remove the png profile image for now 2014-08-12 18:50:44 +01:00
Erik Johnston fe3c5a2726 Fix the 'Go to room' button to use the correct room alias api 2014-08-12 17:17:14 +01:00
Emmanuel ROHEE f99168de06 Make messages list and room users list scroll-overflow 2014-08-12 18:11:38 +02:00
matrix.org 4f475c7697 Reference Matrix Home Server 2014-08-12 15:10:52 +01:00