Commit graph

694 commits

Author SHA1 Message Date
Šimon Brandner
f440c3f2c8
Add TS todo
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-28 08:11:07 +02:00
Šimon Brandner
db74a486c5
Fix copyright
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-28 08:07:37 +02:00
Timo K
4f36d149d7 make error optional in ClientState 2022-07-28 00:22:48 +02:00
Timo K
3727bfb67f more types 2022-07-28 00:17:09 +02:00
Timo K
f26ab2f941 Merge branch 'main' into ts_Form+Home 2022-07-27 23:47:56 +02:00
Šimon Brandner
b47d633727
Merge remote-tracking branch 'upstream/main' into SimonBrandner/feat/local-volume 2022-07-25 15:50:30 +02:00
David Baker
810cdeeab4
Merge pull request #482 from vector-im/dbkr/fix_screenshare_crash
Fix crash on screen share
2022-07-21 11:48:55 +01:00
David Baker
56afbe6eb1 Fix crash on screen share
Don't try to wire up audio nodes if the stream has no audio track,
'cos it'll crash.

Fixes https://github.com/vector-im/element-call/issues/421
2022-07-20 20:49:07 +01:00
David Baker
cf309102a2 Make the error boundary work
We had an error boundary at the top level of the app, but it didn't
work because it used ErrorPage which tried to use a bunch of things
like useLocation() and an error prop. Also it wasn't passed in correctly
anyway.

This wires it up correctly to a separate view with a button to send
debug logs, and also moves it down a few layers so it has access to
enough things to be able to send rageshakes.

Related: https://github.com/vector-im/element-call/issues/421
2022-07-20 20:43:11 +01:00
David Baker
32b37ed8f0 Fix 'cannot find room' error
We weren't waiting for rooms to arrive down the sync stream after
joining them but before trying to use them.

More regression details in linked issue.

Fixes https://github.com/vector-im/element-call/issues/477
2022-07-20 16:01:29 +01:00
Šimon Brandner
ce8ac0a81c
Fix formatting
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-16 17:54:49 +02:00
Šimon Brandner
e63b3d1b3e
Add support for audio sharing
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-16 09:08:38 +02:00
Robin Townsend
996c5f86c1 Refactor to use fewer else's 2022-07-15 16:08:26 -04:00
Robin Townsend
daeecc9b68 Add a missing type 2022-07-15 13:07:19 -04:00
Robin Townsend
982398b32f Remove unnecessary complexity from createRoom
With fae4c504c9, the changes from
b4a56f6dd7 are no longer necessary.
2022-07-15 13:05:06 -04:00
Robin Townsend
fae4c504c9 Consolidate all group call creation into useLoadGroupCall
This enables us to automatically create a group call in rooms that
exist, but contain no calls.
2022-07-15 12:59:54 -04:00
Robin Townsend
b4a56f6dd7 Wait for the created room to come down sync before placing a group call 2022-07-15 11:31:52 -04:00
Šimon Brandner
d5375ca9ed
Delint
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-15 11:22:13 +02:00
Šimon Brandner
eda8404144
Add UI for local volume control
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-15 11:18:56 +02:00
Timo K
e17a7cedb6 form_home 2022-07-14 19:20:52 +02:00
Šimon Brandner
4ad4cff23f
Add handling for local volume control
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-14 16:18:10 +02:00
David Baker
cc7a44dc17
Merge pull request #466 from vector-im/dbkr/check_indexeddb
Don't restore session unless crypto data is found
2022-07-14 13:43:21 +01:00
David Baker
873e68e1e1 Add notes from thinking through the need for storing what crypto db we use 2022-07-14 13:24:22 +01:00
David Baker
1eab957d85 Fix typescript syntax 2022-07-14 13:11:47 +01:00
David Baker
4c145af7a3 Don't restore session unless crypto data is found
Add a check to ensure that we find crypto data in the crypto store
when we're restoring a session and otherwise abort the session restore.

This will prevent us from restoring a session and generating new keys
when there was a previous session with different keys.

***This will force a logout for all users***

See the linked issue (and the comment in code) for more detail.

Fixes https://github.com/vector-im/element-call/issues/464
2022-07-14 13:07:30 +01:00
David Baker
c1e45c4a30 Missed a file 2022-07-13 16:02:17 +01:00
David Baker
5784a005dc Auto-register if displayName URL param is given
Fixes https://github.com/vector-im/element-call/issues/442
2022-07-13 14:34:15 +01:00
David Baker
32907764b3 Add ptt URL param to control what mode rooms are created in 2022-07-11 13:23:03 +01:00
David Baker
5199fd2566 Prettier 2022-07-08 21:17:27 +01:00
David Baker
b31c6c6780 Bypass lobby in embedded mode 2022-07-08 20:55:18 +01:00
David Baker
aeec2c076e
Merge pull request #458 from vector-im/dbkr/fix_network_waiting_after_timeout
Fix 'waiting for network' after reaching time limit
2022-07-08 19:03:55 +01:00
David Baker
a81c48cc22 Fix 'waiting for network' after reaching time limit
If you spoke for the maximum amount of time and got cut off, the
next time you tried to speak you'd just get the 'waiting for network'
state. Key repeats would cause more delayed state timeouts to queue
up.
2022-07-08 15:52:32 +01:00
David Baker
6eb77b7c2f Fix types 2022-07-08 14:56:00 +01:00
David Baker
572caf6826
Merge pull request #453 from vector-im/dbkr/fix_facepile_display
Fix facepile display issues
2022-07-08 09:59:11 +01:00
David Baker
b0c8ceb302
Merge pull request #455 from vector-im/dbkr/fix_talkover
Fix talking collision not colliding properly
2022-07-08 09:51:26 +01:00
Timo K
619e3c4852 form 2022-07-07 23:40:29 +02:00
Timo
e5cfcb601b
Merge pull request #397 from toger5/ts_button 2022-07-07 22:03:28 +02:00
David Baker
2b92bf3694 Fix talking collision not colliding properly
The code was only entering the blocked state if the user was speaking,
which often won't be the case when another person starts speaking because
we'll have pressed the button but not got the ack back from the server
yet. Add the transmitblocked flag instead so we don't enter that state
again if we've already decided we've been blocked.

We were also starting with blocked = false and so resetting it when it
shouldn't have been reset.

Also requires https://github.com/matrix-org/matrix-js-sdk/pull/2502
2022-07-07 19:42:15 +01:00
David Baker
cd42d09ea9 Fix facepile display issues
Fixes https://github.com/vector-im/element-call/issues/434 and a
separate bug where the facepile would just disappear off to the left
(because we kept increasing the size even though we capped the number
of circles at 8 plus the overflow one).
2022-07-07 14:30:28 +01:00
Johannes Marbach
e8d99e15f7 Prevent empty device labels in audio preview
Fixes: #324
Signed-off-by: Johannes Marbach <johannesm@element.io>
2022-07-07 13:32:23 +02:00
Johannes Marbach
1308e52e42 Enumerate devices 2022-07-07 12:10:08 +02:00
Johannes Marbach
f6d356c5ce Prettify the thing 2022-07-07 10:31:44 +02:00
Johannes Marbach
eb2de869b8 Prevent empty device labels
Fixes: #324
Signed-off-by: Johannes Marbach <johannesm@element.io>
2022-07-07 10:21:38 +02:00
David Baker
655058a7e6 Remove the 'Take Me Home' link in embed mode 2022-07-06 18:27:30 +01:00
David Baker
775125c8a7 Fix view when another person is talking
Fixes https://github.com/vector-im/element-call/issues/445
2022-07-06 13:44:17 +01:00
Robin Townsend
4cb2306de0 Make button be constrained primarily by width rather than height 2022-07-05 15:49:48 -04:00
Robin Townsend
f15ee439a9 Fix page layout 2022-07-05 15:41:57 -04:00
Robin Townsend
b9a2473d19 Adapt walkie-talkie layout to hide controls at small sizes 2022-07-05 13:47:53 -04:00
Timo K
5b58223f9d fix refs 2022-07-05 17:44:09 +02:00
David Baker
984b02700e
Merge pull request #438 from vector-im/dbkr/e2e_config_param
Add config param to disable e2e for signalling
2022-07-05 13:21:28 +01:00
David Baker
2dcf043787 Fix the PTT button on mobile
We were using createRef() instead of useRef() in the hook, which
meant we were always creating a new ref object and never actually
getting the ref. This must have been working before the useEventTarget
stuff due to some quirk of React / hooks...
2022-07-05 11:06:32 +01:00
David Baker
6b03ae0dc3
Use the traditional syntax for not-equals
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-04 20:32:20 +01:00
David Baker
5dd5668389 Add config param to disable e2e for signalling 2022-07-04 20:10:13 +01:00
Robin Townsend
71a819fcf0 Produce a more informative error when running in an insecure context 2022-07-03 10:38:03 -04:00
Timo K
713136672a make className an optional param 2022-07-02 21:45:31 +02:00
Timo K
f1bd47be8c Merge branch 'main' into ts_button 2022-07-02 21:42:15 +02:00
Timo K
2e82960ae6 ButtonVariant ButtonSize 2022-07-02 21:20:53 +02:00
Robin Townsend
4a1a53d3ab Run prettier 2022-07-01 12:34:57 -04:00
Robin Townsend
be173a838d Update matrix-js-sdk 2022-07-01 12:08:15 -04:00
David Baker
623bd52e1f
Merge pull request #420 from vector-im/dbkr/embed_mode
Add embed mode
2022-07-01 13:12:19 +01:00
David Baker
5ebdf3e878
Use has on set
Co-authored-by: Robin <robin@robin.town>
2022-07-01 13:10:51 +01:00
David Baker
761eee2cdc Remove button props / style too 2022-07-01 13:10:08 +01:00
David Baker
c49e300247 Fix js-sdk imports to be from src
(For a curious definition of 'fix')
2022-06-29 10:31:17 +01:00
Timo
6d8e34762e
Merge pull request #395 from toger5/ts_profile
typescript `src/profile`
2022-06-28 18:47:54 +02:00
David Baker
33461f5ac2
Merge pull request #418 from vector-im/dbkr/catch_exceptions
Catch an exception & add log line on setsinkid
2022-06-28 15:15:25 +01:00
David Baker
4e3345482f Move setsinkid inside if statement 2022-06-28 15:12:59 +01:00
David Baker
7dc6fb27ea Add embed mode
2db23e4110
from postmessage_ptt branch done in a slightly nicer way
2022-06-28 15:08:14 +01:00
Robin
5ced94755b
Merge pull request #413 from robintown/update-js-sdk
Update matrix-js-sdk
2022-06-28 08:56:38 -04:00
David Baker
0ffd860fdb catch a couple of exceptions 2022-06-28 13:24:07 +01:00
Timo
05e786e3d6
Merge pull request #387 from toger5/ts_settings
typescript `src/settings`
2022-06-28 12:08:05 +02:00
Robin Townsend
122ffeeab5 Update matrix-js-sdk 2022-06-21 11:32:07 -04:00
Robin Townsend
f2dbd5ff96 Move MediaElement interface to the global types file 2022-06-16 10:01:52 -04:00
Robin Townsend
dcae5ad5f2 Merge branch 'main' into chrome-spatial-aec 2022-06-16 09:56:27 -04:00
Robin Townsend
22dcb883b3 Fix waiting state not disappearing after the 20 second timeout 2022-06-14 23:38:40 -04:00
Robin Townsend
2e945780de Make the 'waiting for network' state work with spacebar 2022-06-14 16:53:56 -04:00
Robin Townsend
1d4ed6609d Preload PTT sounds correctly 2022-06-14 14:15:52 -04:00
Robin Townsend
74ccf7d820 Clean up useDelayedState 2022-06-14 12:13:59 -04:00
Robin Townsend
2eae6243bb Add a comment 2022-06-14 12:10:17 -04:00
Robin Townsend
276532e2e1 Add a 'waiting for network' state to walkie-talkie mode 2022-06-14 12:00:26 -04:00
Robin Townsend
fc07dd2af9 Convert useMediaStream to TypeScript 2022-06-13 17:24:25 -04:00
Robin Townsend
989712c2d5 Fix lints 2022-06-13 13:34:45 -04:00
Robin Townsend
ee43fcc91f Make AEC work with spatial audio on Chrome 2022-06-13 13:31:44 -04:00
Timo K
18ca92cec4 js->ts 2022-06-11 23:21:20 +02:00
Timo K
dc11814695 rename files js->ts 2022-06-11 15:23:33 +02:00
Timo K
17a31e0904 typing profile folder 2022-06-11 15:14:00 +02:00
Timo K
f990530031 Merge branch 'main' into ts_profile 2022-06-11 14:36:54 +02:00
Timo K
46f1f0f8e9 remove explicit any 2022-06-11 14:32:25 +02:00
Timo K
885e933948 fixes in useMediaHandler 2022-06-11 14:29:26 +02:00
Timo K
9b2e99c559 use React.ChangeEvent in SettingsModal 2022-06-11 14:28:54 +02:00
Timo K
60ed54d6d3 change rageshake.ts
to be more similar to the matrix-js version
2022-06-11 14:28:30 +02:00
David Baker
9fc4fbc3e7 Icon / styling fixes + typo
* Use icon from compound
 * Use warning colour
 * Fix capitalisation
2022-06-10 12:06:06 +01:00
David Baker
1f5ac411f6 Add warning if incompatible versionsd are being used
This will probably be overly sensitive until we start timing out
member events (ie. https://github.com/matrix-org/matrix-js-sdk/pull/2446
lands) because lots of calls might have old member events from people
who've joined previously.
2022-06-09 21:56:58 +01:00
Timo K
0aa29f775c linter 2022-06-08 17:22:46 +02:00
Timo K
a4a6105bc9 Merge branch 'main' into ts_settings 2022-06-08 16:40:51 +02:00
Timo K
23098131b8 couple of cleanups
ModalProps fixes
LogEntry interface
missing return promise
2022-06-08 16:36:22 +02:00
Robin
1a7211198b
Merge pull request #377 from robintown/spatial-audio-copy
Tweak spatial audio copy
2022-06-07 09:25:56 -04:00
Matthew Hodgson
4f9efb3563 last minute s/radio call/walkie-talkie call/ig 2022-06-07 13:31:19 +01:00
Timo K
190c57e853 typescript src/settings 2022-06-06 22:42:48 +02:00
Timo K
785eca7289 typescript src/profile 2022-06-06 22:33:13 +02:00
Robin Townsend
2667e78b43 sound → seem 2022-06-06 11:26:48 -04:00