Commit graph

87 commits

Author SHA1 Message Date
David Baker
4b43929aa3 Add in-call dialpad for DTMF sending
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1573
2021-01-04 20:01:43 +00:00
David Baker
452fbb076b Add a dialpad UI for PSTN lookup
Queries the homeserver for PSTN protocol support, and if found,
the add-room button on the DM rooms list section opens a context
menu instead with a 'dial pad' option as well as the current 'start chat'
dialog. Entering a number into this and pressing dial performs
a thirdparty user query for the given string and starts a DM with that
user.
2020-12-23 19:02:01 +00:00
David Baker
aee861956c Remove secondary call avatar
and change 'paused' to 'on hold'
2020-12-18 19:40:57 +00:00
David Baker
eab764a3c8 Vary resume link text
Use 'Switch' if unholding that call would hold another
2020-12-18 19:35:41 +00:00
J. Ryan Stinnett
8350b4152b Import from src in IncomingCallBox.tsx 2020-12-17 17:16:00 +00:00
David Baker
80be46bc32 Fix vertical scrolling in videoview
Fixes https://github.com/vector-im/element-web/issues/15886
2020-12-10 15:18:22 +00:00
David Baker
365d6982ce Add secondary call avatar to main voice content view 2020-12-07 18:28:43 +00:00
David Baker
8a58c9dea0 Update UI for two calls in the PiP view
and also merge hold_ui changes
2020-12-07 17:56:36 +00:00
David Baker
747d743bd0 Add 60% opacity black over the avatars when on hold 2020-12-07 16:22:57 +00:00
David Baker
3b25a3be98 Smaller avatar, more padding on text 2020-12-07 15:42:35 +00:00
David Baker
ab71547c4c Don't let call room names push out their containers 2020-12-04 20:36:08 +00:00
David Baker
faf2922b1b Update video element when the call changes in a videoview
Because that can happen now
2020-12-04 19:41:48 +00:00
David Baker
1ce63f0fa7 Line 1 / 2 Support
Support one active call plus one call on hold
2020-12-03 17:45:49 +00:00
David Baker
2a02e57a95 Add UI for hold functionality 2020-11-26 14:35:09 +00:00
David Baker
2e3d889bbf consistent capitalisation 2020-11-23 15:28:54 +00:00
David Baker
b518b33169 Factor the height of the header into the max video height 2020-11-19 17:33:43 +00:00
David Baker
49bd66c377 Change fullscreen button to expand button in PIP view
and fix call controls which didn't appear in video call
2020-11-19 16:36:23 +00:00
David Baker
50965e41eb Remove call bar
Also hide video mute button on voice calls (awaiting clarification from design)
and fix mute keyboard shortcuts by moving them out of roomview & into
callview.
2020-11-19 15:15:31 +00:00
David Baker
a2d58e2f1f Make new in-call UI work
* Buttons on the main view will disappear after 1 second of the user
not moving the mouse over the call view.
 * PIP view has no buttons, and not moveable yet
 * No call status in room view yet
 * Room status bar is still there currently
2020-11-18 14:22:38 +00:00
David Baker
c921567831 WIP: the new call views work now
just need to add the buttons and then get rid of the status bar
2020-11-12 18:09:56 +00:00
David Baker
6953aed70a
Copyright
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-11-05 09:51:02 +00:00
David Baker
f828c6d494 Implement call hold
Currently just by adding /holdcall and /unholdcall slash commands

The only place the hold status of the call is currently represented
is when the call is a voice call and you're viewing a different room:
it's not wired up when you're viewing the room because that currently
uses the room status bar which it won't do with the new UI.

Also convert VideoFeed to typescript, and remove videoview because
it essentially just managed the fullscreen functionality, but we'll
want and 'on hold' representation (and probably chrome for hagnup etc)
in the fullscreen UI too, so let's just make CallView the thing that
gets fullscreened.
2020-10-29 17:56:24 +00:00
David Baker
7ad366603a Support rejecting calls
Use the 'reject' method when we want to reject an incoming call
rather than end one that's in progress. Also get our error messages
right for the other side rejecting the call (albeit still with
placeholder dialog-box UX).

Requires https://github.com/matrix-org/matrix-js-sdk/pull/1510
2020-10-15 14:54:03 +01:00
David Baker
55f77b04ae Rewrite call state machine
* Remove the two separate enumerations of call state: now everything
   uses the js-sdk version of call state. Stop adding a separate
   'call_state' field onto the call object(!)
 * Better reflection of the actual state of the call in the call bar,
   so when it's connecting, it says connecting, and only says 'active call'
   when the call is actually active.
 * More typey goodness
2020-10-09 18:56:07 +01:00
David Baker
8962f7ae9e Convert CallHandler to typescript
and remove the old conference call stuff while we're at it: enough
time should have passed since those mistakes that we can move on.
The old conference call rooms will still appear for anyone whose
account dates back to that time, but they've presumably been appearing
in any other matrix client they used too.
2020-09-24 16:16:20 +01:00
Michael Telatynski
e624ce11b4
Merge pull request #5157 from matrix-org/t3chguy/crc1
Remove create-react-class
2020-09-03 17:21:58 +01:00
Michael Telatynski
72498df28f Remove create-react-class 2020-08-29 12:14:16 +01:00
Michael Telatynski
9ba33c7f80 Fix eslint ts override tsx matching and delint 2020-08-29 01:11:08 +01:00
Michael Telatynski
828cfb7138 Add min-width to floating Jitsi
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-20 15:15:21 +01:00
Travis Ralston
c5d732a631 IncomingCallBox2 -> IncomingCallBox 2020-07-17 15:56:58 -06:00
Travis Ralston
76902a752f CallPreview2 -> CallPreview 2020-07-17 15:56:07 -06:00
Travis Ralston
7f5c501b2b CallView2 -> CallView 2020-07-17 15:55:30 -06:00
Travis Ralston
cbf967ea69 Remove legacy call components 2020-07-17 15:53:13 -06:00
Travis Ralston
06336a88b3 Remove setting for old room list 2020-07-17 14:06:30 -06:00
Jorik Schellekens
bc4167180c Lint whitespaces and semis 2020-07-07 15:40:05 +01:00
Jorik Schellekens
8458572032 lint 2020-07-07 15:18:10 +01:00
Jorik Schellekens
0d6e7759d0 Fix review details
- spelling mistake
- unwatch watched setting
- lint (indentation)
- use more performant component
2020-07-07 15:11:08 +01:00
Jorik Schellekens
5176685d20 Implement incoming call box 2020-07-06 23:05:00 +01:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
Travis Ralston
07030a9466
Merge branch 'develop' into travis/react-warnings/3-componentCannotDidMount 2020-04-01 11:14:19 -06:00
Travis Ralston
0a6f54da33 Label and use UNSAFE_componentWillMount to minimize warnings
These TODO comments are expected to be fixed ASAP, but until that happens let's minimize the errors in the console for development.

For https://github.com/vector-im/riot-web/issues/12877

These all aren't using componentDidMount because they do something which causes application instability if componentDidMount were used. Much of these calls are expected to move into constructors once they are converted to real classes.
2020-03-31 14:15:23 -06:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
59f608ffd6
Merge pull request #3761 from matrix-org/travis/babel7-wp-es6-export
Convert CommonJS exports to ES6 exports
2020-01-08 09:09:11 -07:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Travis Ralston
344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
David Baker
b239fde32d Workaround for soft-crash with calls on startup
Fixes https://github.com/vector-im/riot-web/issues/11458
2019-11-21 17:31:57 +00:00
Michael Telatynski
b243004a6c Switch to createReactClass: *everything else*. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 18:38:11 +01:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00