David Baker
cc2cee4af6
Retry sending events that fail to send.
2014-09-12 16:32:22 +01:00
David Baker
8b28f7d14e
Always pick the incoming call if we've not yet sent out our invite, otherwise the remorte party will see their call get rejected and our call won't come in until our user clicks allow.
2014-09-12 14:06:35 +01:00
David Baker
a81ec21762
Remove the local AV stream from ourselves when handing it off to a new call or we'll close it when we hang up.
2014-09-12 11:51:57 +01:00
Emmanuel ROHEE
d934328904
Added edition of room name
2014-09-12 10:48:06 +02:00
Emmanuel ROHEE
6ea20f3503
Show room name updates in room history and recents.
...
Update it with the latest value
2014-09-12 10:12:56 +02:00
Emmanuel ROHEE
8b3ce85183
BF: temp workaround while /initialSync on a particular room is not available
...
initRoom on a new room is not called. Call it for any received events
2014-09-12 08:54:18 +02:00
David Baker
a059ca6915
few fixes for errors in glare conditions. still seem to end up with no audio if both calls are placed at the same time.
2014-09-11 19:16:57 +01:00
David Baker
1e05e30472
Put back the line that adds the stream to the invite, otherwise caller->callee audio won't work...
2014-09-11 18:59:22 +01:00
David Baker
81d061e74e
Fix bug where web client wold break trying to add the earliest token without having initialised the room if your first page of history contained only events which didn't call initRoom. Just call initRoom in handleMessages since we use it there rather than leaving it to the individual event handling methods.
2014-09-11 17:40:38 +01:00
David Baker
fb082cf50f
start towards glare support (currently not much better but no worse than before) including fixing a lot of self/var self/this fails that caused chaos when we started to have more than one call in play.
2014-09-11 15:24:18 +01:00
Emmanuel ROHEE
7e7eb0efc1
Show room topic change in the chat history and in the recents
2014-09-11 11:31:24 +02:00
Emmanuel ROHEE
8dcb6f24b5
getRoomEventIndex: improved speed for what it is used
2014-09-11 09:11:24 +02:00
Emmanuel ROHEE
44998ca450
Merge remote-tracking branch 'origin/develop' into webclient_initialSync
2014-09-10 18:35:05 +02:00
Emmanuel ROHEE
5a06f5c5fc
Reenabled transparent echo message. It turns to opaque without flickering now.
2014-09-10 18:24:03 +02:00
Emmanuel ROHEE
30bfa911fc
Member event: store use the the latest one
2014-09-10 16:26:11 +02:00
Emmanuel ROHEE
da3f842b8c
Removed wrong comments about recents-controller.js: it uses $rootScope.rooms not $rootScope.events.rooms managed by event-handler-service.js and used by other controllers
2014-09-10 14:53:03 +02:00
Emmanuel ROHEE
130cbdd7af
dedup events: state events conflict with messages events. Do not consider them in deduplication
2014-09-10 14:45:32 +02:00
Emmanuel ROHEE
b099634ba1
Reenabled handle of room states events in initialSync but do not add them to the displayed messages in the room page.
...
Show the m.room.member events only when they come from room.messages (from initialSync of pagination) not from room.state.
2014-09-10 14:36:30 +02:00
Emmanuel ROHEE
c2afc6cd0a
Presence events do not have event id. Do not discard them
2014-09-10 13:48:33 +02:00
David Baker
55fe0d8adc
Less buggy rejection of calls when busy
2014-09-10 11:12:02 +01:00
Emmanuel ROHEE
b63dd9506e
Improved requests: pagination is done from the data received in initialSync
2014-09-10 12:01:00 +02:00
David Baker
f90ce04a83
Hangup call if user denies media access.
2014-09-09 18:21:03 +01:00
David Baker
ccfb42e4ff
Don't try setting up the call if the user has canceled it before allowing permission.
2014-09-09 17:58:26 +01:00
David Baker
25e96f82db
Don't break if you press the hangup button before allowing media permission.
2014-09-09 17:52:01 +01:00
David Baker
253c327252
Don't play an engaged tone if we hang up locally.
2014-09-09 17:38:40 +01:00
David Baker
472b4fe48c
make calls work in Firefox
2014-09-09 14:54:06 +01:00
David Baker
16b40cbede
Show call invites in the message table
2014-09-09 11:45:36 +01:00
Kegan Dougal
6bdb23449a
Add ability to set topic by double-clicking on the topic text then hitting enter.
2014-09-08 18:40:34 -07:00
Kegan Dougal
f64cc237fc
Fixed bug which displayed an older room topic because it was being returned from /initialSync messages key. Check the ts of the event before clobbering state.
2014-09-08 17:27:51 -07:00
Kegan Dougal
324020d5fe
Display the room topic in the room, underneath the name of the room.
2014-09-08 15:36:52 -07:00
Kegan Dougal
da9b7b0368
Added big massive TODOs on a huge design problem with initial sync
2014-09-08 13:54:09 -07:00
Emmanuel ROHEE
9a5f224931
matrixService.rooms must be renamed matrixService.initialSync now
2014-09-08 18:21:41 +02:00
Emmanuel ROHEE
21d6ce2380
App startup improvements:
...
- do one and only one initialSync when the app starts. (recents-controller does not do its own anymore)
- initialSync: get only the last message per room instead of default number of messages (10)
Prevent recents-controller from loosing its data each time the page URL changes
2014-09-08 18:14:35 +02:00
David Baker
972f664b6b
add sounds to the calling interface
2014-09-08 16:10:36 +01:00
Matthew Hodgson
dc1f202eca
fix desktop notifs, which were broken in eab463fd
2014-09-08 11:28:51 +02:00
Matthew Hodgson
ef0304beff
disable broken event dup suppression, and fix echo for /me
2014-09-08 11:28:50 +02:00
Kegan Dougal
dd2ae64120
Set the room_alias field when we encounter a new one, rather than only from local storage.
2014-09-08 11:28:50 +02:00
Matthew Hodgson
6e341aebab
dedup all events
2014-09-06 00:36:55 -07:00
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
Kegan Dougal
1a298aad9c
Added captcha support on both the HS and web client.
...
Merge branch 'captcha' of github.com:matrix-org/synapse into develop
2014-09-05 23:32:51 -07:00
Kegan Dougal
0b9e1e7b56
Added a captcha config to the HS, to enable registration captcha checking and for the recaptcha private key.
2014-09-05 17:58:06 -07:00
David Baker
c03c255304
Better call bar (visually: still lacks ring[back] tones).
2014-09-06 00:14:02 +01:00
Kegan Dougal
130458385e
Modified matrixService.register to specify if captcha results should be sent with the registration request. This is toggleable via useCaptcha in register-controller.
2014-09-05 13:56:36 -07:00
Emmanuel ROHEE
3be6156774
Created kick & unban methods in matrixService. Made some factorisation.
2014-09-05 17:30:50 +02:00
Emmanuel ROHEE
3501478828
BF: Make /unban work again
2014-09-05 16:56:50 +02:00
Emmanuel ROHEE
4b7a5b7bfa
Fixed empty display name (content.displayname in a room member can be null)
2014-09-05 15:54:34 +02:00
Emmanuel ROHEE
ec1cc29ecb
Revert "Fixed empty display name (content.displayname in a room member can be null)"
...
This reverts commit f286a4fcd4
.
2014-09-05 15:53:44 +02:00
Emmanuel ROHEE
f286a4fcd4
Fixed empty display name (content.displayname in a room member can be null)
2014-09-05 15:50:44 +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
1bf6c3faad
BF: presence PUT requests stopped to work with old "state" param yesterday evening :( - cda31fb755
?diff=unified
2014-09-04 15:10:43 +02:00
Emmanuel ROHEE
3983bae160
Added mUserDisplayName, a filter to resolve a user display name from a user_id
2014-09-04 13:57:27 +02: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
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
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
Erik Johnston
073a42cc95
Add support for room names
2014-09-03 14:41:38 +01: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
56427b8057
Added /ban command
2014-09-03 11:17:58 +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
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