Commit Graph

216 Commits

Author SHA1 Message Date
Matthew Hodgson 8fe912d95c change the world: make the default matrix API URL prefix /_matrix rather than /matrix to make it easier for existing websites to mount a HS in their namespace without collisions.
perl -pi -e 's#/matrix#/_matrix#g' ./cmdclient/console.py ./docs/client-server/howto.rst ./docs/client-server/specification.rst ./docs/client-server/swagger_matrix/directory ./docs/client-server/swagger_matrix/events ./docs/client-server/swagger_matrix/login ./docs/client-server/swagger_matrix/presence ./docs/client-server/swagger_matrix/profile ./docs/client-server/swagger_matrix/registration ./docs/client-server/swagger_matrix/rooms ./docs/server-server/specification.rst ./graph/graph.py ./jsfiddles/create_room_send_msg/demo.js ./jsfiddles/event_stream/demo.js ./jsfiddles/example_app/demo.js ./jsfiddles/register_login/demo.js ./jsfiddles/room_memberships/demo.js ./synapse/api/urls.py ./tests/federation/test_federation.py ./tests/handlers/test_presence.py ./tests/handlers/test_typing.py ./tests/rest/test_events.py ./tests/rest/test_presence.py ./tests/rest/test_profile.py ./tests/rest/test_rooms.py ./webclient/components/fileUpload/file-upload-service.js ./webclient/components/matrix/matrix-service.js
2014-08-31 14:51:37 +01:00
Matthew Hodgson 1bc036a12d nasty big monolithic commit of a whole bunch of UI/UX improvements:
- add a simple CSS template across the app for navigation & cosmetics
 - split login into login & register, and totally reskin it
 - restructure room CSS to play nicely with it
 - implement basis 1:1 chat from user pages
 - disable autofocus on iOS to improve UX
2014-08-31 00:40:42 +01:00
David Baker 490f142d73 Give basic feedback on the state of VoIP calls in the UI. 2014-08-29 18:01:01 +01:00
David Baker 0ef54caa28 better support for call hangups 2014-08-29 15:18:57 +01:00
Emmanuel ROHEE 7c4b47652e The away state is unavailable not offline 2014-08-29 15:33:02 +02:00
David Baker 073bec4830 Oops, forgot a s/sendObject/sendEvent/ - make messages work again! 2014-08-29 13:45:15 +01:00
David Baker cc413be446 Don't break if the call ends before it connects 2014-08-29 13:28:39 +01:00
David Baker 5308e3026a Change call signalling messages to be their own types of room events rather than room messages with different msgtypes: room messages should be things that the client can display as a unit message to the user. 2014-08-29 13:23:01 +01:00
David Baker 171d8b032f Merge branch 'voip' into develop
Conflicts:
	webclient/room/room-controller.js
2014-08-29 11:33:36 +01:00
David Baker 41d02ab674 More basic functionality for voip calls (like hanging up) 2014-08-29 11:29:36 +01:00
Emmanuel ROHEE ee079cd250 Added a timeout(40s) to $http stream requests (/events) in order to be notified by an error when there is a network issue. Thus, we can retry with a new request. 2014-08-29 11:32:06 +02:00
Emmanuel ROHEE 246b2a3c3e Renamed matrixService.assignRoomAliases into getRoomAliasAndDisplayName 2014-08-29 09:32:09 +02:00
David Baker ca7426eee0 First basic working VoIP call support 2014-08-28 19:03:34 +01:00
Emmanuel ROHEE 7c99ebdbd1 Added waitForInitialSyncCompletion so that clients can know when they can access to the data retrieved by the initialSync Request 2014-08-28 16:23:30 +02:00
Emmanuel ROHEE 06c79a23d4 BF: Made member events parsing work (handleEvents expects an array of events) 2014-08-28 16:23:30 +02:00
David Baker 7d34a1c108 WIP voip support on web client 2014-08-27 18:57:54 +01:00
Emmanuel ROHEE c67cac134f Moved assignRoomAliases into a central piece: matrixService for now 2014-08-27 15:55:51 +02:00
Emmanuel ROHEE e40d829363 Support limit and feedback param of initialSync 2014-08-27 15:55:51 +02:00
Kegan Dougal c585c87c4b Renamed /ds to /directory 2014-08-27 14:54:29 +01:00
Kegan Dougal 1d9d287c7c Renamed /public/rooms to /publicRooms 2014-08-27 14:52:07 +01:00
David Baker 474d913712 fix joining rooms on webclient 2014-08-27 13:59:14 +01:00
Kegan Dougal dd661769e1 Renamed /rooms to /createRoom. Removed ability to PUT raw room IDs, and removed tests which tested that. Updated cmdclient and webclient. 2014-08-27 11:33:56 +01:00
Kegan Dougal 5a93bfe1f0 Removed MessageRestServlet, use RoomSendEventRestServlet instead. Updated cmdclient, tests and webclient. All appears to work. 2014-08-26 17:21:48 +01:00
Kegan Dougal 2e70de09b9 Renaming: /im/sync >> /initialSync. /rooms/$roomid/members/list >> /rooms/$roomid/members. /rooms$roomid/messages/list >> /room/$roomid/messages. Updated cmdclient, tests and webclient. 2014-08-26 16:19:17 +01:00
Emmanuel ROHEE c21fcb3373 Determine and send user presence state 2014-08-26 16:25:27 +02:00
Kegan Dougal 9ff9caeb74 webclient: Updated to use /rooms/$roomid/[invite|join|leave] 2014-08-26 14:59:31 +01:00
Kegan Dougal 5796232cb1 Adjusted webclient to use new state paths. Updated membership msg template to actually show the person invited. Factored out common membership functions in matrix service. 2014-08-26 10:24:47 +01:00
Erik Johnston 239622f80b Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.0.1 2014-08-22 15:48:09 +01:00
Erik Johnston 6118a102c1 Keep track of people's presence and query that when we update the members list. 2014-08-22 10:51:00 +01:00
Erik Johnston 74c90f7815 Reinitialize room when creating a RoomController so that we start off with a clean slate, as it expects/ 2014-08-22 10:51:00 +01:00
David Baker 3c349b408b Update web client to use new IS API. 2014-08-22 11:34:27 +02:00
Erik Johnston acf5127604 Make the content repo work with in daemon mode. Return the full url on upload. Update the webclient to use new content repo api. 2014-08-22 10:25:32 +01:00
Emmanuel ROHEE 53f4fbd99a resizeImage: generate an image in the format of the original image. (Tested with tranparent PNG, transparent GIF, BMP, JPEG) 2014-08-22 10:48:00 +02:00
Emmanuel ROHEE c8d0c4762d Safari needs the img.onload event before actually working on the img 2014-08-22 10:15:15 +02:00
Matthew Hodgson 3277a65052 actually display room metadata based on m.room.membe events 2014-08-21 19:02:00 +01:00
Erik Johnston 2e1ab9db08 Only start event streaming after having set up the controllers. 2014-08-21 17:55:41 +01:00
Erik Johnston 7dac1bfc91 Change webclient to always hit the im sync api before streaming so we get current presence state 2014-08-21 17:17:41 +01:00
Emmanuel ROHEE aac52fce15 Generate thumbnail client side and send its URL and info with the image message body 2014-08-21 15:00:20 +02:00
Emmanuel ROHEE 9d4bc8985f Made uploadContent compatible for sending Blob objects 2014-08-21 15:00:20 +02:00
Emmanuel ROHEE efe5aa6464 Added resizeImage() 2014-08-21 15:00:20 +02:00
Emmanuel ROHEE 6d3391f2f0 Send images with their imageInfo (size, mymetype, width & height) 2014-08-20 17:04:50 +02:00
Erik Johnston e2b861cc67 Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor 2014-08-19 16:41:13 +01:00
Emmanuel ROHEE c5d601d5cd Cleaned dead code 2014-08-19 16:24:49 +02:00
Erik Johnston 347242a5c4 Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
Conflicts:
	tests/rest/test_presence.py
	tests/rest/test_rooms.py
	tests/utils.py
2014-08-19 14:48:19 +01:00
Erik Johnston 598a1d8ff9 Change the way pagination works to support out of order events. 2014-08-19 14:19:48 +01:00
Emmanuel ROHEE 509ce6c137 Change mouse cursor to pointer on elements user can click on 2014-08-19 11:37:07 +02:00
Kegan Dougal 58548ab557 Implemented GETs for the ContentRepoResource. It all actually appears to be working. 2014-08-18 17:18:54 +01:00
Kegan Dougal 35da1bf4a3 Auth content uploads. Added a mapping function from request > filename. Added exception handling for content uploads. webclient: Only prefix the client API path on doRequest, not doBaseRequest (this would've broken the identity server auth too). Added matrixService.uploadContent. May not require mFileUpload anymore. 2014-08-18 17:18:54 +01:00
Emmanuel ROHEE e5257b21b3 Support room alias in rooms URL (ex: http://127.0.0.1:8000/#/room/#public:localhost:8080) 2014-08-18 17:11:08 +02:00
Kegan Dougal c12f55aa3b Increase /events timeout to 30 secs. We don't need it so low anymore to get around request suppression when changing rooms, since there is just a single event stream now. 2014-08-18 14:25:25 +01:00
Emmanuel ROHEE 0b5674ccc5 Do not start the event stream if the user is not logged in (=if he does not has an access token yet)
Add isUserLoggedIn to check this.
2014-08-18 10:44:29 +02:00
Kegan Dougal 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) 2014-08-15 17:42:11 +01:00
Kegan Dougal 5ac87292c4 Remove old polling stuff from RoomController. Added service comments. Do not start the event stream on startup unless you have credentials. 2014-08-15 14:06:56 +01:00
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
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 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
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
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
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
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
Erik Johnston fe3c5a2726 Fix the 'Go to room' button to use the correct room alias api 2014-08-12 17:17:14 +01:00
matrix.org 4f475c7697 Reference Matrix Home Server 2014-08-12 15:10:52 +01:00