Matthew Hodgson
a1bf28b7f0
handle m.room.aliases for id<->alias mapping; remove local_storage map; stop local echo flickering by removing opacity transition for now; implement /join
2014-09-06 00:32:39 -07:00
Emmanuel ROHEE
8a7f7f5004
BF: Update the members list on banned & kicked "events"
2014-09-05 18:05:23 +02:00
Emmanuel ROHEE
12a23f01b4
autoscroll down(if the scroller was already at the bottom) when receiving member events
2014-09-05 17:52:11 +02:00
Emmanuel ROHEE
3be6156774
Created kick & unban methods in matrixService. Made some factorisation.
2014-09-05 17:30:50 +02:00
Emmanuel ROHEE
cf4c17deaf
Added sanity checks in commands
2014-09-05 17:23:41 +02:00
Emmanuel ROHEE
3501478828
BF: Make /unban work again
2014-09-05 16:56:50 +02:00
Emmanuel ROHEE
584591c3e3
Fixed duplicated messages sending in slow network condition.
...
Show the message sending flow state in the messages list:
- While sending, the message appears semi transparent in the chat.
- If successfully sent, it appears as before, ie normal
- In case of failure, it appears in red with an Unsent text.
2014-09-05 14:09:14 +02:00
Emmanuel ROHEE
43369cbe06
Cleaned all sending references as it not used
2014-09-05 11:13:33 +02:00
Emmanuel ROHEE
3bfffab201
Do not systematically scroll to the bottom on new events in the room
2014-09-05 10:40:59 +02:00
Matthew Hodgson
3bc7bba262
switch IRC-style command parser to use regexps rather than split(" ") so that it doesn't choke on consecutive whitespaces
...
yield better errors for invalid commands
don't pass invalid commands through as messages
support kick reasons
2014-09-04 23:14:52 -07:00
Emmanuel ROHEE
7346ea85c0
Moved mRoomName filter into matrix-filter.js, a place for all generic filters using Matrix data.
2014-09-04 13:43:48 +02:00
Emmanuel ROHEE
069a9745b0
Ignore leave members in the list too
2014-09-03 19:37:54 +02: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
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
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
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
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
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
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
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
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
Matthew Hodgson
26766c22eb
todo
2014-08-29 17:54:18 +01:00
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
Emmanuel ROHEE
1abc93d65c
Cleaned up ng deps. By convention, angular modules must be listed at first
2014-08-29 11:58:35 +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
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
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
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
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
96da42085c
BF: Wait for the room_id being resolved before starting pagination
2014-08-20 17:08:18 +02:00
Emmanuel ROHEE
6d3391f2f0
Send images with their imageInfo (size, mymetype, width & height)
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
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
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
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
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
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
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
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