Commit graph

5713 commits

Author SHA1 Message Date
Kegan Dougal
f384aa7d9e Add notification to group chat rooms with ongoing conf calls
This notification disappears when in the conf call / when the call is over.
CSS stolen from the desktop notification bar.
2015-09-15 14:18:17 +01:00
Kegan Dougal
353269370f Wire up the "room" CallView for conferencing
This also separates out concerns better - UI elements just need to poke
getCallForRoom rather than care if the thing they are displaying is a
true 1:1 for this room ID or actually a conf room.
2015-09-15 13:19:07 +01:00
Kegan Dougal
7866979c79 Show/hide the Hangup button depending on the state of the conf call. 2015-09-15 13:04:09 +01:00
Kegan Dougal
5e3698de64 Actually enforce 1 call semantics. 2015-09-15 11:43:51 +01:00
Kegan Dougal
59986d8b72 Pass the call around different CallViews to keep media flowing
Previously, the CallView was attached to the RoomView, so you would get
a new CallView each time you changed the room and the one you changed
from would be destroyed. This would destroy media capture/playback as
the element was no longer in the DOM.

This is now fixed by having a "global" CallView which is attached at
the MatrixChat "page" level in the DOM hierarchy. This CallView isn't
scoped to a particular room; it will render any "active" call it can
find that *isn't the current room being displayed*. This has the side
effect of enforcing 1 call per app semantics as only the first active
call found is returned.

This fixes https://github.com/vector-im/vector-web/issues/31
This is unfinished (CSS for the global call view isn't done)
2015-09-15 11:05:53 +01:00
Kegan Dougal
fc892b3580 Hide 1:1 conference rooms 2015-09-11 16:55:48 +01:00
Kegan Dougal
e3b02a295c Check conf user/rooms a bit more efficiently 2015-09-11 16:14:30 +01:00
Kegan Dougal
77401e215e First working outbound conference calling
This has a number of failings currently: 1) It needs to hide the 1:1 conference
room, 2) Swapping tabs on the outbound call mutes audio (this just seems to be
a vector bug since I can repro this on a normal 1:1 voip call), 3) Needs a big
plinth/etc to say the conf call is in progress.
2015-09-11 15:49:47 +01:00
Matthew Hodgson
737fc74756 Merge branch 'matthew/login' into matthew/userlist 2015-09-01 02:13:52 +03:00
Matthew Hodgson
ab068cc372 improve login, including checkbox fix for advanced options, rechecking when you change server, avoiding flickering when you change HS, better error/spinner layout, and trimming whitespace 2015-08-31 19:30:24 +01:00
Matthew Hodgson
e3798e1b85 WIP fixing up the member list - just needs CSS and testing 2015-08-15 03:06:21 +01:00
Matthew Hodgson
cb7f1aa916 ctrl-alt-num to change rooms 2015-08-14 16:30:19 +01:00
Matthew Hodgson
316a28838f let's wrap when you go off the beginning 2015-08-14 15:51:57 +01:00
David Baker
960a38fe43 Don't try loading -ve room indices 2015-08-14 15:44:21 +01:00
David Baker
87feb6b076 Revert accidental commit 2015-08-14 15:37:41 +01:00
David Baker
c5e33352b0 You can't just use React classes as normal static classes :( 2015-08-14 15:25:05 +01:00
Matthew Hodgson
9ed5ca3ccb implement a pretty droptarget when uploading files 2015-08-14 13:20:39 +01:00
David Baker
7bdf612ad5 argh 2 2015-08-14 11:25:54 +01:00
David Baker
6d390ebd2f Argh 2015-08-14 11:24:41 +01:00
David Baker
e5099ce3b7 Don't clobber the ready state if the sdk isn't ready yet 2015-08-14 10:31:09 +01:00
David Baker
a3879b507a Fix default avatars 2015-08-14 10:30:47 +01:00
Matthew Hodgson
001d1c50ef factor out MRoomMemberTile, MCallInviteTile, MCallAnswerTile and MCallHangupTile to just use EventAsTextTile and thus reduce duplication enormously 2015-08-14 00:28:37 +01:00
David Baker
fec266f1c0 Move avatars into their own components so I can add functionality like custom default avatars and onerror sources without having to add it in 13 separate places. Add the aforementioned features. 2015-08-13 19:30:02 +01:00
David Baker
b580fba7db Rooms with notifs turned off should still go bold. 2015-08-13 16:43:59 +01:00
David Baker
8bb836ad49 Assuming this was meant to be temporary 2015-08-12 18:26:43 +01:00
David Baker
eb36a2b242 If we were loaded with a room alias, don't lose that alias when we try to load the corresponding room. 2015-08-12 17:06:45 +01:00
Matthew Hodgson
18be8530fe put key='' on the right element 2015-08-12 01:45:04 +01:00
Matthew Hodgson
566c0437c0 provide a way to hide the notification nag toolbar 2015-08-12 00:42:04 +01:00
David Baker
a20b4d2d2c If we have a current room on load, we should display it! 2015-08-11 17:24:12 +01:00
David Baker
be5aaeaad7 Don't try to fill space if we don't have a message wrapper 2015-08-11 17:20:31 +01:00
David Baker
18c56a171e Focus composer on alt-up/down 2015-08-11 14:43:52 +01:00
David Baker
a45785fe1a Fix blank page on login 2015-08-10 17:12:31 +01:00
David Baker
19d350e876 Merge branch 'email_login' 2015-08-10 16:25:04 +01:00
David Baker
7a1796870a Handle old server that don't support login using email address 2015-08-10 16:22:33 +01:00
David Baker
96cedc237e Actually change to vector IS 2015-08-10 15:50:26 +01:00
David Baker
6ab993f1a9 Change default IS to vector 2015-08-10 15:27:36 +01:00
David Baker
efcc2061b8 Hopefully port over ndarilek's accessibility changes to Vector (albeit with list elements contained within RoomView) 2015-08-10 15:17:15 +01:00
David Baker
711bf583ab missed a file 2015-08-06 16:04:22 +01:00
David Baker
2771907573 Support room aliases in url bar and show them for rooms that have them 2015-08-06 14:58:52 +01:00
David Baker
cdbbf4bfef Don't re-set savedParams, we did it earlier 2015-08-04 18:04:56 +01:00
David Baker
5cffee7ce6 stop matrix client on logout please 2015-08-04 16:45:39 +01:00
David Baker
9d8d4e4896 Support email login 2015-08-04 16:30:41 +01:00
David Baker
259d9dc3a2 Handle THREEPID_IN_USE error 2015-08-04 14:49:01 +01:00
David Baker
674f90f27f If no Notifications, we essentially don't have permission (should fix on iOS) 2015-07-23 19:33:37 -07:00
David Baker
6f62211465 Return to root URL on log out. 2015-07-22 21:40:13 -07:00
David Baker
c2e92045d0 Don't announce that we've entered the null room on login if there are no rooms. 2015-07-22 21:37:46 -07:00
David Baker
9847383ba6 Commit imageview files 2015-07-22 20:37:08 -07:00
David Baker
772053713a lightbox image viewing (that needs CSS) 2015-07-22 16:04:29 -07:00
Erik Johnston
51d2677525 Prompt if a user really wants to leave the room 2015-07-22 17:53:18 +01:00
Kegan Dougal
fbb6775523 Implement unread message status when scrolled up. 2015-07-22 14:49:32 +01:00
Kegan Dougal
8b0db49b8b Bugfix: Accepting an invite no longer results in a stale membership list. 2015-07-22 14:10:06 +01:00
Erik Johnston
431c93fc29 Fix invites so they display in room list 2015-07-22 13:57:48 +01:00
Erik Johnston
0016c2ad83 Also change URL when going to next/prev room 2015-07-22 13:47:08 +01:00
Erik Johnston
ed1cb44deb Show Loader while leaving 2015-07-22 13:39:36 +01:00
Erik Johnston
b9fd174f72 Merge branch 'master' of github.com:vector-im/vector-web into leave_room_button 2015-07-22 13:30:34 +01:00
Kegan Dougal
d4147c1315 Don't allow blank messages to be sent. 2015-07-22 13:15:12 +01:00
Kegan Dougal
7e42072952 Scroll to bottom when there are live call updates.
This keeps the latest messages visible when you place or receive a call.
2015-07-22 13:04:18 +01:00
Erik Johnston
6bfc566d9a Switch to another room when we succesfully leave a room 2015-07-22 11:41:32 +01:00
Erik Johnston
5835ea0a97 Only display rooms you're currently joined to in recents 2015-07-22 11:33:46 +01:00
Kegan Dougal
e80cf8a133 Bugfix: Scroll to the bottom more reliably on new incoming messages.
Added some padding to the calculation which means the scrollbar can
be scrolled up a bit and still get bumped down. Scroll a lot though
and it will not keep bumping you down (parity with Angular)
2015-07-22 11:12:45 +01:00
Mark Haines
e1aca588b5 Clear local storage *before* creating the client, Otherwise we will blow away anything that the client tried to persist after it was created 2015-07-22 09:43:40 +01:00
David Baker
2eba2280d8 Don't barf if we we can't get a given room ID 2015-07-21 20:34:55 -07:00
Matthew Hodgson
a2f5933417 make aux panel behave vaguely intelligently 2015-07-21 15:43:54 -07:00
David Baker
9af09de7d4 Dispatch notifier_enabled when permission given if we don't already have it. 2015-07-21 15:35:30 -07:00
Matthew Hodgson
aaa96f1ac1 vicious rewrite of the CSS to support the notifications toolbar, removing all height: 100%'s and letting the flexbox stuff calculate auto-height instead. may have slowed down the rendering, especially when the toolbar is visible 2015-07-21 15:03:05 -07:00
David Baker
e03809b224 Merge pull request #16 from matrix-org/markjh/end-to-end
Add basic support for end-to-end crypto using olm.
2015-07-21 13:21:43 -07:00
David Baker
6fc910a259 Don't try to set page_type if not logged in 2015-07-21 11:12:59 -07:00
David Baker
959c0f0669 Order room members by lastActiveAgo 2015-07-21 11:05:54 -07:00
Kegan Dougal
2160440ff1 Add and impl resend button. Update UI when failing to send messages. 2015-07-21 18:05:22 +01:00
Mark Haines
f036a10a7d Add missing src/encryption.js file 2015-07-21 17:00:57 +01:00
Mark Haines
6bb6eafdc0 Hook up slash commands to enable and disable encryption for a room so that we can experiment with encryption while we wait for the rest of the UI to exist 2015-07-21 16:46:17 +01:00
Kegan Dougal
e0496305aa Log when presence is set. 2015-07-21 16:23:21 +01:00
Kegan Dougal
2698405e2f Add MatrixToolbar CSS. Make the toolbar part of RoomView and don't cover the UI (shift it instead) 2015-07-21 16:17:50 +01:00
Kegan Dougal
c1de5e9e95 Factor out logic from EnableNotificationsButton(!) and reuse MatrixToolbar.
Added notification logic to Notifier; dispatch notifier_enabled when toggled
so the toolbar can be shown/hidden and the button text can be kept in sync.
Add MatrixToolbar back into MatrixChat for notification nagging.
2015-07-21 16:17:50 +01:00
Erik Johnston
c5d84562ba Move logic from view to controller 2015-07-21 15:24:10 +01:00
Erik Johnston
89f6459915 Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into erikj/room_editing 2015-07-21 14:14:48 +01:00
Erik Johnston
b8e1927e82 Use getDefaultProps instead of setting porps 2015-07-21 14:14:15 +01:00
Erik Johnston
d81260c92a Use getDefaultProps instead of setting porps 2015-07-21 14:13:59 +01:00
Kegan Dougal
2454a71b38 Implement create/remove mod button. 2015-07-21 13:24:59 +01:00
Mark Haines
726ee7b50b Hook up the encrypt button when creating rooms 2015-07-21 12:03:15 +01:00
Kegan Dougal
13f04f77dc Tidy up power level logic. Add 'Moderator' label to members. 2015-07-21 11:43:18 +01:00
Kegan Dougal
2e2cecdd4f Implement kick/ban/[un]mute buttons on member list dialogs. 2015-07-21 11:26:02 +01:00
Erik Johnston
2bec7ec981 Add spinner while uploading state 2015-07-21 11:02:36 +01:00
Erik Johnston
0b1b6057d6 Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into erikj/room_editing 2015-07-21 10:39:46 +01:00
Matthew Hodgson
12c824323d rename DirectoryMenu as BottomLeftMenu and implement a really really really basic RoomDirectory 2015-07-20 20:11:33 -07:00
Matthew Hodgson
fe71f69f0a rename EditableText's placeHolder parameter to be 'label' to avoid colliding with the HTML5 placeholder parameter 2015-07-20 20:11:33 -07:00
David Baker
e0673eee29 Don't go & load the first room if we've already been told to load a different one. 2015-07-20 14:09:41 -07:00
David Baker
36b1280f0c Bookmarkable room URLs 2015-07-20 12:20:35 -07:00
Erik Johnston
813cf0481e Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into erikj/room_editing 2015-07-20 18:18:04 +01:00
David Baker
0a3cddbd89 Merge pull request #13 from matrix-org/markjh/vector-cleanup-client-peg
Markjh/vector cleanup client peg
2015-07-20 10:12:16 -07:00
David Baker
e9b2cd1364 Allow input history to go forwards again to the empty field 2015-07-20 10:05:53 -07:00
Kegan Dougal
5d59a5b297 Change opacity of member list entries when their presence changes.
This is done by attaching a single room listener at the member list level and
then forceUpdate()ing the individual tiles as presence changes come in from
the JS SDK. This is more efficient than having hundreds of listeners attached
directly to the JS SDK (if we were to add a listener per tile).
2015-07-20 17:42:19 +01:00
Erik Johnston
3a7ebf73eb Wire up changing of power levels 2015-07-20 17:31:40 +01:00
Kegan Dougal
9d110d58e5 Manage presence of the client (same semantics as angular) 2015-07-20 17:14:29 +01:00
Kegan Dougal
bcab2f231a Add error dialogs for invites and call timeouts. 2015-07-20 16:40:00 +01:00
Erik Johnston
1b6ca2b0ee Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into erikj/room_editing 2015-07-20 16:31:02 +01:00
Erik Johnston
eae0972820 Add files. Add power levels to room settings 2015-07-20 16:28:23 +01:00
Kegan Dougal
6fe842e130 Add ErrorDialog class. Use it for VoIP/command errors. 2015-07-20 16:26:53 +01:00
Erik Johnston
04f17c963c Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into erikj/room_editing 2015-07-20 16:03:35 +01:00
Erik Johnston
0039ccf203 Add ability to edit room settings 2015-07-20 15:07:51 +01:00
Kegan Dougal
f2bd802bdc Wire up invite button on the member list. 2015-07-20 15:07:19 +01:00
Mark Haines
28022534f7 Fix the client-peg clean up to match the changes vector has made to the sdk 2015-07-20 14:28:02 +01:00
Mark Haines
d8494ff89b Fix syntax 2015-07-20 14:01:52 +01:00
Mark Haines
715db89204 Move all the calls to createClient inside the MatrixClientPeg 2015-07-20 14:01:52 +01:00
Kegan Dougal
19ee75577e Actually access state_key when getting target invite names... 2015-07-20 13:30:01 +01:00
Kegan Dougal
0baa2141fc Wire up Start Chat button. 2015-07-20 13:22:56 +01:00
Kegan Dougal
08c16e0d7a Hook up presence/last active up (live updating; no ticker for last active). 2015-07-20 11:37:48 +01:00
David Baker
29b4f59982 Basically working upload progress bar. 2015-07-19 22:55:17 -07:00
David Baker
b82d932a51 Logout button 2015-07-19 22:55:17 -07:00
Matthew Hodgson
2121ddc295 add a MemberInfo list overlay as a mini user-profile page 2015-07-20 01:51:58 +01:00
David Baker
caa7f813eb Bugfix sending of typing events 2015-07-19 17:29:41 +01:00
David Baker
e8b944c0e1 Sooner or later I'll get used to this. 2015-07-19 16:43:45 +01:00
David Baker
e1f3c80f19 Display who's typing 2015-07-19 16:38:56 +01:00
David Baker
73c8eb7738 Send typing notifs 2015-07-19 15:29:16 +01:00
David Baker
85748c09cf Linkify emote tiles 2015-07-19 10:43:16 +01:00
Matthew Hodgson
1e1f7492d8 basic skin of incomingCallBox 2015-07-19 01:58:04 +01:00
Matthew Hodgson
919e1cf84f unbreak voice calls 2015-07-19 00:36:23 +01:00
Matthew Hodgson
c83ff1c623 hide events with no text equiv 2015-07-18 19:06:36 +01:00
Matthew Hodgson
5a12a4a1a3 don't break the layout with unrecognised join events 2015-07-18 02:17:10 +01:00
Matthew Hodgson
10cdf46c2c s/that/self/g 2015-07-17 21:59:48 +01:00
Matthew Hodgson
348aa3e5e1 fix up memberlist a bit more 2015-07-17 21:29:41 +01:00
David Baker
5f367f7c75 missing event listener remove 2015-07-17 19:01:11 +01:00
David Baker
5c7bef3107 Add topic changes to timeline by adding a tile that just uses TextForEvent 2015-07-17 18:49:48 +01:00
Matthew Hodgson
ddb426095e /topic 2015-07-17 18:14:05 +01:00
David Baker
214ef4b4ce Tidy up profile picture setting & fix notification bug 2015-07-17 17:13:51 +01:00
Kegan Dougal
812eb66ed5 Play ringback/busy/callend audio at the right times. 2015-07-17 17:05:11 +01:00
Kegan Dougal
827e777079 Implement ringing audio. Add other audio tags. 2015-07-17 16:42:26 +01:00
David Baker
ff567faeaa Profile picture setting and notifdications thereof. 2015-07-17 16:41:46 +01:00
David Baker
a730804943 there is no content.target - it's state_key. Also, warn if no target 2015-07-17 15:55:36 +01:00
David Baker
1df8e65cdf argh javascript 2015-07-17 14:42:36 +01:00
David Baker
383a958abe Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into vector 2015-07-17 14:36:15 +01:00
David Baker
9a79539978 missed removeventlistener 2015-07-17 14:35:33 +01:00
Kegan Dougal
5c6b8a4cf9 Merge branch 'irc-style-commands' into vector 2015-07-17 14:26:58 +01:00
Kegan Dougal
b6f9ca0f95 When accepting calls, go to the right room. Relink video elements when CallView loads. 2015-07-17 14:25:51 +01:00
David Baker
6a76d8ace8 Update room header when room name changes 2015-07-17 13:48:24 +01:00
David Baker
b53640f892 Just return nothing for unknown events 2015-07-17 12:23:24 +01:00
David Baker
00c45e48a9 Merge branch 'vector' into irc-style-commands 2015-07-17 12:03:10 +01:00
David Baker
37108ac56c Make notifications sensible again and have information once and only once. 2015-07-17 11:57:26 +01:00
David Baker
1b03aa8119 Display nick changes and factor out getting text for events into a common place. 2015-07-17 11:57:26 +01:00
Kegan Dougal
2bb2295499 Implement /join 2015-07-17 11:48:40 +01:00
Kegan Dougal
001372ec39 Fix nick changes 2015-07-17 11:13:05 +01:00
Kegan Dougal
c8caf34777 Merge branch 'vector' into irc-style-commands 2015-07-17 09:17:58 +01:00
Matthew Hodgson
1a95148dae basic date separator support 2015-07-17 00:12:53 +01:00
David Baker
0f39ec580f Slightly improve error messages 2015-07-16 22:06:00 +01:00
David Baker
d08c47a328 Fix npe 2015-07-16 21:45:59 +01:00
David Baker
cfbef0177e Fix custom server or registration & do some of new login UI 2015-07-16 19:30:27 +01:00
Kegan Dougal
1126769686 Merge branch 'vector' into irc-style-commands 2015-07-16 18:08:30 +01:00
Erik Johnston
df999fb2f8 Remove deleted atoms 2015-07-16 18:03:29 +01:00
Kegan Dougal
91943d8a45 Merge branch 'vector' into irc-style-commands 2015-07-16 17:41:30 +01:00
Kegan Dougal
9aa66c1d8b Add SlashCommands to functionally process /commands. 2015-07-16 17:41:12 +01:00
David Baker
03733e6a0f Merge pull request #9 from matrix-org/create_room
Wire in create room.
2015-07-16 17:37:48 +01:00
Erik Johnston
98160c3947 Add ability to remove people from invite list 2015-07-16 17:30:10 +01:00
Erik Johnston
68d60aadd1 Make Presets stateless 2015-07-16 17:24:33 +01:00
Erik Johnston
aa1b763518 Make CreateRoom remember what the values of its fields were. Remove some fairly pointless atoms 2015-07-16 17:20:03 +01:00
David Baker
75f8363be0 Merge branch 'master' into vector 2015-07-16 16:53:27 +01:00
David Baker
e6260987cc some s/then/done/ 2015-07-16 16:53:08 +01:00
David Baker
3a6423dd0a Merge branch 'master' into vector 2015-07-16 16:52:19 +01:00
David Baker
9b6060a363 Decouple login view & controller 2015-07-16 16:49:40 +01:00
Kegan Dougal
6b81022e28 Move position of incoming call buttons. 2015-07-16 16:32:21 +01:00
Erik Johnston
ebedf0b907 Add comment about RoomAlias magic 2015-07-16 16:17:29 +01:00
Erik Johnston
95968bf619 Make server_name magix in RoomAlias optional 2015-07-16 16:14:55 +01:00
David Baker
50edc619af Merge branch 'master' into vector 2015-07-16 16:13:24 +01:00
David Baker
64042c9de8 Handle localstorage exceptions. 2015-07-16 16:12:54 +01:00
David Baker
ebe6072225 Make this a done so it doesn't swallow exceptions 2015-07-16 16:04:31 +01:00
Erik Johnston
cd26d1323f Wire together checkboxes and presets and use new /createRoom api 2015-07-16 15:55:46 +01:00
David Baker
155dd74a6f Merge pull request #8 from matrix-org/message-history-arrow-keys
Implement sent message history (up/down keys).
2015-07-16 15:41:57 +01:00
Kegan Dougal
b043889169 Implement sent message history (up/down keys).
This includes preserving and restoring partially entered text per room. This
is mostly ported straight from Angular.
2015-07-16 15:22:46 +01:00
David Baker
dac94d2293 mplement custom registration screen 2015-07-16 15:16:26 +01:00
David Baker
41bab56133 Merge pull request #7 from matrix-org/nick-completion
Implement nick completion (tab-complete).
2015-07-16 14:52:46 +01:00
Kegan Dougal
42c9766203 s/did/will/ 2015-07-16 14:39:15 +01:00
Kegan Dougal
6fbb7d7da4 Implement nick completion (tab-complete).
Including SHIFT+TAB to go backwards and the 'blink' css (which may need to be
factored out of the view). Mostly ported from Angular.
2015-07-16 14:25:57 +01:00
David Baker
cf38b8a5bb Merge branch 'master' into vector 2015-07-16 14:19:50 +01:00
David Baker
a6df6ca29b Don't forget form values on error 2015-07-16 14:19:13 +01:00
David Baker
7aa4d50560 Handle registration errors. 2015-07-16 14:08:52 +01:00
Erik Johnston
c708976635 Wire up CreateRoom to UI. 2015-07-16 13:49:34 +01:00
Kegan Dougal
0a3a3dac1a Display call logs in the UI.
Display placed/incoming calls, answers and hangups.
2015-07-16 13:30:14 +01:00
Kegan Dougal
c4379e4827 Remove 'status' from payload; unused. 2015-07-16 12:57:59 +01:00
David Baker
41f659db4c Merge branch 'master' into vector 2015-07-16 12:44:42 +01:00
David Baker
df790c1b54 Refactor view/controller logic between files, fix syntax & silly bugs. 2015-07-16 12:44:04 +01:00
David Baker
a6f857e9d8 Merge pull request #6 from matrix-org/voip
VoIP addition
2015-07-16 12:31:36 +01:00
Kegan Dougal
5f3721f471 Tidying up 2015-07-16 11:54:53 +01:00
Kegan Dougal
c056bdf104 Only allow calls to be placed if there are 2 joined members. 2015-07-16 11:34:39 +01:00
Kegan Dougal
50f9d34211 Only display video elements in video calls. 2015-07-16 11:30:34 +01:00
Kegan Dougal
eedd437ca7 Minimal CSS bodge so the video actually dies when the call ends. 2015-07-16 11:21:43 +01:00
Kegan Dougal
7ffd97b5dc Implement call FSM. All works. 2015-07-16 11:05:09 +01:00
Erik Johnston
f17a9b14c2 Merge branch 'vector' of github.com:matrix-org/matrix-react-sdk into user_settings 2015-07-16 10:46:40 +01:00
Erik Johnston
ca593b8544 Remove commented out code 2015-07-16 10:39:58 +01:00
Erik Johnston
5d99abf18c Correctly pull in client version from package.json 2015-07-16 10:38:00 +01:00
David Baker
139b92fcd6 Merge branch 'master' into vector 2015-07-16 10:33:53 +01:00
Kegan Dougal
ecd1f09095 Glue in video elements. 2015-07-16 10:26:41 +01:00
Erik Johnston
02045858f7 Wire up change password 2015-07-16 10:23:31 +01:00
David Baker
e2757b3587 Merge pull request #4 from matrix-org/registration
Registration
2015-07-16 09:58:53 +01:00
David Baker
931a4f29c8 Argh, accidentally committed again 2015-07-16 09:57:14 +01:00
Erik Johnston
bc93aeb50e Flesh out the user_settings page 2015-07-16 09:37:58 +01:00
Erik Johnston
1b4358624f Add a basic modal dialog implementation 2015-07-16 09:37:14 +01:00
David Baker
77114e0081 Improve registration so the container page can pick what URL it's going to route through to registration. 2015-07-15 20:33:12 +01:00
David Baker
23d9cee299 didn't mean to commit that 2015-07-15 19:30:10 +01:00
David Baker
4756427e61 First cut working regisatration 2015-07-15 19:25:36 +01:00
Kegan Dougal
4f132c418f Fix a couple state bugs. 2015-07-15 17:48:26 +01:00
Kegan Dougal
14a4da54f8 Wire up hangup/answer buttons. 2015-07-15 17:36:47 +01:00
Kegan Dougal
37c9c8fbb4 Add CallHandler singleton and add CallView.
CallView is the container for either VideoViews or WaveformViews. All UI
elements listen for 'call_state' payloads and then call
CallHandler.getCall(roomId) to extract the current MatrixCall for that room.
We can't do this via stateful dispatches because dispatching does not preserve
ordering empirically (probably due to setTimeout).
2015-07-15 16:52:23 +01:00
Kegan Dougal
6316f1b195 Add call handling logic. Outbound voice calls work! 2015-07-15 15:36:45 +01:00
Erik Johnston
2b81f46030 Add placeHolder prop for EditableText 2015-07-15 15:04:39 +01:00
Erik Johnston
dfd54f3b95 Basic structure of user settings 2015-07-15 15:04:24 +01:00
Kegan Dougal
7e30c0f47b Add CallHandler to handle call logic and make VideoViews/WaveformViews. 2015-07-15 14:57:52 +01:00
Kegan Dougal
28cebab9a3 Add voip subdirectory. 2015-07-15 14:35:04 +01:00
Kegan Dougal
7cbb43fddb Merge branch 'vector' into voip
Conflicts:
	src/ComponentBroker.js
2015-07-15 14:21:58 +01:00
Kegan Dougal
78bea916e1 Dispatch events when calls are made/received. 2015-07-15 14:06:44 +01:00
Erik Johnston
844a883ad8 Merge branch 'master' of github.com:matrix-org/matrix-react-sdk into vector 2015-07-15 13:59:24 +01:00
Erik Johnston
5cd92229eb Add an editable text atom 2015-07-15 13:55:43 +01:00
Kegan Dougal
f94a061fda Add onClick listeners. Add getters for refs. 2015-07-15 13:34:11 +01:00
Kegan Dougal
aba103b8e0 Add VideoFeed atom and VideoView organism. 2015-07-15 13:09:15 +01:00
Erik Johnston
2fc08aeb12 Merge branch 'master' of github.com:matrix-org/matrix-react-sdk into vector 2015-07-15 10:36:47 +01:00
Matthew Hodgson
9b384e52b5 implement latest skin 2015-07-15 04:16:38 +01:00
David Baker
03d048c06f Get as far as requesting a token 2015-07-14 19:39:18 +01:00
David Baker
aacc31b2ce Registration works with recaptcha 2015-07-14 18:46:15 +01:00
Erik Johnston
bb06b752b4 Document CreateRoom phases 2015-07-14 17:40:49 +01:00
Erik Johnston
c4764af9a2 Add phases to CreateRoom organism 2015-07-14 17:27:22 +01:00
Erik Johnston
03b715b8bf Add onRoomCreated callback to CreateRoom organism 2015-07-14 17:01:06 +01:00
Erik Johnston
a748c090fb Move all element specific code into skins/ 2015-07-14 16:59:11 +01:00
Erik Johnston
b53e710d20 Add invite selection to create room dialog 2015-07-14 16:53:49 +01:00
Erik Johnston
ed52cdf6df Add basic CreateRoom organism. Supports setting room name and selecting preset 2015-07-14 15:17:49 +01:00
Matthew Hodgson
dff9353339 tabs->spaces everywhere; sorry folks - \!blame sublime 2015-07-14 12:11:01 +01:00
Matthew Hodgson
69d1844773 fix NPE for invites 2015-07-14 12:10:15 +01:00
Matthew Hodgson
6b0167375c badges and broken avatars 2015-07-14 02:13:00 +01:00
Matthew Hodgson
341fe868e4 group messages together from the same user 2015-07-14 00:25:51 +01:00
David Baker
a7e4a2847e Start of registration support. 2015-07-13 19:14:02 +01:00
Matthew Hodgson
bfe0cdcfd1 vector wireframes 2015-07-13 01:51:24 +01:00
David Baker
ed2cc33616 Linkify user IDs and room aliases (to nothing at the moment because we don't have anything to do with them) 2015-07-10 14:37:13 +01:00
David Baker
a00510c1ca Linkify URLs 2015-07-09 15:41:19 +01:00
David Baker
12566c0c9c Separate with space too 2015-07-08 19:57:58 +01:00
David Baker
6a92fdc5e6 Fix file size display 2015-07-08 19:52:44 +01:00
David Baker
03451d8c7d Sort rooms for prev/next purposes 2015-07-08 19:47:58 +01:00
David Baker
bdfef5eedd damn you javascript 2015-07-08 18:28:30 +01:00
David Baker
c14886a1ee rename to mostRecentActivityFirst to disambiguate from sorting by when you joined a room, which this is not. 2015-07-08 18:21:57 +01:00
David Baker
d58fdef362 Order room list by most recent activity 2015-07-08 18:18:03 +01:00
David Baker
a591b66732 Don't barf if no info in m.file content 2015-07-08 16:50:49 +01:00
David Baker
5bed0b7275 typo 2015-07-08 16:32:03 +01:00
David Baker
53e9d030b7 See uploaded files 2015-07-08 16:25:27 +01:00
David Baker
36ecbfc87f Upload files and images 2015-07-08 14:34:53 +01:00
David Baker
00dd1e180a focus message composer when window gets focus 2015-07-07 13:30:38 +01:00
David Baker
9f37196eb7 Fix infinite scrolling 2015-07-07 11:00:02 +01:00
Matthew Hodgson
205ed54ec7 merge in matthew-css 2015-07-07 03:44:57 +01:00
David Baker
3e87e043d6 Fix docs 2015-07-06 18:29:24 +01:00
David Baker
b4abe870cf Image displaying! 2015-07-06 18:09:19 +01:00
David Baker
dcb4b5f912 Add room membership messages 2015-07-06 16:04:09 +01:00
David Baker
6c35908949 Add example shwing how to customise, make customising work and document all the ways in which browserify will break and how to work around it being dumb. 2015-07-06 14:13:02 +01:00
David Baker
1c03eabadb Not all events have a sender 2015-07-03 16:46:30 +01:00
David Baker
b8f9cb44b8 argh, javascript 2015-07-03 16:35:06 +01:00
David Baker
1baaf39c48 update notification button when permission granted 2015-07-03 16:29:41 +01:00
David Baker
196ee3f6d4 Only highlight room list for messages where we notify - this may want to be an option in the react client potentially. 2015-07-03 11:36:44 +01:00
David Baker
53b0ba56db add license header 2015-07-03 11:24:04 +01:00
David Baker
fd20e82123 Add desktop notifications, overridable in the same way as other components (although it's not a react component). Also extend the flux dispatcher a little to be less dumb about dispatching while something else is already dispatching. 2015-07-03 11:12:54 +01:00
David Baker
947f389e51 be more consistent with naming 2015-07-02 13:18:03 +01:00
David Baker
acfe05db9d Use new push actions method on client 2015-07-01 14:11:23 +01:00
David Baker
898737d806 or is not and 2015-06-29 16:50:26 +01:00
David Baker
46646cbd87 Highlight room tiles on bing 2015-06-29 16:48:13 +01:00
David Baker
57ba816919 Highlight messages using new push rules support in js sdk 2015-06-29 16:24:02 +01:00
David Baker
9aa9a60333 Some checks to see whether stuff is still mounted when adding things. 2015-06-25 17:52:40 +01:00
David Baker
30a9436485 Room List should ignore paginated events 2015-06-25 17:44:27 +01:00
David Baker
dd0d6159ce Make alt+up/down change rooms 2015-06-25 17:41:55 +01:00
David Baker
fae629ea65 Use the pagination token to see when we've reached the room's birth 2015-06-25 15:58:51 +01:00
David Baker
5d44de9e08 Load limited number of room members when we first switch to a room, loading the rest a little later: makes switchign to large rooms much more responsive. 2015-06-25 14:57:35 +01:00
David Baker
209e052025 Limit the number of messages we load into a chat room when we switch to it (or more accurately, switch back to it). 2015-06-25 14:36:24 +01:00
David Baker
2355d5e6b5 Fix the permagrey local-echo bug 2015-06-24 18:15:34 +01:00
David Baker
c54bed02c1 Argh, javascript 2015-06-24 14:09:38 +01:00
David Baker
a54a7f80aa Apparently Object.keys is kinda slow 2015-06-24 14:01:59 +01:00
David Baker
52f6fa89a1 Only show joined and invited members 2015-06-24 13:48:39 +01:00
David Baker
8f1258b6cc Infinite scrolling 2015-06-24 13:28:44 +01:00
Matthew Hodgson
aaa38d95ba s/themes/skins/g as we are always describing the whole UI layout here, whereas themes can sometimes just be small cosmetic tweaks (light-on-dark, dark-on-light etc) 2015-06-23 18:28:20 +01:00
David Baker
0c26206b88 Copyright headers (and use strict, while we're at it). 2015-06-23 16:41:25 +01:00
David Baker
a022a4b9a6 Reshuffle to put "HTML" (JSX) and CSS together as a theme with logic elsewhere. 2015-06-23 14:40:50 +01:00
David Baker
cc4fa6140c Fix joining 2015-06-23 11:36:19 +01:00
David Baker
d10b1457ba obey room name changes 2015-06-22 15:56:16 +01:00
David Baker
c425886a45 handle room invites 2015-06-22 14:48:58 +01:00
David Baker
2ba4ad04d1 Little fixes on member list 2015-06-22 13:15:14 +01:00
David Baker
0424ef07b3 Add member list (that doesn't really update much yet) 2015-06-22 11:42:09 +01:00
David Baker
e77e9b7704 Add displayNames so they're not all just 'exports' in the react debugger 2015-06-19 16:21:09 +01:00
David Baker
41014af471 Display new rooms as they arrive 2015-06-19 16:12:22 +01:00
David Baker
1270bc3c62 m.notice 2015-06-19 14:01:17 +01:00
David Baker
2abea931ca Split out render methods into 'views' leaving UI logic in 'controllers'. Hopefully should make it easier to skin / customise. 2015-06-19 12:53:48 +01:00
David Baker
847e816035 grey out sending messages (although they don't go black until you send another message currently: awaiting fix in js sdk). 2015-06-18 15:49:41 +01:00
David Baker
b31794cda5 Focus the text box at appropriate times 2015-06-18 15:03:57 +01:00
David Baker
90f6764cbf Fix cleaning unread state on room select & ignore our own messages 2015-06-18 14:40:55 +01:00
David Baker
7c405f673a Highlight rooms with unread messages 2015-06-18 14:35:17 +01:00
David Baker
a63299aae0 Message scrolling 2015-06-18 11:23:35 +01:00
David Baker
ed58a59f82 Switch everything over to use the component broker. 2015-06-17 16:43:29 +01:00
David Baker
b35461f5c0 Unused require 2015-06-16 18:35:37 +01:00
David Baker
c9a546b73b Load all components* through a central broker so we can overrride them with different ones
* only one place actually uses it currently
2015-06-16 18:18:55 +01:00
David Baker
acaff68748 Oops, commit the emote tile. 2015-06-16 18:18:34 +01:00
David Baker
3a16c8a764 The most important feature 2015-06-16 15:29:13 +01:00
David Baker
e2348c50d5 Fix logout 2015-06-16 14:37:15 +01:00
David Baker
1dbc54e172 Oops, put key in the right place 2015-06-16 14:31:35 +01:00
David Baker
2bd5b0fdad Just be a little less ugly 2015-06-16 14:27:13 +01:00
David Baker
f25bf58d6d Use JS-SDK recommended way of getting sender name. 2015-06-16 14:19:46 +01:00
David Baker
672258f604 Start rendering messages with something more than the json 2015-06-16 11:58:03 +01:00
David Baker
88e9ab02f9 Yay, message sending. 2015-06-16 11:08:27 +01:00
David Baker
b2843b09bc Rest of commit adding messagecomposer, and put li's in ul. 2015-06-16 10:41:05 +01:00
David Baker
a0c5fb4a8b Add not-working-yet text box, plus a bit more css 2015-06-15 18:35:28 +01:00
David Baker
2a15b3a98c css tweaking 2015-06-15 15:50:24 +01:00
David Baker
52286b2316 Prevent default otherwise the form will submit and reload the page 2015-06-15 11:00:39 +01:00
David Baker
4bb570c545 messages arrive! 2015-06-12 18:17:54 +01:00
David Baker
0b0e6adce3 Make room changing work 2015-06-12 18:01:38 +01:00
David Baker
125fa78bc6 Something starting to resemble a Matrix Client 2015-06-12 17:34:17 +01:00
David Baker
2f6a123118 more Matrixy naming 2015-06-12 15:01:36 +01:00
David Baker
971a7c1133 Display the room list 2015-06-12 14:59:33 +01:00
David Baker
5f970edac5 strip out cruft 2015-06-12 13:49:23 +01:00
David Baker
ffb0dc78b8 Fixes to login, and change to not use the dispatcher because it's just unnecessary here 2015-06-12 13:45:22 +01:00
David Baker
e28fde7ae1 Save creds to localstorage 2015-06-12 13:12:39 +01:00
David Baker
add78c6e92 Oops: the file modifications for making it log in. 2015-06-11 18:25:29 +01:00
David Baker
f487b9ba04 Make it log in 2015-06-11 18:23:02 +01:00
David Baker
eeb2dfd1fc uglify at the end so we can also mangle names, and don't bother uglifying individual modules with -g as it doesn't seem to make any difference 2015-06-11 17:46:25 +01:00
David Baker
c42733ec95 Basic structure of a react SDK and start of an implementation. 2015-06-09 17:40:42 +01:00