* New room header
- add chat button during call
- close lobby button in lobby
- join button if session exists
- allow to toggle call <-> timeline during call with call button
Compound style for join button in call notify toast.
Signed-off-by: Timo K <toger5@hotmail.de>
* dont show start call, join button in video rooms.
Signed-off-by: Timo K <toger5@hotmail.de>
* Make active call check based on participant count
Not based on available call object
Signed-off-by: Timo K <toger5@hotmail.de>
* fix room header tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix room header tests
Signed-off-by: Timo K <toger5@hotmail.de>
* remove chat button test for displaying.
Chat button display logic is now part of the RoomHeader.
Signed-off-by: Timo K <toger5@hotmail.de>
* remove duplicate notification Tread icon
Signed-off-by: Timo K <toger5@hotmail.de>
* remove obsolete jest snapshot
Signed-off-by: Timo K <toger5@hotmail.de>
* Update src/components/views/rooms/RoomHeader.tsx
Co-authored-by: Robin <robin@robin.town>
* update isECWidget logic
Signed-off-by: Timo K <toger5@hotmail.de>
* remove dead code
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor call options
Add menu to choose if there are multiple options
Signed-off-by: Timo K <toger5@hotmail.de>
* join ec when clicking join button (dont start jitsi)
Use icon buttons
don't show call icon when join button is visible
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor isViewingCall
Signed-off-by: Timo K <toger5@hotmail.de>
* fix room header tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix header snapshot
Signed-off-by: Timo K <toger5@hotmail.de>
* sonar proposals
Signed-off-by: Timo K <toger5@hotmail.de>
* fix event shiftKey may be undefined
Signed-off-by: Timo K <toger5@hotmail.de>
* more lobby time before timeout
only await sticky promise on becoming sticky.
Signed-off-by: Timo K <toger5@hotmail.de>
* don't allow starting new calls if there is an ongoing other call.
Signed-off-by: Timo K <toger5@hotmail.de>
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* fix translation typo
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* Refactor ElementCall to use the widget lobby.
- expose skip lobby
- use the widget.data to build the widget url
Signed-off-by: Timo K <toger5@hotmail.de>
* Use shiftKey click to skip the lobby
Signed-off-by: Timo K <toger5@hotmail.de>
* remove Lobby component
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests + remove EW lobby related tests
Signed-off-by: Timo K <toger5@hotmail.de>
* remove lobby device button tests
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* use voip participant label
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix rounded corners in pip
Signed-off-by: Timo K <toger5@hotmail.de>
* allow joining call in legacy room header (without banner)
Signed-off-by: Timo K <toger5@hotmail.de>
* Introduce new connection states for calls.
And use them for integrated lobby.
Signed-off-by: Timo K <toger5@hotmail.de>
* New room header call join
Fix broken top container element call.
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* Fix closing element call in lobby view.
(should destroy call if there the user never managed to connect (not clicked join in lobby)
Signed-off-by: Timo K <toger5@hotmail.de>
* all cases for connection state
Signed-off-by: Timo K <toger5@hotmail.de>
* add correct LiveContentSummary labels
Signed-off-by: Timo K <toger5@hotmail.de>
* Theme widget loading (no rounded corner)
destroy call when switching room while a call is loading.
Signed-off-by: Timo K <toger5@hotmail.de>
* temp
Signed-off-by: Timo K <toger5@hotmail.de>
* usei view room dispatcher instead of emitter
Signed-off-by: Timo K <toger5@hotmail.de>
* tidy up
Signed-off-by: Timo K <toger5@hotmail.de>
* returnToLobby + remove StartCallView
Signed-off-by: Timo K <toger5@hotmail.de>
* comment cleanup
Signed-off-by: Timo K <toger5@hotmail.de>
* disconnect ongoing calls before making widget sticky.
Signed-off-by: Timo K <toger5@hotmail.de>
* linter + jitsi as videoChannel
Signed-off-by: Timo K <toger5@hotmail.de>
* stickyPromise type
Signed-off-by: Timo K <toger5@hotmail.de>
* fix legacy call (jistsi, cisco, bbb) reopen
when clicking call button
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests and connect resolves
Signed-off-by: Timo K <toger5@hotmail.de>
* fix "waits for messaging when connecting" test
Signed-off-by: Timo K <toger5@hotmail.de>
* Allow to skip awaiting Call session events.
This option is used in tests to spare mocking the
events emitted when EC updates the room state
Signed-off-by: Timo K <toger5@hotmail.de>
* add sticky test
Signed-off-by: Timo K <toger5@hotmail.de>
* add test for looby tile rendering
Signed-off-by: Timo K <toger5@hotmail.de>
* fix flaky test
Signed-off-by: Timo K <toger5@hotmail.de>
* add reconnect after disconnect test (video room)
Signed-off-by: Timo K <toger5@hotmail.de>
* add shift click test to call toast
Signed-off-by: Timo K <toger5@hotmail.de>
* test for allowVoipWithNoMedia in widget url
Signed-off-by: Timo K <toger5@hotmail.de>
* fix e2e tests to search for the right element
Signed-off-by: Timo K <toger5@hotmail.de>
* destroy call after test so next test does not fail
Signed-off-by: Timo K <toger5@hotmail.de>
* new call test (connection failed)
Signed-off-by: Timo K <toger5@hotmail.de>
* reset to real timers
Signed-off-by: Timo K <toger5@hotmail.de>
* dont use skipSessionAwait for tests
Signed-off-by: Timo K <toger5@hotmail.de>
* code quality (sonar)
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor call.disconnect tests (dont use skipSessionAwait)
Signed-off-by: Timo K <toger5@hotmail.de>
* miscellaneous cleanup
Signed-off-by: Timo K <toger5@hotmail.de>
* only send call notify after the call has been joined (not when just opening the lobby)
Signed-off-by: Timo K <toger5@hotmail.de>
* update call notify tests to expect notify on connect.
Not on widget creation.
Signed-off-by: Timo K <toger5@hotmail.de>
* Update playwright/e2e/room/room-header.spec.ts
Co-authored-by: Robin <robin@robin.town>
* Update src/components/views/voip/CallView.tsx
Co-authored-by: Robin <robin@robin.town>
* review
rename connect -> start
isVideoRoom not dependant on feature flags
rename allOtherCallsDisconnected -> disconnectAllOtherCalls
Signed-off-by: Timo K <toger5@hotmail.de>
* check for EC widget
Signed-off-by: Timo K <toger5@hotmail.de>
* dep array
Signed-off-by: Timo K <toger5@hotmail.de>
* rename in spyOn
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* Migrate InfoTooltip to use Compound Tooltip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate DecoratedRoomAvatar.tsx to Compound tooltips
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Small type tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate TextWithTooltip.tsx to Compound tooltips
This adds `contain: strict` to #matrixchat which may have side effects.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert accidental layout change to TextWithTooltip from inline to block
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve test coverage and simplify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Ditch the sleep call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add ringing for matrixRTC
- since we are using m.mentions we start with the Notifier
- an event in the Notifier will result in a IncomingCall toast
- incomingCallToast is responsible for ringing (as long as one can see the toast it rings)
This should make sure visual and audio signal are in sync.
Signed-off-by: Timo K <toger5@hotmail.de>
* use typed CallNotifyContent
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests
Signed-off-by: Timo K <toger5@hotmail.de>
* change to callId
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests
Signed-off-by: Timo K <toger5@hotmail.de>
* only ring in 1:1 calls
notify in rooms < 15 member
Signed-off-by: Timo K <toger5@hotmail.de>
* call_id fallback
Signed-off-by: Timo K <toger5@hotmail.de>
* Update src/Notifier.ts
Co-authored-by: Robin <robin@robin.town>
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* add tests
Signed-off-by: Timo K <toger5@hotmail.de>
* more tests
Signed-off-by: Timo K <toger5@hotmail.de>
* unused import
Signed-off-by: Timo K <toger5@hotmail.de>
* String -> string
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* Move avatar to new compound implementation
* Make space avatars square
* Remove reference to the avatar initial CSS class
* remove references to mx_BaseAvatar_image
* Fixe test suites
* Fix accessbility violations
* Add ConfirmUserActionDialog test
* Fix tests
* Add FacePile test
* Fix items clipping in members list
* Fix user info avatar sizing
* Fix tests
* Use native js-sdk group call support
Now that the js-sdk supports group calls natively, our group call implementation can be simplified a bit. Switching to the js-sdk implementation also brings the react-sdk up to date with recent MSC3401 changes, and adds support for joining calls from multiple devices. (So, the previous logic which sent to-device messages to prevent multi-device sessions is no longer necessary.)
* Fix strings
* Fix strict type errors
* Improve accessibility and testability of Tooltip
Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.
* Make the ReadyWatchingStore constructor safer
The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.
* Rename 1:1 call components to 'LegacyCall'
to reflect the fact that they're slated for removal, and to not clash
with the new Call code.
* Refactor VideoChannelStore into Call and CallStore
Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.
* Remove WidgetReady, ClientReady, and ForceHangupCall hacks
These are no longer used by the new Jitsi call implementation, and can
be removed.
* yarn i18n
* Delete call map entries instead of inserting nulls
* Allow multiple active calls and consolidate call listeners
* Fix a race condition when creating a video room
* Un-hardcode the media device fallback labels
* Apply misc code review fixes
* yarn i18n
* Disconnect from calls more politely on logout
* Fix some strict mode errors
* Fix another updateRoom race condition
* sharedInstance() -> instance
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use CallState event instead of dispatching
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Simplifie some code
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use a method to start a call instead of the dispatcher
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use a method instead of place_conference_call
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Make terminateCallApp() and hangupCallApp() public
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use hangupAllCalls() instead of the dispatcher
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Make dialNumber(), startTransferToMatrixID() and startTransferToPhoneNumber() public instead of using the dispatcher
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use answerCall() instead of using the dispatcher
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use hangupOrReject() instead of the dispatcher
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Update docs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Improve TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Dispatch call_state, see https://github.com/vector-im/element-web/pull/18823#issuecomment-917377277
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Add missing import
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>