Commit Graph

38 Commits

Author SHA1 Message Date
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
Matthew Hodgson
6c4ad49b78 use a top-level audio tag for playing all VoIP audio.\n\nfixes https://github.com/vector-im/vector-web/issues/1271 and https://github.com/vector-im/vector-web/issues/621 2016-08-31 21:50:46 +01:00
Richard van der Hoff
6c928f12b2 ForceUpdate the scrollpanel when the aux panel changes size
Catch some more cases when we ought to be updating the gemini scroll stuff.
2016-03-09 15:56:54 +00:00
Richard van der Hoff
30abf81ed4 Fix CallView in left panel
Make CallView cope with not being passed a room. Fixes
https://github.com/vector-im/vector-web/issues/1049, introduced in
7a20fda7, which made vector crash when you switched to another room with an
active call.
2016-02-29 13:43:22 +00:00
Richard van der Hoff
7a20fda7e7 Factor out a separate auxpanel, and cleanup the maxHeight management
Basically two changes here:

1. Factor out auxpanel from RoomView
2. Rather than setting maxHeight attributes by poking directly into the DOM,
pass them down as properties.
2016-02-23 15:54:15 +00:00
Matthew Hodgson
d2a731e255 only resize the video element if not fullscreen 2016-02-19 01:18:53 +00:00
Matthew Hodgson
7f310ce307 fix nasty overscroll bug on video element caused by inline v. block 2016-02-19 01:18:37 +00:00
Richard van der Hoff
cd52549713 s/function/func/ in PropTypes declarations 2016-01-12 13:11:53 +00:00
Richard van der Hoff
243b2e4587 Make the scrollpanel update itself correctly on video resize.
When we first get video, the video component will resize itself. This will
cause the page to be reflowed, but that doesn't trigger an update on the gemini
scrollbar. We therefore need to force an update on the messagepanel. Implement
this by providing an onResize property on the CallView component.

We need to do the same when we change the maxHeight on the video panel.

The same applies to resizing of the MessageComposer. That was previously
handled with a fugly roomView.forceUpdate() from MessageComposer - make it use
the same mechanism.

Finally: the messageComposer is at least 70 pixels, and up to 100 pixels high -
not 36. Fix the auxPanelMaxHeight calculation - and use a static constant
rather than hardcoding the number to avoid this happening again.
2016-01-11 15:28:59 +00:00
Matthew Hodgson
0772f50fab update copyright for 2016 2016-01-07 04:06:52 +00:00
Richard van der Hoff
0d0a379cd8 VideoView: Fix a dispatcher leak
Make sure we unregister from the dispatcher when the videoview goes
away.
2016-01-06 15:17:58 +00:00
Matthew Hodgson
bb184c12a1 fix NPE 2015-12-17 11:56:41 +00:00
Matthew Hodgson
d979a028a5 position the inbound call box correctly, and fix various issues with when the video preview and callview are shown 2015-12-17 02:49:09 +00:00
Kegan Dougal
6c9f3303c6 Convert voip molecules to components
Don't pull in VectorConferenceHandler; instead accept a prop which meets a
conference handler interface.
2015-11-26 16:38:56 +00:00
Kegan Dougal
e55ecfeacb Add VideoFeed component 2015-11-26 15:20:57 +00:00