Commit Graph

460 Commits

Author SHA1 Message Date
Emmanuel ROHEE
82cf76a8f9 Report ban/unban messages to recents lists 2014-09-04 09:08:34 +02:00
David Baker
284d6b279b Hide email link UI from the settings because it doesn't work. 2014-09-03 19:00:56 +01:00
Emmanuel ROHEE
6322aa154b Added more ng-if to make nice sentences like "Bob kicked Alice" or "Bob unbanned Alice" 2014-09-03 19:52:09 +02:00
Matthew Hodgson
7f01d1d8c8 better error msgs 2014-09-03 18:39:09 +01:00
Emmanuel ROHEE
069a9745b0 Ignore leave members in the list too 2014-09-03 19:37:54 +02:00
Emmanuel ROHEE
78087617d1 Fixed used of state_key instead of user_id in member events.
Needed to split into 2 conditional spans for grammar reason
2014-09-03 19:29:36 +02:00
David Baker
d72ce4da64 Merge branch 'develop' of github.com:matrix-org/synapse into develop
Conflicts:
	synapse/http/client.py
2014-09-03 18:25:17 +01:00
David Baker
a25d1530ef Make registering and logging in with a threepid work in the webclient. 2014-09-03 18:23:56 +01:00
Erik Johnston
66a5bc4fad Fix ban path 2014-09-03 18:19:57 +01:00
Erik Johnston
0d75b9fa96 Fix a few cases where we used user_id instead of state_key 2014-09-03 18:03:10 +01:00
Emmanuel ROHEE
1a32b1f002 Normalise users power levels so that the user with the higher power level will have a bar covering 100% of the width of his avatar 2014-09-03 18:55:48 +02:00
Emmanuel ROHEE
5dd1a738f8 Use /rooms/$room_id/state/m.room.member/$user_id to change the membership of another user 2014-09-03 18:33:51 +02:00
Matthew Hodgson
8a7c1d6a00 fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org hasn't been incorporated in time for launch. 2014-09-03 17:31:57 +01:00
Emmanuel ROHEE
5f7cdbe0b8 List commands and their usage in the settings page 2014-09-03 17:02:02 +02:00
Emmanuel ROHEE
ede161d296 Added /kick $user_id 2014-09-03 17:02:02 +02:00
Emmanuel ROHEE
277fd2250a Added /unban $user_id 2014-09-03 15:58:40 +02:00
Erik Johnston
073a42cc95 Add support for room names 2014-09-03 14:41:38 +01:00
Emmanuel ROHEE
c06d07a276 Send unrecognized commands as text message (as before) 2014-09-03 15:25:59 +02:00
Emmanuel ROHEE
4c7da89219 Do not define power level limits in setUserPowerLevel. Update the function to be used as a resetUserPowerLevel 2014-09-03 15:20:09 +02:00
Emmanuel ROHEE
932f35a7f0 Added /deop $user_id 2014-09-03 15:20:09 +02:00
Emmanuel ROHEE
4777c1cd5b BF: Do not be polluted by ops events that come when paginating back 2014-09-03 15:00:19 +02:00
Emmanuel ROHEE
4b85c5f52c Added /op $user_id $powerLevel 2014-09-03 14:12:56 +02:00
Emmanuel ROHEE
d29d41322a Better indicate in the page feedback section that a user can't join a room (because he has been banned for ex). May be worth to be put in the middle of screen 2014-09-03 11:45:40 +02:00
Emmanuel ROHEE
4ba5b4b55d Do not show banned people in member list. Format ban events strings in room and recent flows 2014-09-03 11:38:24 +02:00
Emmanuel ROHEE
56427b8057 Added /ban command 2014-09-03 11:17:58 +02:00
Emmanuel ROHEE
65c7f78e9f Made IRC style command easier to handle specifically for possible arguments 2014-09-03 11:07:53 +02:00
Erik Johnston
ddc16d8642 Merge branch 'master' into develop 2014-09-03 09:46:39 +01:00
Emmanuel ROHEE
6e2ce83d57 roomName directive: Take into account invited users.
Use the last user display name
2014-09-02 18:26:20 +02:00
Erik Johnston
211a8b288a Hide the email textbox during registeration has it has not been wired up yet. 2014-09-02 16:59:45 +01:00
Matthew Hodgson
044daf4fe2 make power level more visible 2014-09-02 16:07:00 +01:00
Emmanuel ROHEE
d3c7567369 Attempt to make avatar change clearer 2014-09-02 17:00:47 +02:00
Emmanuel ROHEE
bcf30b29ad BF: Reset base timer time ($scope.now) everytime last_active_ago is touched 2014-09-02 16:39:29 +02:00
Emmanuel ROHEE
e565a4bfc4 BF: Prevent controllers from being instantiated twice.
AngularJS will instantiate it when discovering ng-controller in their respective html files
2014-09-02 15:12:51 +02:00
Emmanuel ROHEE
d5da6b0cef Handle "m.room.create" in order to inform controllers about new rooms 2014-09-02 13:55:23 +02:00
Emmanuel ROHEE
828101dd51 Represent user power level in a room by a red bar at the bottom of his avatar image. The width of this bar depends on the power level. 2014-09-02 11:54:35 +02:00
Emmanuel ROHEE
1bc05aef20 BF: Armed updateMemberListPresenceAge only once 2014-09-02 11:14:58 +02:00
Emmanuel ROHEE
07d609cbc2 BF: Take into account MEMBER_EVENT and PRESENCE_EVENT events only after the initialSync is done 2014-09-02 09:39:43 +02:00
Emmanuel ROHEE
0271e8e692 Follow API renaming. state -> presence. mtime_ago -> last_active_ago 2014-09-01 19:09:49 +02:00
Emmanuel ROHEE
7d99cee3ef Added roomName, a directive to compute a room name based on its alias (not aliases for now) and its users displaynames or ids 2014-09-01 18:52:24 +02:00
David Baker
ab8de33c76 Oops, show the voice call button once a call has ended 2014-09-01 17:41:42 +01:00
David Baker
57f047a05a Fairly simple move of the call status widget to the header bar (and therefore into the index page rather than the rooms page). 2014-09-01 17:16:27 +01:00
Emmanuel ROHEE
9b61076d42 BF: Check config exists (=defined in the localstorage) before using it 2014-09-01 17:43:27 +02:00
David Baker
b9172b982f missing semicolon 2014-09-01 16:23:13 +01:00
David Baker
fa6b3490e2 Handle call events in the recents view as well to get consistency with what it displays when refreshed. 2014-09-01 15:54:06 +01:00
David Baker
4e14e38bd5 Just show 'Call' for call events. Don't just splat out the content of the event for other events: it's rarely going to be sesnible. 2014-09-01 15:54:06 +01:00
Emmanuel ROHEE
26a95988da Fixed presence change that occurs -Xs ago 2014-09-01 16:27:11 +02:00
Emmanuel ROHEE
c9ee9b45c7 Fixed presence state update. Specifically, the current user was sometimes indicated as offline 2014-09-01 16:22:59 +02:00
David Baker
67ffc00d48 Don't show the hang up button once tha call has ended 2014-09-01 14:15:32 +01:00
Matthew Hodgson
0b01c8560d make the little logos clickable for Erik 2014-09-01 13:22:42 +01:00
Emmanuel ROHEE
f81002df60 BF: Pass desired_user_id to register API. And update the app header to avoid to display the previous matrix id 2014-09-01 11:12:24 +02:00
Matthew Hodgson
df752a15ce licenses, please... 2014-09-01 00:42:03 +01:00
Matthew Hodgson
d27e1ab148 fix footer on non-room pages 2014-09-01 00:41:53 +01:00
Matthew Hodgson
7ca6d4e8f7 don't make HS ports explicit if it's the default for the protocol 2014-08-31 15:38:27 +01:00
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
820ef6e9d8 make lightbox a bit less ugly 2014-08-31 12:03:22 +01:00
Matthew Hodgson
0a65a2384c only show presence timings if we know them 2014-08-31 11:55:48 +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
Matthew Hodgson
b040bd6157 factor out mobile css into its own file 2014-08-31 00:38:45 +01:00
Matthew Hodgson
3ef312fb95 factor out the signup process into its own controller 2014-08-31 00:38:10 +01:00
Matthew Hodgson
91753655b7 moar logos! 2014-08-31 00:37:47 +01:00
Matthew Hodgson
17a4bc10bc switch default profile image to one of our own devising (dating back to communicator(!)) 2014-08-31 00:37:01 +01:00
Matthew Hodgson
2a0e79bbfa tweaks to settings page 2014-08-30 00:50:51 +01:00
Matthew Hodgson
f64ce52305 actually add a 'home' button 2014-08-30 00:44:56 +01:00
Matthew Hodgson
c715660cb8 shrink text bubble font a bit; make image thumbnails always fit in their bubbles 2014-08-30 00:41:36 +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
Matthew Hodgson
26766c22eb todo 2014-08-29 17:54:18 +01:00
Matthew Hodgson
e006f101c3 fix mobile skin by hiding recents LHS in /rooms 2014-08-29 17:54:18 +01:00
Emmanuel ROHEE
95cbd026cc oops. Should not have c+p all lines 2014-08-29 18:29:04 +02:00
Emmanuel ROHEE
e1f249ce20 Implemented /nick 2014-08-29 18:24:13 +02:00
Emmanuel ROHEE
67f42b2f26 Get user display name and avatar from the server rather than storing them in the local storage 2014-08-29 18:23:18 +02:00
Matthew Hodgson
b86d2a2d4f update presence times in realtime through the magic of two-way binding 2014-08-29 17:22:48 +01:00
Emmanuel ROHEE
c3a774e414 Show desktop notification state. Provide help if the user has previously denied permission to display them. 2014-08-29 17:13:57 +02: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
4b7f6dd7fc Only show voice call button if there are exactly 2 members in the room. Also hide the somewhat user unfriendly call state. 2014-08-29 14:00:20 +01: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
3e6a19cf09 Merge branch 'develop' of github.com:matrix-org/synapse into develop 2014-08-29 13:24:08 +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
Emmanuel ROHEE
eab463fda5 Show notifications only when the user is detected as idle 2014-08-29 13:44:10 +02: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
1abc93d65c Cleaned up ng deps. By convention, angular modules must be listed at first 2014-08-29 11:58:35 +02: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
089d1b1b78 Recents update: do not care of events coming from the past (they are fired when doing pagination of room messages in the past) 2014-08-29 09:55:47 +02:00
Emmanuel ROHEE
9b2cb41dcf Display emotes in the recents list 2014-08-29 09:49:03 +02:00
Emmanuel ROHEE
96baf62e7a ng-show exists. So, for clarity, avoid to use ng-hide and double negation test. 2014-08-29 09:32:09 +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
b09e531159 Do a smart update of the recents from the events stream rather than hammering initialSync each time 2014-08-28 16:38:16 +02:00
Emmanuel ROHEE
c44293db2f When opening this page, do not join a room already joined 2014-08-28 16:23:30 +02: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
Emmanuel ROHEE
466fbe4c4e Cleaned up deps 2014-08-28 16:23:30 +02:00
Emmanuel ROHEE
6ac298f2f1 Start the events stream once the app starts (if credentials are in cache) or once the user gets logged in 2014-08-28 11:04:15 +02:00
David Baker
7d34a1c108 WIP voip support on web client 2014-08-27 18:57:54 +01:00
Emmanuel ROHEE
04fdcf302d Wired the recents list with the stream events for realtime update 2014-08-27 18:52:15 +02:00
Matthew Hodgson
f53c4300fd improve iOS layout a bit 2014-08-27 17:03:16 +01:00
Emmanuel ROHEE
234c50b834 BF: mFileInput dependency got lost somewhere and upload buttons did not work anymore 2014-08-27 18:00:19 +02:00
Emmanuel ROHEE
d9155b6a25 Highlight the current room in the recents list 2014-08-27 17:20:53 +02:00
Emmanuel ROHEE
7ee5288849 Added the recents component at the left hand side of the room page 2014-08-27 17:20:53 +02:00
Emmanuel ROHEE
fb9661898d BF: use room_id if there is no alias 2014-08-27 16:24:23 +02:00
Emmanuel ROHEE
87190a9673 Sort recents in anti-chronological order 2014-08-27 15:55:51 +02:00
Emmanuel ROHEE
308c9273fa Moved recents things into a separate (and reusable) controler 2014-08-27 15:55:51 +02:00
Emmanuel ROHEE
c67cac134f Moved assignRoomAliases into a central piece: matrixService for now 2014-08-27 15:55:51 +02:00
Emmanuel ROHEE
43242a0657 Cleaned ng dependencies 2014-08-27 15:55:51 +02:00
Emmanuel ROHEE
b1352f97ac home/recents: show the last message of each message 2014-08-27 15:55:51 +02:00
Emmanuel ROHEE
6691ca6f8d Rename go() into goToPage() which is available from everywhere thanks to the inheritance of $scope 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
bcf8eb687a Avoid double call of refresh at app startup 2014-08-26 16:57:41 +02: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
Emmanuel ROHEE
95839212a7 The landing URL is now '#/' which actually points to homeController 2014-08-25 11:35:33 +02:00
Emmanuel ROHEE
1bd380c816 Merge remote-tracking branch 'origin/hotfixes-0.0.1' into develop 2014-08-25 11:13:54 +02:00
Emmanuel ROHEE
8b0473d5b9 Oops. Removed my NetBeans private folders 2014-08-25 10:25:43 +02:00
Matthew Hodgson
3f08a7ad21 oops 2014-08-23 20:48:14 +01:00
Matthew Hodgson
d2bb28d2df very quick and dirty responsive design for iPhones 2014-08-23 20:45:00 +01:00
Emmanuel ROHEE
31e7cec486 Added "Your name" as placeholder to help user understand what is this alone input box 2014-08-22 18:23:38 +02:00
Emmanuel ROHEE
41d1db2d4a Merge branch 'settings-page' into develop 2014-08-22 18:18:27 +02:00
Emmanuel ROHEE
de0706493a Use /home everywhere 2014-08-22 18:08:03 +02:00
Emmanuel ROHEE
4c7df52360 renamed rooms to home - renamed files 2014-08-22 18:01:08 +02:00
Emmanuel ROHEE
61cac4df6e renamed rooms to home 2014-08-22 17:59:48 +02:00
Emmanuel ROHEE
aaf623fa53 Move profile parts of the rooms page and the config content into a new page: settings 2014-08-22 17:55:05 +02:00
root
f40844def2 avatar url 2014-08-22 16:20:53 +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
f3cea238b9 Check if the membership message was for the room we were in before updating the membership list 2014-08-22 10:56:16 +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
Emmanuel ROHEE
dde50d4245 Use $location.url instead of $location.path to get clean page URL without hash arguments of the previous page.
This happpens with room URL like http://127.0.0.1:8080/matrix/client/#/room/#public:localhost. The second hash part is transferred to the next page when using $location.path.
2014-08-22 11:44:09 +02: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
8f7fbc1bb0 improve leftBlock css 2014-08-22 02:11:33 +01:00
Matthew Hodgson
3248aed03b fix mainInput retaining focus between sending consecutive messages by disabling commit 955662d6 2014-08-22 01:54:37 +01:00
Matthew Hodgson
868fa1a1e3 fix weird fontsizes on iOS 2014-08-22 01:41:38 +01:00
Matthew Hodgson
fd47f55e94 sacrifice a goat or two to make wordwrap actually work properly 2014-08-22 01:33:34 +01:00
Matthew Hodgson
ab27b49ded rename autoComplete directive as tabComplete to avoid confusion with the autocomplete html attribute 2014-08-22 01:33:05 +01:00
Matthew Hodgson
019f3a66f6 add fixme pointing out name disambiguation is a bit flakey 2014-08-22 01:32:17 +01:00
Matthew Hodgson
3277a65052 actually display room metadata based on m.room.membe events 2014-08-21 19:02:00 +01:00
Erik Johnston
0045a2647a Add a var. 2014-08-21 17:59:07 +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
Matthew Hodgson
ad869fa4b3 stop hammering the HS for displayname and avatar URLs 2014-08-21 15:44:03 +01:00
Erik Johnston
2b1297c501 Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.0.1 2014-08-21 15:34:49 +01:00
Erik Johnston
4c228df167 Use the new 'inviter' key from im sync for room display names. 2014-08-21 15:31:11 +01:00
Emmanuel ROHEE
14b9989660 Fixed first pagination detection 2014-08-21 16:27:34 +02:00
Matthew Hodgson
01a129cb9a cheer up erik and remove the double-horizontal-border between adjacent text plinths 2014-08-21 15:26:51 +01:00
Emmanuel ROHEE
bb4490c2d7 Show image fullscreen when clicking on the thumbnail 2014-08-21 16:09:42 +02:00
Emmanuel ROHEE
e4f0e1af1a If there are available, show image thumbnails in the messages list 2014-08-21 15:00:20 +02: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
7371e68f55 Quick fix to support array of room aliases 2014-08-20 17:46:16 +02:00
Emmanuel ROHEE
2f52e8ee18 BF: Apply image place holder only if the image message has the height information 2014-08-20 17:17:17 +02:00
Emmanuel ROHEE
96da42085c BF: Wait for the room_id being resolved before starting pagination 2014-08-20 17:08:18 +02:00
Emmanuel ROHEE
ba88c9105c Create a placeholder for each image of the chat thread. The height of this placeholder is the height of the image so that the scroller position will not be disrupted when the image will be actually loaded and displayed in its full height 2014-08-20 17:04:50 +02:00
Emmanuel ROHEE
6d3391f2f0 Send images with their imageInfo (size, mymetype, width & height) 2014-08-20 17:04:50 +02:00
Emmanuel ROHEE
da2f5aac0e Sanitize message text content only if the type of current message in the ng-repeat loop is "text"
In case of image message, the body can be a JSON object (ImageInfo) and ngSanitize does not like that (ie it generates exception in the console)
2014-08-20 17:04:50 +02:00
Emmanuel ROHEE
d6a3639269 Replaced the image URL text input by a file selector button: "Send Image" 2014-08-20 14:09:55 +02:00
Emmanuel ROHEE
955662d64c Disabled sending buttons while a message is being sent. Useful on bad Internet connection. 2014-08-20 13:43:31 +02:00
Erik Johnston
2ffb075772 Merge branch 'master' of github.com:matrix-org/synapse into develop 2014-08-20 10:29:16 +01:00
Emmanuel ROHEE
ecce301632 File organisation sanity: put directives and filters into dedicated files 2014-08-20 11:28:36 +02:00
Emmanuel ROHEE
9ca5bc7892 keepScroll: a directive to anchor the scroller position at the bottom when the browser is resizing 2014-08-19 18:30:02 +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
4f773de6ba BF: The enter key in the image URL box called sendImage() with no argument 2014-08-19 16:37:31 +02: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
Emmanuel ROHEE
ff21d4d93b Merge remote-tracking branch 'origin/master' into user_page 2014-08-19 09:44:50 +02:00
Emmanuel ROHEE
d7a4f2ed7f Fill user page with avatar, display name and matrix id 2014-08-19 09:37:10 +02:00
Emmanuel ROHEE
38f5c1c378 Made small avatar image center 2014-08-19 09:24:35 +02:00
Emmanuel ROHEE
f144f8cc56 Use $location.url to open the user profile page. The user page URL is then the one expected: http://127.0.0.1:8000/#/user/@Manu:localhost:8080 insteaf of
http://127.0.0.1:8000/#/user/@Manu:localhost:8080#public:localhost:8080
2014-08-19 09:06:21 +02:00
Emmanuel ROHEE
c3f1548bb4 Added link to user profile pages 2014-08-19 08:58:53 +02:00
Matthew Hodgson
cdc5ffe2a2 show private room_ids rather than nulls in notifs if there is no room_alias 2014-08-18 20:56:27 +01: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
ecfdf23250 Created boilerplate for user profile page 2014-08-18 18:05:42 +02:00
Emmanuel ROHEE
301e55d11d In members list, on avatar mouseover, show a tooltip with the user matrix id 2014-08-18 17:49:50 +02:00
Emmanuel ROHEE
f8693c6b48 Join room: open the room URL with the room alias in it 2014-08-18 17:41:23 +02:00
Emmanuel ROHEE
43772d0b15 Support urlencoded room aliases in room URL 2014-08-18 17:40:05 +02:00
Emmanuel ROHEE
cebceb7b9d If possible, use href with room alias in rooms list 2014-08-18 17:14:57 +02: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
Kegan Dougal
f65176564f webclient: Tweak namespace of auto-complete directive. ng- should really only be used for official ng directives. 2014-08-18 10:07:16 +01:00
Emmanuel ROHEE
71584930cb Disabled image upload UIs 2014-08-18 10:54:43 +02: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
Emmanuel ROHEE
d5bebc9eaa Added another button to upload and send an image.
The text input and its send button for sending an image URL will be removed once we have a true upload image service
2014-08-18 10:41:21 +02:00
Matthew Hodgson
39ff6c840f make my emotes white again 2014-08-18 01:30:58 +01:00
Matthew Hodgson
62b67879cd make text font sizes consistent
add a gap between bubble-blocks from different users
make sent-text lighter than received-text
wrap the memberslist text more sensibly
fix height of bubbles to match that of avatars (32px)
2014-08-17 23:49:34 +01:00
Matthew Hodgson
60245c4f90 implement html5 notifications. (have to be explicitly requested under Config) 2014-08-17 03:48:28 +01:00
Matthew Hodgson
48f4497fe9 unbreak login sequence (which spuriously required a sydent server to be specified, which login.html was no longer doing...) 2014-08-17 03:47:58 +01:00
Matthew Hodgson
1c202f9f7a oops, debugging crept in 2014-08-17 03:00:08 +01:00
Matthew Hodgson
a56a346343 dial down logging 2014-08-17 02:58:01 +01:00
Matthew Hodgson
00c0737b0e - use css3 to make avatars always the right aspect ratio
- implement slightly overengineered tab/shift-tab autocomplete function
2014-08-17 02:56:34 +01:00
Matthew Hodgson
831c218a93 autohyperlink messages using linky 2014-08-16 22:21:52 +01:00
Matthew Hodgson
54c47f962b use minified angular by default 2014-08-16 22:09:42 +01:00
Matthew Hodgson
1c36118d98 minified angularjs stuff to speed things up 2014-08-16 22:07:47 +01:00
Matthew Hodgson
8c69eff14c improve infinite scrolling so it keeps paginating until you have a scrollbar (if it can) 2014-08-16 22:05:31 +01:00
Matthew Hodgson
f1d140eea8 remove log spam 2014-08-16 22:02:52 +01:00
Matthew Hodgson
fe25e65f3f disambiguate identical displaynames 2014-08-16 20:48:05 +01:00
Matthew Hodgson
e4770bb039 make presence timestamps less verbose 2014-08-16 13:30:34 +01:00
Matthew Hodgson
dc6212b6fb roll back b602834 as it made a bizarre subset of avatars go awol 2014-08-16 13:28:04 +01:00
Matthew Hodgson
ce4ca473cb order the members list by most recently active 2014-08-16 13:23:16 +01:00
Matthew Hodgson
b60283473a don't hammer a new hit for every displayname and avatar_url when we already have them in the members list... 2014-08-16 13:23:15 +01:00
Matthew Hodgson
00e8be516a merge weirdness 2014-08-16 01:48:44 +01:00
Matthew Hodgson
207ef144c5 display mtime_age in webclient 2014-08-16 01:07:23 +01:00
Matthew Hodgson
4068339770 slightly hacky but more functional infinite scrolling 2014-08-16 00:14:47 +01:00
Matthew Hodgson
9f7c5f161c switch some elements from being styled by class to styled by id 2014-08-15 23:24:42 +01:00
Kegan Dougal
60a9f27edb Formatting 2014-08-15 17:58:51 +01:00
Kegan Dougal
0e6a2f87f9 Get presence for members when you enter a room (it was coming down but wasn't being stored in the right place) 2014-08-15 17:47:45 +01:00
Kegan Dougal
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. 2014-08-15 17:42:11 +01: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
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