Commit graph

64 commits

Author SHA1 Message Date
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
Peter Vágner
ded35e43a0
A11y: repurpose more divs into AccessibleButtons.
With this more of the
controls that look like buttons can be operated via the keyboard and
navigated to by screen reader users. This includes editor buttons such
as File upload, Audio / Video call, Right pannel hide button, Jump to
the bottom timeline button, and some more buttons found in the user
settings.
Also I have added alt texts to some images that in turn label buttons
which these happen to be packed in and removed some untranslated alt
texts from decorative non-actionable images that might add more
verbosity when talking about screen reader user experience.
2018-10-02 13:55:24 +02:00
David Baker
d3038ea765 Don't try to exit fullscreen if not fullscreen
This was causing annoying exceptions on latest Chrome. Use
document.fullScreenElement to detect if we're fullscreen and don't
try to exit if we aren't.
2018-09-11 11:31:24 +01:00
David Baker
e56feea9ec Put always-on-screen widgets in top left
always-on-screen widgets now appear in the top-left where the
call preview normally is if you're not in the room that they're in.

Fixes https://github.com/vector-im/riot-web/issues/7007
Based off https://github.com/matrix-org/matrix-react-sdk/pull/2053
2018-07-12 18:43:49 +01:00
David Baker
8eb4137ec3 missing semicolon 2018-02-07 11:51:41 +00:00
David Baker
2a68e3ea39 import sdk 2018-02-07 11:42:50 +00:00
David Baker
0a5bf07913 Use getComponent 2018-02-07 10:13:19 +00:00
David Baker
424c367ecc Fix the reject/accept call buttons in canary (mk2)
Fixes https://github.com/vector-im/riot-web/issues/6081 by making
the accept/reject buttons AccessibleButtons which they should be
anyway (presumably the role=button makes chrome do the right thing
with the events). Also swallow the onClick event otherwise that
propagates out to the room header and causes it to expand/collapse.
2018-02-06 18:45:43 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Travis Ralston
ae10a11ac4 Convert synced settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06:00
Luke Barnard
591a7f4b86 Default to false 2017-10-26 10:06:04 +01:00
Luke Barnard
97b9cf6402 Actually use the synced setting 2017-10-26 09:58:46 +01:00
Luke Barnard
3ae97348f8 Add option to mirror local video feed 2017-10-25 18:17:33 +01:00
Luke Barnard
6b9a2909df Add rule to enforce spacing in curly brackets in JSX children
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
David Baker
be8f0991a6 Avoid re-rendering RoomList on room switch
Introduce a class that consumes updates from the RoomViewStore and
announces to listeners if the active room ID is now or is no longer
the room ID they specified. Naming suggestions welcome: it's
currently called ActiveRoomObserver.

Avoids passing the selectedRoomId down from MatrixChat all the way
through the LeftPanel / RoomList / RoomSubList to the RoomTiles.

Also introduce a CallPreview class that listens directly for
RoomViewStore changes as the call preview in the left panel needs
to know when the room changes, so this allows this component to
update without having to update the entire left panel.
2017-09-11 16:59:09 +01:00
Michael Telatynski
9ef83b8dc0
de-lint views/voip/*
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:58:46 +01:00
Kegan Dougal
1c58a9cd5e Everything but src/components/views/rooms 2017-06-08 12:33:29 +01:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
wmwragg
45f17eb973 Added incomingCallBox to header and removed from roomTile 2016-09-15 14:39:34 +01:00
Matthew Hodgson
031daf7b3c Merge pull request #434 from matrix-org/matthew/uninterrupted-audio
use a top-level audio tag for playing all VoIP audio.
2016-09-01 16:12:37 +01:00
Matthew Hodgson
f0d5f42921 whine loudly if remoteAudio element is missing 2016-09-01 13:58:26 +01:00
Matthew Hodgson
4829ac0c4d comment 2016-09-01 11:07:46 +01:00
Matthew Hodgson
a23d8e313d show ongoing audio call in LeftPanel 2016-09-01 00:13:32 +01:00