Commit Graph

  • 0e6a2f87f9 Get presence for members when you enter a room (it was coming down but wasn't being stored in the right place) Kegan Dougal 2014-08-15 17:47:45 +0100
  • f5fca6f787 Fix some of the tests to reflect changes in the storage layer. Erik Johnston 2014-08-15 17:42:21 +0100
  • 5b817ecd44 Added infinite scrolling. It's sliiiightly buggy in that it jumps down the list a bit, but it is overall working pretty well. Added ng-infinite-scroll-matrix.js and jquery-1.8.3 as deps. Kegan Dougal 2014-08-15 17:42:02 +0100
  • 02e45da895 When new invites come down, update the My Rooms list. Added hacks to make the display name a bit nicer (/im/sync needs to return room aliases / membership events better) Kegan Dougal 2014-08-15 15:40:37 +0100
  • 1731781145 Document that /rooms/:room_id/members/list yields profile and presence information about room members Paul "LeoNerd" Evans 2014-08-15 17:24:02 +0100
  • 9c41f635a9 When starting to poll for presence, also include members of all shared rooms Paul "LeoNerd" Evans 2014-08-15 17:12:07 +0100
  • 40c020ad13 Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor Erik Johnston 2014-08-15 16:48:16 +0100
  • ec1fd20e59 Also include users' presence when responding to /rooms/:room_id/members/list Paul "LeoNerd" Evans 2014-08-15 16:47:50 +0100
  • 0e938b1ff7 Rename method name to not clash with other ones in storage. Erik Johnston 2014-08-15 16:47:48 +0100
  • 6efc688917 Fix typo of key name Erik Johnston 2014-08-15 16:47:09 +0100
  • 506711749f We no longer need to special case room config events. Erik Johnston 2014-08-15 16:45:16 +0100
  • a17b371384 Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor Erik Johnston 2014-08-15 16:21:13 +0100
  • d260a42ca2 PEP8 cleanups Erik Johnston 2014-08-15 16:17:36 +0100
  • 8fa3cc37f9 Comment. Erik Johnston 2014-08-15 16:11:25 +0100
  • 19946509a4 Support generic events. Erik Johnston 2014-08-15 16:06:08 +0100
  • cd2967d271 Fix bug when generating a key when get_room_events_stream returned zero rows Erik Johnston 2014-08-15 16:05:46 +0100
  • 86be66c34e Actually use MAX_STREAM_SIZE constant. Erik Johnston 2014-08-15 16:04:54 +0100
  • 8d1f763209 Fix pagination to work with new db schema Erik Johnston 2014-08-15 15:53:06 +0100
  • 3c532314ec Fix imsync's SELECT query to only find the rooms I'm actually joined in, not every room I have ever joined Paul "LeoNerd" Evans 2014-08-15 15:44:53 +0100
  • 01f089d9fb Correctly return new token when returning events. Serialize events correctly. Erik Johnston 2014-08-15 15:28:54 +0100
  • 5c88e57555 Create a room-nuking script as it's useful for emergency debugging Paul "LeoNerd" Evans 2014-08-15 15:06:36 +0100
  • 5ac87292c4 Remove old polling stuff from RoomController. Added service comments. Do not start the event stream on startup unless you have credentials. Kegan Dougal 2014-08-15 14:06:48 +0100
  • 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. Kegan Dougal 2014-08-15 13:43:07 +0100
  • c51cf4efca Store messages in $rootScope so they can be accessed from multiple controllers without duplicated storage for each. This also gives updates. Kegan Dougal 2014-08-15 12:51:20 +0100
  • 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. Kegan Dougal 2014-08-15 11:31:13 +0100
  • 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. Kegan Dougal 2014-08-15 10:20:14 +0100
  • 114984a236 Start chagning the events stream to work with the new DB schema Erik Johnston 2014-08-15 13:58:28 +0100
  • d72f897f07 Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor Erik Johnston 2014-08-15 11:50:14 +0100
  • c5f2da5875 Add a check to make sure that during state conflict res we only request a PDU we don't have. Erik Johnston 2014-08-15 11:47:01 +0100
  • 1a26905cc9 Fix pontenial bug in state resolution handler that compared dicts rather than their id's Erik Johnston 2014-08-15 11:41:11 +0100
  • 33d62c2c66 Remember to reflect membership LEAVE events to the leaving member so they know it happened Paul "LeoNerd" Evans 2014-08-15 11:40:58 +0100
  • 5002efa31b Reimplement the get public rooms api to work with new DB schema Erik Johnston 2014-08-15 10:26:35 +0100
  • 286e90e58f Updated README about -w in all the places. Kegan Dougal 2014-08-15 09:29:39 +0100
  • 0b179db36d s/Synapse/Matrix/ Matthew Hodgson 2014-08-14 18:58:40 +0100
  • 7a025d6368 It's called Matrix :) Matthew Hodgson 2014-08-14 18:58:01 +0100
  • 2c46bb6208 Fix up typos and correct sql queries Erik Johnston 2014-08-14 18:40:50 +0100
  • 7e681ad778 Update StreamStore Erik Johnston 2014-08-14 18:01:39 +0100
  • 3ddfc949dc manual syutil Matthew Hodgson 2014-08-14 17:54:40 +0100
  • 24dfdb4a7d Update README to mention -w and remove SimpleHTTPServer Kegan Dougal 2014-08-14 17:51:12 +0100
  • 94eb2560f4 Add documentation about Federation Queries and EDUs Paul "LeoNerd" Evans 2014-08-14 17:50:43 +0100
  • 856f29c03c fix linewrap Matthew Hodgson 2014-08-14 17:44:21 +0100
  • 5de086b736 More helpful display when the event stream fails, wiping it when the connection is regained. Kegan Dougal 2014-08-14 17:40:27 +0100
  • e6c62d5d7f We can now upload avatar image somewhere Emmanuel ROHEE 2014-08-14 18:40:20 +0200
  • deae7f4f5d Create a temporary upload service server side (by hacking demos/webserver.py) and client side with an angularjs service component. Emmanuel ROHEE 2014-08-14 18:39:23 +0200
  • f5973d8ddb Create a temporary upload service server side (by hacking demos/webserver.py) and client side with an angularjs service component. Emmanuel ROHEE 2014-08-14 18:38:42 +0200
  • 661c711765 Start fixing places that use the data store. Erik Johnston 2014-08-14 17:34:37 +0100
  • 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). Kegan Dougal 2014-08-14 17:23:47 +0100
  • 78b501eba6 Fix typo Erik Johnston 2014-08-14 17:09:28 +0100
  • 2529f2bc01 Rename _execute_query Erik Johnston 2014-08-14 16:58:51 +0100
  • 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. Kegan Dougal 2014-08-14 16:40:15 +0100
  • ca3747fb2f hs: Make /login accept full user IDs or just local parts. webclient: Only enable Register button when both password fields match. Kegan Dougal 2014-08-14 16:29:24 +0100
  • 53147e5ae4 Reflect user's messages up to themselves before pushing it to federatoin; also release roomlock before touching federation so we don't halt progress on the world Paul "LeoNerd" Evans 2014-08-14 16:22:08 +0100
  • 93a8be7bef We really don't need debug logging of all the SQL statements we execute; we're quite happy these all work now Paul "LeoNerd" Evans 2014-08-14 16:15:53 +0100
  • 6f925f61ff Auto-correct the username when logging in if there isn't an @ Kegan Dougal 2014-08-14 16:08:14 +0100
  • 657ab9ba9d Put some DEBUG logging in lockutils.py so we can debug roomlocks Paul "LeoNerd" Evans 2014-08-14 16:06:02 +0100
  • 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. Kegan Dougal 2014-08-14 16:03:04 +0100
  • 937c175029 Fix up RoomMemberStore to work with the new schema. Erik Johnston 2014-08-14 16:02:10 +0100
  • 40c998336d Finish up room controller too. May have missed one or two, but testing didn't pick anything up. Kegan Dougal 2014-08-14 15:47:38 +0100
  • 24bd133d9d Added extra nesting .data and rename callback to be response not data Kegan Dougal 2014-08-14 15:43:16 +0100
  • 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. Kegan Dougal 2014-08-14 15:36:40 +0100
  • 76005c44f7 Added an access token interceptor to check unknown tokens. Kegan Dougal 2014-08-14 15:21:39 +0100
  • 6d6a1c3454 Actually encode dicts as json in the DB Erik Johnston 2014-08-14 14:30:25 +0100
  • 5a5f37ca17 Send forbidden codes when doing login attempts. Kegan Dougal 2014-08-14 14:29:01 +0100
  • 0fa05ea331 Round Presence mtime and mtime_age to nearest msec; avoids floats for msec values over the wire Paul "LeoNerd" Evans 2014-08-14 14:15:54 +0100
  • cbd5d55222 Change relative db paths to absolute paths in case we daemonize. Erik Johnston 2014-08-14 14:08:57 +0100
  • e4061383b8 Change relative db paths to absolute paths in case we daemonize. Erik Johnston 2014-08-14 14:07:14 +0100
  • e37de2aef3 chmod +x homeserver.py Paul "LeoNerd" Evans 2014-08-14 14:05:05 +0100
  • 7143f358f1 Detect when the user access token is no more valid and log the user out in this case Emmanuel ROHEE 2014-08-14 14:59:33 +0200
  • 613e468b89 Guess the home server URL on the login screen by inspecting the URL of the web client. Kegan Dougal 2014-08-14 13:57:55 +0100
  • 61933f8e52 Added M_UNKNOWN_TOKEN error code and send it when there is an unrecognised access_token Kegan Dougal 2014-08-14 13:47:39 +0100
  • d5033849a5 BF: Use ng-src Emmanuel ROHEE 2014-08-14 13:51:35 +0200
  • 2a793a6c42 Default error code BAD_PAGINATION for EventStreamErrors Kegan Dougal 2014-08-14 11:57:25 +0100
  • d253a35539 Added web client prefix Kegan Dougal 2014-08-14 11:54:37 +0100
  • c75add6ec8 Added a urls module for keeping client and federation prefixes. Kegan Dougal 2014-08-14 11:52:56 +0100
  • 9fd445eb92 If the web client is enabled, automatically redirect root '/' to the web client path. Kegan Dougal 2014-08-14 11:37:13 +0100
  • e543d6a91d Fixed dynamic resource mapping to clobber dummy Resources with the actual desired Resource in the event of a collision (as is the case for '/matrix/client' and '/matrix/client/api/v1') Kegan Dougal 2014-08-14 11:17:58 +0100
  • 60b0fca103 Use ng-src Emmanuel ROHEE 2014-08-14 11:51:31 +0200
  • 28a49a9eaf Show avatar in profile section and added a button to select a file (not yet wired to upload service) Emmanuel ROHEE 2014-08-14 11:39:03 +0200
  • d05ff3e098 Merge remote-tracking branch 'origin/master' Emmanuel ROHEE 2014-08-14 11:36:50 +0200
  • 7dc0a28e17 Created m-file-input. A directive to open a file selection dialog on whatever HTML element Emmanuel ROHEE 2014-08-14 11:36:11 +0200
  • de65c34fcf Honour the -w flag to enable the web client at /matrix/client Kegan Dougal 2014-08-14 10:24:17 +0100
  • 9a1638ed21 Removed http_server from HomeServer. Updated unit tests to use either resource_for_federation or resource_for_client depending on what is being tested. Kegan Dougal 2014-08-14 10:18:54 +0100
  • 29aa13f0d4 Make federation use resource_for_federation as well. Kegan Dougal 2014-08-14 10:05:06 +0100
  • 10294b6082 Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor Erik Johnston 2014-08-14 10:01:04 +0100
  • 9f863d3466 Start phasing out HttpServer: we should be using Resources instead. Added resource_for_client/federation/web_client to the HomeServer and hooked the C-S servlets to operate on resource_for_client. Dynamically construct the Resource tree. Kegan Dougal 2014-08-14 09:52:20 +0100
  • e7736668ba grammar fix Matthew Hodgson 2014-08-14 03:36:03 +0100
  • 9391be0f5d fix emote presentation Matthew Hodgson 2014-08-14 03:35:09 +0100
  • a4da962bab fix http client GET parameters; somehow missing named param. how could this have ever worked!? Matthew Hodgson 2014-08-14 02:59:54 +0100
  • d7dcef7ff4 config css Matthew Hodgson 2014-08-14 02:21:49 +0100
  • 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. Matthew Hodgson 2014-08-14 02:13:14 +0100
  • aebe5ce08a fix whitespace Matthew Hodgson 2014-08-13 20:53:38 +0100
  • 4e21bfd2db Consistent capitalisation of 'Matrix' as a proper noun in README; 80 col wrap Paul "LeoNerd" Evans 2014-08-13 21:19:21 +0100
  • d05aa651f8 An initial hack at storing presence state-change mtimes in database and presenting age durations to clients/federation events Paul "LeoNerd" Evans 2014-08-13 19:18:55 +0100
  • a6a9b71da0 Allow advancing the MockClock's time Paul "LeoNerd" Evans 2014-08-13 19:17:30 +0100
  • eef58a299e Don't mock out presence_handler's internal start/stop methods in presencelike unit test; it's rude Paul "LeoNerd" Evans 2014-08-13 19:07:22 +0100
  • fc778e2bce Move MockClock into tests.utils so we can reüse it Paul "LeoNerd" Evans 2014-08-13 18:26:42 +0100
  • baf04be5cf Set datastore's .hs field in SQLBaseStore rather than in the toplevel DataStore mixed-in result class Paul "LeoNerd" Evans 2014-08-13 18:15:23 +0100
  • 59dfbaba3b when we're talking about backfilling data in federation, call it backfilling - not pagination. Matthew Hodgson 2014-08-13 18:14:37 +0100
  • f729f13735 don't hammer after 403 Matthew Hodgson 2014-08-13 17:39:08 +0100
  • b80b32d1c0 pagination was a terrible name Matthew Hodgson 2014-08-13 17:14:42 +0100