Commit Graph

143 Commits

Author SHA1 Message Date
Emmanuel ROHEE
e1f249ce20 Implemented /nick 2014-08-29 18:24:13 +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
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
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
96baf62e7a ng-show exists. So, for clarity, avoid to use ng-hide and double negation test. 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
c44293db2f When opening this page, do not join a room already joined 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
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
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
1bd380c816 Merge remote-tracking branch 'origin/hotfixes-0.0.1' into develop 2014-08-25 11:13:54 +02:00
Matthew Hodgson
d2bb28d2df very quick and dirty responsive design for iPhones 2014-08-23 20:45:00 +01: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
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
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
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
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
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
Emmanuel ROHEE
14b9989660 Fixed first pagination detection 2014-08-21 16:27:34 +02: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
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
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
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
ff21d4d93b Merge remote-tracking branch 'origin/master' into user_page 2014-08-19 09:44:50 +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
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
43772d0b15 Support urlencoded room aliases in room URL 2014-08-18 17:40:05 +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
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
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
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
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
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
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
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
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
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
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
Emmanuel ROHEE
d5033849a5 BF: Use ng-src 2014-08-14 13:51:35 +02:00
Matthew Hodgson
9391be0f5d fix emote presentation 2014-08-14 03:35:09 +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
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
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