Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to switch between voice & video in native matrix 1:1 calls #18619

Closed
nadonomy opened this issue Aug 18, 2021 · 14 comments · Fixed by matrix-org/matrix-react-sdk#7155
Assignees
Labels
A-VoIP O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience T-Enhancement X-Needs-Design

Comments

@nadonomy
Copy link
Member

nadonomy commented Aug 18, 2021

Your use case

What would you like to do?

When you make a call in Element, if it's a call between 2 people we use native Matrix calls. However, once the place is called, if you want to switch between voice or video you need to hang up and place a new call. It should be possible to switch between voice & video after placing a call.

How would you like to achieve it?

@SimonBrandner has offered interest in developing this on Web, pending us working on designs and gaining confidence we want the feature.

@jakewbate it'd be great if you can figure out the details on this. The things which spring to me are:

  1. Any solution shouldn't break compatibility with other clients, as we can't guarantee concurrent resources on iOS & Android. Worth leaning on expertise from @dbkr to see the feasibility of this, or if we need to take a cross-platform approach..
  2. We need to figure out when you can toggle between voice/video. Is it while the call is ringing? Or only after the other participant has answered?
  3. We need to figure out call tiles. Could they update in real-time in the timeline if they change? Once a call finishes, should they just persist as their last known state?

Have you considered any alternatives?

No response

Additional context

No response

@SimonBrandner
Copy link
Contributor

@jakewbate, feel free to DM me directly (@simon.brandner:envs.net)! I can provide any necessary info about this from the code point of view

@SimonBrandner SimonBrandner self-assigned this Aug 18, 2021
@SimonBrandner SimonBrandner added O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround labels Aug 18, 2021
@RiotRobot RiotRobot added this to Priority bugs in Web App Team Aug 18, 2021
@jakewb-b
Copy link

jakewb-b commented Aug 18, 2021

Based on my discussion with @SimonBrandner and @dbkr, we propose the following solution:

  • A video call can already be 'downgraded' to a voice call essentially just by turning off camera, so there is no urgent requirement for any change. (This does not force the other user to also turn their camera off, but I don't think this is a greatly needed use-case, and arguably not even a desirable one)
  • A voice call is essentially just a video call just with both cameras turned off. Given that, this means that it can be easily 'upgraded' to a video call by simply turning the camera on. This requires very little extra functionality or UI.
  • Therefore, on Element web, using the 'voice call' button (telephone icon) would (from the user's POV) be the same as starting a video call but simply with both cameras defaulting to off.
  • As the user placing a voice call, I can choose to turn my camera on while the call is ringing, but the other party's camera will still default to off. They can turn it on as soon as the call starts if they wish.
  • The video call (camera icon) remains in place, and starts a video call with both cameras defaulting to on.
  • Notifications will remain specific to the type of call, so the recipient knows what to expect when they answer.
  • The current tiles will also remain the same, and simply reflect the type of call that was originally placed, regardless of whether cameras were turned on or off part-way through.
  • For cross-client compatibility, we can simply disable the 'turn camera on' icon when receiving a voice call from a client where this is not implemented.

Ideally, this same solution will be adopted on other platforms, but this is not critical.

I will work with @gaelledel next week to review the UX and confirm any UI changes. They should be very minimal.

@SimonBrandner
Copy link
Contributor

SimonBrandner commented Aug 18, 2021

Therefore, on Element web, using the 'voice call' button (telephone icon) would in fact start a video call but simply with both cameras defaulting to off.

To be clear, from the WebRTC perspective we will still start a voice call - audio track only. But that doesn't concern the UI. From the UI perspective it will appear as what is suggested above

@nadonomy
Copy link
Member Author

nadonomy commented Aug 18, 2021

Therefore, on Element web, using the 'voice call' button (telephone icon) would in fact start a video call but simply with both cameras defaulting to off.

The tile could change to a more generic icon and just the text 'Call', rather than 'video' or 'voice' call removing the need to update them mid-call. However keeping the current tiles and simply leaving them in the state that the call was originally placed in might be preferable, particularly so the call recipient knows whether their camera will be on or off when they accept the call. <-- @gaelledel to input.

Interested to see how this proposal would impact push notifications too.

Anecdotally I really like to know if someone is placing an explicit voice or video call before answering. I might be somewhere inappropriate to answer with video, for instance.

@SimonBrandner
Copy link
Contributor

Anecdotally I really like to know if someone is placing an explicit voice or video call before answering. I might be somewhere inappropriate to answer with video, for instance.

The difference should definitely stay visible in the notification 👍

@jakewb-b
Copy link

Therefore, on Element web, using the 'voice call' button (telephone icon) would in fact start a video call but simply with both cameras defaulting to off.
The tile could change to a more generic icon and just the text 'Call', rather than 'video' or 'voice' call removing the need to update them mid-call. However keeping the current tiles and simply leaving them in the state that the call was originally placed in might be preferable, particularly so the call recipient knows whether their camera will be on or off when they accept the call. <-- @gaelledel to input.

Interested to see how this proposal would impact push notifications too.

Anecdotally I really like to know if someone is placing an explicit voice or video call before answering. I might be somewhere inappropriate to answer with video, for instance.

Thanks. The more I think about it, the more I'm leaning towards keeping the current tiles and notifications as they are, so you know what is incoming and what will happen when you press accept.

With this, there is the potential that I start a voice call, then switch my camera on while it is ringing, so the notification for you is still 'voice call' and when you answer you might be surprised to see my video on. However, your video is still off, so I think while this may be a little unexpected it shouldn't be a great concern. If it is, we could just prevent the user from enabling video while the call is ringing.

To be clear, from the WebRTC perspective we will still start a voice call - audio track only. But that doesn't concern the UI

@SimonBrandner - thanks! I updated that line just to make it more clear.

@SimonBrandner
Copy link
Contributor

SimonBrandner commented Aug 18, 2021

With this, there is the potential that I start a voice call, then switch my camera on while it is ringing, so the notification for you is still 'voice call' and when you answer you might be surprised to see my video on. However, your video is still off, so I think while this may be a little unexpected it shouldn't be a great concern. If it is, we could just prevent the user from enabling video while the call is ringing.

Thinking about this again, I think we can't allow you to turn on your camera while ringing, since at that point we don't know if the other side will be able to handle that change

(though from the spec perspective this will probably become mandatory in the future)

@jakewb-b
Copy link

With this, there is the potential that I start a voice call, then switch my camera on while it is ringing, so the notification for you is still 'voice call' and when you answer you might be surprised to see my video on. However, your video is still off, so I think while this may be a little unexpected it shouldn't be a great concern. If it is, we could just prevent the user from enabling video while the call is ringing.

Thinking about this again, I think we can't allow you to turn on your camera while ringing, since at that point we don't know if the other side will be able to handle that change

(though from the spec perspective this will probably become mandatory in the future)

That's fine, I don't think that's essential by any means. I've struck it through for now, and we can re-consider it in the future. I've also updated the comment above to confirm that notifications and tiles will remain specific to the call type. This is also relevant so that if I miss a call and hit the 'call back' button that appears in the tile, it is clear what type of call I will be making.

@SimonBrandner
Copy link
Contributor

This is now a part of the js-sdk, so the only part left here is the UI for this

@viasux
Copy link

viasux commented Jan 15, 2022

Based on my discussion with @SimonBrandner and @dbkr, we propose the following solution:

* A video call can already be 'downgraded' to a voice call essentially just by turning off camera, so there is no urgent requirement for any change. (This does not force the other user to also turn their camera off, but I don't think this is a greatly needed use-case, and arguably not even a desirable one)

* A voice call is essentially just a video call just with both cameras turned off. Given that, this means that it can be easily 'upgraded' to a video call by simply turning the camera on. This requires very little extra functionality or UI.

* Therefore, on Element web, using the 'voice call' button (telephone icon) would (from the user's POV) be the same as starting a video call but simply with both cameras defaulting to off.

* As the user placing a voice call, I can choose to turn my camera on while the call is ringing, but the other party's camera will still default to off. They can turn it on as soon as the call starts if they wish.

* The video call (camera icon) remains in place, and starts a video call with both cameras defaulting to on.

* Notifications will remain specific to the type of call, so the recipient knows what to expect when they answer.

* The current tiles will also remain the same, and simply reflect the type of call that was originally placed, regardless of whether cameras were turned on or off part-way through.

* For cross-client compatibility, we can simply disable the 'turn camera on' icon when receiving a voice call from a client where this is not implemented.

Ideally, this same solution will be adopted on other platforms, but this is not critical.

I will work with @gaelledel next week to review the UX and confirm any UI changes. They should be very minimal.

I have an issue with the fact that joining a video call automatically turns on your camera. If you join a video call in any other program, it's not going to turn on your camera without your permission. What if I just want to watch someone else's video without turning on my own? To do so, I'd have to join the call, cover my camera, and then turn off my camera. Also from a privacy/security perspective, having to expose your video signal (resolution, lighting, etc.) in order to even participate in a video call is not ideal.

@jakewb-b
Copy link

I think it's important to bear in mind that this ticket relates to 1:1 calls, so it's less about 'joining' an existing call, and more 'accepting' an incoming call.
Given that, I don't know if I agree with your point that if I accept a video call in other programs it wouldn't turn my camera on by default. In fact, if I accept an incoming video call in WhatsApp or Facetime, I will start the call with my camera on. That seems logical, as it is made clear that I am accepting a video call. Having to accept the call and then turn my camera on would be poor user experience.

I do agree that there is a case for providing two options when answering a video call: 'answer with video' or 'answer with voice only'. I don't think that's a bad idea, but I'm not sure it's in the scope of this ticket. Even in today's implementation, if someone video calls you your only options are to accept and go straight into a video call, or to decline and call back with audio only, so this ticket doesn't change that either way.

@SimonBrandner
Copy link
Contributor

Just to note: from the technical perspective adding two buttons Answer with video and Answer with just audio should be super simple, if designs were provided

@viasux
Copy link

viasux commented Jan 16, 2022

Just to note: from the technical perspective adding two buttons Answer with video and Answer with just audio should be super simple, if designs were provided

do you accept design contributions?

@SimonBrandner
Copy link
Contributor

Just to note: from the technical perspective adding two buttons Answer with video and Answer with just audio should be super simple, if designs were provided

do you accept design contributions?

I am awaiting the Element design team to get more time on their hands to figure this out

su-ex added a commit to SchildiChat/element-web that referenced this issue Jan 31, 2022
* Tweak room list header menu for when space is active ([\element-hq#7577](matrix-org/matrix-react-sdk#7577)). Fixes element-hq#20601.
* Tweak light hover & active color for bubble layout ([\element-hq#7626](matrix-org/matrix-react-sdk#7626)). Fixes element-hq#19475.
* De-labs Metaspaces ([\element-hq#7613](matrix-org/matrix-react-sdk#7613)).
* De-labs Message Bubbles layout ([\element-hq#7612](matrix-org/matrix-react-sdk#7612)).
* Add customisation point for mxid display ([\element-hq#7595](matrix-org/matrix-react-sdk#7595)).
* Add labs flag for default open right panel ([\element-hq#7618](matrix-org/matrix-react-sdk#7618)). Fixes element-hq#20666.
* Tweak copy for the Sidebar tab in User Settings ([\element-hq#7578](matrix-org/matrix-react-sdk#7578)). Fixes element-hq#20619.
* Make widgets not reload (persistent) between center and top container  ([\element-hq#7575](matrix-org/matrix-react-sdk#7575)). Fixes element-hq#20596. Contributed by @toger5.
* Don't render a bubble around emotes in bubble layout ([\element-hq#7573](matrix-org/matrix-react-sdk#7573)). Fixes element-hq#20617.
* Add ability to switch between voice & video in calls ([\element-hq#7155](matrix-org/matrix-react-sdk#7155)). Fixes element-hq#18619. Contributed by @SimonBrandner.
* Re-renable Share option for location messages ([\element-hq#7596](matrix-org/matrix-react-sdk#7596)).
* Make room ID copyable ([\element-hq#7600](matrix-org/matrix-react-sdk#7600)). Fixes element-hq#20675. Contributed by @SimonBrandner.
* Improve the look of the keyboard settings tab ([\element-hq#7562](matrix-org/matrix-react-sdk#7562)). Contributed by @SimonBrandner.
* Add tooltips to emoji in messages ([\element-hq#7592](matrix-org/matrix-react-sdk#7592)). Fixes element-hq#9911 and element-hq#20661. Contributed by @robintown.
* Improve redundant tooltip on send button in forward dialog ([\element-hq#7594](matrix-org/matrix-react-sdk#7594)). Contributed by @twigleingrid.
* Allow downloads from widgets. ([\element-hq#7502](matrix-org/matrix-react-sdk#7502)). Contributed by @Fox32.
* Parse matrix-schemed URIs ([\element-hq#7453](matrix-org/matrix-react-sdk#7453)).
* Show a tile at beginning of visible history ([\element-hq#5887](matrix-org/matrix-react-sdk#5887)). Fixes element-hq#16818 element-hq#16679 and element-hq#19888. Contributed by @robintown.
* Enable the polls feature ([\element-hq#7581](matrix-org/matrix-react-sdk#7581)).
* Display general marker on non-self location shares ([\element-hq#7574](matrix-org/matrix-react-sdk#7574)).
* Improve/add notifications for location and poll events ([\element-hq#7552](matrix-org/matrix-react-sdk#7552)). Fixes element-hq#20561. Contributed by @SimonBrandner.
* Upgrade linkify to v3.0 ([\element-hq#7282](matrix-org/matrix-react-sdk#7282)). Fixes element-hq#17133 element-hq#16825 and element-hq#5808. Contributed by @Palid.
* Update sidebar icon from Compound ([\element-hq#7572](matrix-org/matrix-react-sdk#7572)). Fixes element-hq#20615.
* Replace home icon with new one ([\element-hq#7571](matrix-org/matrix-react-sdk#7571)). Fixes element-hq#20606.
* Make the `Keyboard Shortcuts` dialog into a settings tab ([\element-hq#7198](matrix-org/matrix-react-sdk#7198)). Fixes element-hq#19866. Contributed by @SimonBrandner.
* Add setting for enabling location sharing ([\element-hq#7547](matrix-org/matrix-react-sdk#7547)).
* Add a developer mode 'view source' button to crashed event tiles ([\element-hq#7537](matrix-org/matrix-react-sdk#7537)).
* Replace `kick` terminology with `Remove from chat` ([\element-hq#7469](matrix-org/matrix-react-sdk#7469)). Fixes element-hq#9547.
* Render events as extensible events (behind labs) ([\element-hq#7462](matrix-org/matrix-react-sdk#7462)).
* Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided ([\element-hq#7450](matrix-org/matrix-react-sdk#7450)). Fixes element-hq#15682. Contributed by @toger5.
* Allow bubble layout in Thread View ([\element-hq#7478](matrix-org/matrix-react-sdk#7478)). Fixes element-hq#20419.
* Make LocationPicker appearance cleaner ([\element-hq#7516](matrix-org/matrix-react-sdk#7516)).
* Limit max-width for bubble layout to 1200px ([\element-hq#7458](matrix-org/matrix-react-sdk#7458)). Fixes element-hq#18072.
* Improve look of call events in bubble layout ([\element-hq#7445](matrix-org/matrix-react-sdk#7445)). Fixes element-hq#20324. Contributed by @SimonBrandner.
* Make files & voice memos in bubble layout match colouring ([\element-hq#7457](matrix-org/matrix-react-sdk#7457)). Fixes element-hq#20326.
* Allow cancelling events whilst they are encrypting ([\element-hq#7483](matrix-org/matrix-react-sdk#7483)). Fixes element-hq#17726.
* [Release] Fix left panel widgets causing app-wide crash ([\element-hq#7660](matrix-org/matrix-react-sdk#7660)).
* Load light theme prior to HTML export to ensure it is present ([\element-hq#7643](matrix-org/matrix-react-sdk#7643)). Fixes element-hq#20276.
* Fix soft-crash when hanging up Jitsi via PIP ([\element-hq#7645](matrix-org/matrix-react-sdk#7645)). Fixes element-hq#20766.
* Fix RightPanelStore assuming isViewingRoom is false on load ([\element-hq#7642](matrix-org/matrix-react-sdk#7642)).
* Correctly handle Room.timeline events which have a nullable `Room` ([\element-hq#7635](matrix-org/matrix-react-sdk#7635)). Fixes matrix-org/element-web-rageshakes#9490.
* Translate keyboard shortcut alternate key names ([\element-hq#7633](matrix-org/matrix-react-sdk#7633)). Fixes element-hq#20739.
* Fix unfocused paste handling and focus return for file uploads ([\element-hq#7625](matrix-org/matrix-react-sdk#7625)).
* Changed MacOS hotkey for GoToHome view. ([\#7631](matrix-org/matrix-react-sdk#7631)). Contributed by @aj-ya.
* Fix issue with the new composer EmojiPart which caused infinite loops ([\element-hq#7629](matrix-org/matrix-react-sdk#7629)). Fixes element-hq#20746.
* Upgrade linkifyjs to fix schemes as domain prefixes ([\element-hq#7628](matrix-org/matrix-react-sdk#7628)). Fixes element-hq#20720.
* Show bubble tile timestamps for bubble layout inside the bubble ([\element-hq#7622](matrix-org/matrix-react-sdk#7622)). Fixes element-hq#20562.
*  Improve taken username warning in registration for when request fails ([\element-hq#7621](matrix-org/matrix-react-sdk#7621)).
* Avoid double dialog after clicking to remove a public room ([\element-hq#7604](matrix-org/matrix-react-sdk#7604)). Fixes element-hq#20681. Contributed by @c-cal.
* Fix space member list right panel state ([\element-hq#7617](matrix-org/matrix-react-sdk#7617)). Fixes element-hq#20716.
* Fall back to legacy analytics for guest users ([\#7616](matrix-org/matrix-react-sdk#7616)).
* Always emit a space filter update when the space is actually changed ([\element-hq#7611](matrix-org/matrix-react-sdk#7611)). Fixes element-hq#20664.
* Enlarge emoji in composer ([\element-hq#7602](matrix-org/matrix-react-sdk#7602)). Fixes element-hq#20665 element-hq#15635 and element-hq#20688. Contributed by @robintown.
* Disable location sharing button on Desktop ([\element-hq#7590](matrix-org/matrix-react-sdk#7590)).
* Make pills more natural to navigate around ([\element-hq#7607](matrix-org/matrix-react-sdk#7607)). Fixes element-hq#20678. Contributed by @robintown.
* Fix excessive padding on inline images ([\element-hq#7605](matrix-org/matrix-react-sdk#7605)). Contributed by @robintown.
* Prevent pills from being split by formatting actions ([\element-hq#7606](matrix-org/matrix-react-sdk#7606)). Contributed by @robintown.
* Fix translation of "powerText" ([\element-hq#7603](matrix-org/matrix-react-sdk#7603)). Contributed by @c-cal.
* Unhide display names when switching back to modern layout ([\element-hq#7601](matrix-org/matrix-react-sdk#7601)). Fixes element-hq#20676. Contributed by @robintown.
* Fix space member list not opening ([\element-hq#7609](matrix-org/matrix-react-sdk#7609)). Fixes element-hq#20679. Contributed by @SimonBrandner.
* Fix translation for the "Add room" tooltip ([\element-hq#7532](matrix-org/matrix-react-sdk#7532)). Contributed by @c-cal.
* Make the close button of the location share dialog visible in high-contrast theme ([\element-hq#7597](matrix-org/matrix-react-sdk#7597)).
* Cancel pending events in virtual room when call placed ([\element-hq#7583](matrix-org/matrix-react-sdk#7583)). Fixes element-hq#17594.
* Fix alignment of unread badge in thread list ([\element-hq#7582](matrix-org/matrix-react-sdk#7582)). Fixes element-hq#20643.
* Fix left positioned tooltips being wrong and offset by fixed value ([\element-hq#7551](matrix-org/matrix-react-sdk#7551)).
* Fix MAB overlapping or overflowing in bubbles layout and threads regressions ([\element-hq#7569](matrix-org/matrix-react-sdk#7569)). Fixes element-hq#20403 and element-hq#20404.
* Fix wrong icon being used for appearance tab in space preferences dialog ([\element-hq#7570](matrix-org/matrix-react-sdk#7570)). Fixes element-hq#20608.
* Fix `/jumptodate` using wrong MSC feature flag ([\element-hq#7563](matrix-org/matrix-react-sdk#7563)).
* Ensure maps show up in replies and threads, by creating unique IDs ([\element-hq#7568](matrix-org/matrix-react-sdk#7568)).
* Differentiate between hover and roving focus in spotlight dialog ([\element-hq#7564](matrix-org/matrix-react-sdk#7564)). Fixes element-hq#20597.
* Fix timeline jumping issues related to bubble layout ([\element-hq#7529](matrix-org/matrix-react-sdk#7529)). Fixes element-hq#20302.
* Start a conference in a room with 2 people + invitee rather than a 1:1 call ([\element-hq#7557](matrix-org/matrix-react-sdk#7557)). Fixes element-hq#1202. Contributed by @SimonBrandner.
* Wait for initial profile load before displaying widget ([\element-hq#7556](matrix-org/matrix-react-sdk#7556)).
* Make widgets and calls span across the whole room width when using bubble layout ([\element-hq#7553](matrix-org/matrix-react-sdk#7553)). Fixes element-hq#20560. Contributed by @SimonBrandner.
* Always show right panel after setting a card ([\element-hq#7544](matrix-org/matrix-react-sdk#7544)). Contributed by @toger5.
* Support deserialising HR tags for editing ([\element-hq#7543](matrix-org/matrix-react-sdk#7543)). Fixes element-hq#20553.
* Refresh ThreadView after React state has been updated ([\element-hq#7539](matrix-org/matrix-react-sdk#7539)). Fixes element-hq#20549.
* Set initial zoom level to 1 to make zooming to location faster ([\element-hq#7541](matrix-org/matrix-react-sdk#7541)).
* truncate room name on pip header ([\#7538](matrix-org/matrix-react-sdk#7538)).
* Prevent enter to send edit weirdness when no change has been made ([\element-hq#7522](matrix-org/matrix-react-sdk#7522)). Fixes element-hq#20507.
* Allow using room pills in slash commands ([\element-hq#7513](matrix-org/matrix-react-sdk#7513)). Fixes element-hq#20343.
su-ex added a commit to SchildiChat/element-desktop that referenced this issue Jan 31, 2022
* Enable posthog on app.element.io ([\#20539](element-hq/element-web#20539)).
* Tweak room list header menu for when space is active ([\#7577](matrix-org/matrix-react-sdk#7577)). Fixes element-hq/element-web#20601.
* Tweak light hover & active color for bubble layout ([\#7626](matrix-org/matrix-react-sdk#7626)). Fixes element-hq/element-web#19475.
* De-labs Metaspaces ([\#7613](matrix-org/matrix-react-sdk#7613)).
* De-labs Message Bubbles layout ([\#7612](matrix-org/matrix-react-sdk#7612)).
* Add customisation point for mxid display ([\#7595](matrix-org/matrix-react-sdk#7595)).
* Add labs flag for default open right panel ([\#7618](matrix-org/matrix-react-sdk#7618)). Fixes element-hq/element-web#20666.
* Tweak copy for the Sidebar tab in User Settings ([\#7578](matrix-org/matrix-react-sdk#7578)). Fixes element-hq/element-web#20619.
* Make widgets not reload (persistent) between center and top container  ([\#7575](matrix-org/matrix-react-sdk#7575)). Fixes element-hq/element-web#20596. Contributed by @toger5.
* Don't render a bubble around emotes in bubble layout ([\#7573](matrix-org/matrix-react-sdk#7573)). Fixes element-hq/element-web#20617.
* Add ability to switch between voice & video in calls ([\#7155](matrix-org/matrix-react-sdk#7155)). Fixes element-hq/element-web#18619. Contributed by @SimonBrandner.
* Re-renable Share option for location messages ([\#7596](matrix-org/matrix-react-sdk#7596)).
* Make room ID copyable ([\#7600](matrix-org/matrix-react-sdk#7600)). Fixes element-hq/element-web#20675. Contributed by @SimonBrandner.
* Improve the look of the keyboard settings tab ([\#7562](matrix-org/matrix-react-sdk#7562)). Contributed by @SimonBrandner.
* Add tooltips to emoji in messages ([\#7592](matrix-org/matrix-react-sdk#7592)). Fixes element-hq/element-web#9911 and element-hq/element-web#20661. Contributed by @robintown.
* Improve redundant tooltip on send button in forward dialog ([\#7594](matrix-org/matrix-react-sdk#7594)). Contributed by @twigleingrid.
* Allow downloads from widgets. ([\#7502](matrix-org/matrix-react-sdk#7502)). Contributed by @Fox32.
* Parse matrix-schemed URIs ([\#7453](matrix-org/matrix-react-sdk#7453)).
* Show a tile at beginning of visible history ([\#5887](matrix-org/matrix-react-sdk#5887)). Fixes element-hq/element-web#16818 element-hq/element-web#16679 and element-hq/element-web#19888. Contributed by @robintown.
* Enable the polls feature ([\#7581](matrix-org/matrix-react-sdk#7581)).
* Display general marker on non-self location shares ([\#7574](matrix-org/matrix-react-sdk#7574)).
* Improve/add notifications for location and poll events ([\#7552](matrix-org/matrix-react-sdk#7552)). Fixes element-hq/element-web#20561. Contributed by @SimonBrandner.
* Upgrade linkify to v3.0 ([\#7282](matrix-org/matrix-react-sdk#7282)). Fixes element-hq/element-web#17133 element-hq/element-web#16825 and element-hq/element-web#5808. Contributed by @Palid.
* Update sidebar icon from Compound ([\#7572](matrix-org/matrix-react-sdk#7572)). Fixes element-hq/element-web#20615.
* Replace home icon with new one ([\#7571](matrix-org/matrix-react-sdk#7571)). Fixes element-hq/element-web#20606.
* Make the `Keyboard Shortcuts` dialog into a settings tab ([\#7198](matrix-org/matrix-react-sdk#7198)). Fixes element-hq/element-web#19866. Contributed by @SimonBrandner.
* Add setting for enabling location sharing ([\#7547](matrix-org/matrix-react-sdk#7547)).
* Add a developer mode 'view source' button to crashed event tiles ([\#7537](matrix-org/matrix-react-sdk#7537)).
* Replace `kick` terminology with `Remove from chat` ([\#7469](matrix-org/matrix-react-sdk#7469)). Fixes element-hq/element-web#9547.
* Render events as extensible events (behind labs) ([\#7462](matrix-org/matrix-react-sdk#7462)).
* Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided ([\#7450](matrix-org/matrix-react-sdk#7450)). Fixes element-hq/element-web#15682. Contributed by @toger5.
* Allow bubble layout in Thread View ([\#7478](matrix-org/matrix-react-sdk#7478)). Fixes element-hq/element-web#20419.
* Make LocationPicker appearance cleaner ([\#7516](matrix-org/matrix-react-sdk#7516)).
* Limit max-width for bubble layout to 1200px ([\#7458](matrix-org/matrix-react-sdk#7458)). Fixes element-hq/element-web#18072.
* Improve look of call events in bubble layout ([\#7445](matrix-org/matrix-react-sdk#7445)). Fixes element-hq/element-web#20324. Contributed by @SimonBrandner.
* Make files & voice memos in bubble layout match colouring ([\#7457](matrix-org/matrix-react-sdk#7457)). Fixes element-hq/element-web#20326.
* Allow cancelling events whilst they are encrypting ([\#7483](matrix-org/matrix-react-sdk#7483)). Fixes element-hq/element-web#17726.
* [Release] Fix left panel widgets causing app-wide crash ([\#7660](matrix-org/matrix-react-sdk#7660)).
* Load light theme prior to HTML export to ensure it is present ([\#7643](matrix-org/matrix-react-sdk#7643)). Fixes element-hq/element-web#20276.
* Fix soft-crash when hanging up Jitsi via PIP ([\#7645](matrix-org/matrix-react-sdk#7645)). Fixes element-hq/element-web#20766.
* Fix RightPanelStore assuming isViewingRoom is false on load ([\#7642](matrix-org/matrix-react-sdk#7642)).
* Correctly handle Room.timeline events which have a nullable `Room` ([\#7635](matrix-org/matrix-react-sdk#7635)). Fixes matrix-org/element-web-rageshakes#9490.
* Translate keyboard shortcut alternate key names ([\#7633](matrix-org/matrix-react-sdk#7633)). Fixes element-hq/element-web#20739.
* Fix unfocused paste handling and focus return for file uploads ([\#7625](matrix-org/matrix-react-sdk#7625)).
* Changed MacOS hotkey for GoToHome view. ([\#7631](matrix-org/matrix-react-sdk#7631)). Contributed by @aj-ya.
* Fix issue with the new composer EmojiPart which caused infinite loops ([\#7629](matrix-org/matrix-react-sdk#7629)). Fixes element-hq/element-web#20746.
* Upgrade linkifyjs to fix schemes as domain prefixes ([\#7628](matrix-org/matrix-react-sdk#7628)). Fixes element-hq/element-web#20720.
* Show bubble tile timestamps for bubble layout inside the bubble ([\#7622](matrix-org/matrix-react-sdk#7622)). Fixes element-hq/element-web#20562.
*  Improve taken username warning in registration for when request fails ([\#7621](matrix-org/matrix-react-sdk#7621)).
* Avoid double dialog after clicking to remove a public room ([\#7604](matrix-org/matrix-react-sdk#7604)). Fixes element-hq/element-web#20681. Contributed by @c-cal.
* Fix space member list right panel state ([\#7617](matrix-org/matrix-react-sdk#7617)). Fixes element-hq/element-web#20716.
* Fall back to legacy analytics for guest users ([\#7616](matrix-org/matrix-react-sdk#7616)).
* Always emit a space filter update when the space is actually changed ([\#7611](matrix-org/matrix-react-sdk#7611)). Fixes element-hq/element-web#20664.
* Enlarge emoji in composer ([\#7602](matrix-org/matrix-react-sdk#7602)). Fixes element-hq/element-web#20665 element-hq/element-web#15635 and element-hq/element-web#20688. Contributed by @robintown.
* Disable location sharing button on Desktop ([\#7590](matrix-org/matrix-react-sdk#7590)).
* Make pills more natural to navigate around ([\#7607](matrix-org/matrix-react-sdk#7607)). Fixes element-hq/element-web#20678. Contributed by @robintown.
* Fix excessive padding on inline images ([\#7605](matrix-org/matrix-react-sdk#7605)). Contributed by @robintown.
* Prevent pills from being split by formatting actions ([\#7606](matrix-org/matrix-react-sdk#7606)). Contributed by @robintown.
* Fix translation of "powerText" ([\#7603](matrix-org/matrix-react-sdk#7603)). Contributed by @c-cal.
* Unhide display names when switching back to modern layout ([\#7601](matrix-org/matrix-react-sdk#7601)). Fixes element-hq/element-web#20676. Contributed by @robintown.
* Fix space member list not opening ([\#7609](matrix-org/matrix-react-sdk#7609)). Fixes element-hq/element-web#20679. Contributed by @SimonBrandner.
* Fix translation for the "Add room" tooltip ([\#7532](matrix-org/matrix-react-sdk#7532)). Contributed by @c-cal.
* Make the close button of the location share dialog visible in high-contrast theme ([\#7597](matrix-org/matrix-react-sdk#7597)).
* Cancel pending events in virtual room when call placed ([\#7583](matrix-org/matrix-react-sdk#7583)). Fixes element-hq/element-web#17594.
* Fix alignment of unread badge in thread list ([\#7582](matrix-org/matrix-react-sdk#7582)). Fixes element-hq/element-web#20643.
* Fix left positioned tooltips being wrong and offset by fixed value ([\#7551](matrix-org/matrix-react-sdk#7551)).
* Fix MAB overlapping or overflowing in bubbles layout and threads regressions ([\#7569](matrix-org/matrix-react-sdk#7569)). Fixes element-hq/element-web#20403 and element-hq/element-web#20404.
* Fix wrong icon being used for appearance tab in space preferences dialog ([\#7570](matrix-org/matrix-react-sdk#7570)). Fixes element-hq/element-web#20608.
* Fix `/jumptodate` using wrong MSC feature flag ([\#7563](matrix-org/matrix-react-sdk#7563)).
* Ensure maps show up in replies and threads, by creating unique IDs ([\#7568](matrix-org/matrix-react-sdk#7568)).
* Differentiate between hover and roving focus in spotlight dialog ([\#7564](matrix-org/matrix-react-sdk#7564)). Fixes element-hq/element-web#20597.
* Fix timeline jumping issues related to bubble layout ([\#7529](matrix-org/matrix-react-sdk#7529)). Fixes element-hq/element-web#20302.
* Start a conference in a room with 2 people + invitee rather than a 1:1 call ([\#7557](matrix-org/matrix-react-sdk#7557)). Fixes element-hq/element-web#1202. Contributed by @SimonBrandner.
* Wait for initial profile load before displaying widget ([\#7556](matrix-org/matrix-react-sdk#7556)).
* Make widgets and calls span across the whole room width when using bubble layout ([\#7553](matrix-org/matrix-react-sdk#7553)). Fixes element-hq/element-web#20560. Contributed by @SimonBrandner.
* Always show right panel after setting a card ([\#7544](matrix-org/matrix-react-sdk#7544)). Contributed by @toger5.
* Support deserialising HR tags for editing ([\#7543](matrix-org/matrix-react-sdk#7543)). Fixes element-hq/element-web#20553.
* Refresh ThreadView after React state has been updated ([\#7539](matrix-org/matrix-react-sdk#7539)). Fixes element-hq/element-web#20549.
* Set initial zoom level to 1 to make zooming to location faster ([\#7541](matrix-org/matrix-react-sdk#7541)).
* truncate room name on pip header ([\#7538](matrix-org/matrix-react-sdk#7538)).
* Prevent enter to send edit weirdness when no change has been made ([\#7522](matrix-org/matrix-react-sdk#7522)). Fixes element-hq/element-web#20507.
* Allow using room pills in slash commands ([\#7513](matrix-org/matrix-react-sdk#7513)). Fixes element-hq/element-web#20343.
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this issue Jan 31, 2022
* Tweak room list header menu for when space is active ([\matrix-org#7577](matrix-org#7577)). Fixes element-hq/element-web#20601.
* Tweak light hover & active color for bubble layout ([\matrix-org#7626](matrix-org#7626)). Fixes element-hq/element-web#19475.
* De-labs Metaspaces ([\matrix-org#7613](matrix-org#7613)).
* De-labs Message Bubbles layout ([\matrix-org#7612](matrix-org#7612)).
* Add customisation point for mxid display ([\matrix-org#7595](matrix-org#7595)).
* Add labs flag for default open right panel ([\matrix-org#7618](matrix-org#7618)). Fixes element-hq/element-web#20666.
* Tweak copy for the Sidebar tab in User Settings ([\matrix-org#7578](matrix-org#7578)). Fixes element-hq/element-web#20619.
* Make widgets not reload (persistent) between center and top container  ([\matrix-org#7575](matrix-org#7575)). Fixes element-hq/element-web#20596. Contributed by @toger5.
* Don't render a bubble around emotes in bubble layout ([\matrix-org#7573](matrix-org#7573)). Fixes element-hq/element-web#20617.
* Add ability to switch between voice & video in calls ([\matrix-org#7155](matrix-org#7155)). Fixes element-hq/element-web#18619. Contributed by @SimonBrandner.
* Re-renable Share option for location messages ([\matrix-org#7596](matrix-org#7596)).
* Make room ID copyable ([\matrix-org#7600](matrix-org#7600)). Fixes element-hq/element-web#20675. Contributed by @SimonBrandner.
* Improve the look of the keyboard settings tab ([\matrix-org#7562](matrix-org#7562)). Contributed by @SimonBrandner.
* Add tooltips to emoji in messages ([\matrix-org#7592](matrix-org#7592)). Fixes element-hq/element-web#9911 and element-hq/element-web#20661. Contributed by @robintown.
* Improve redundant tooltip on send button in forward dialog ([\matrix-org#7594](matrix-org#7594)). Contributed by @twigleingrid.
* Allow downloads from widgets. ([\matrix-org#7502](matrix-org#7502)). Contributed by @Fox32.
* Parse matrix-schemed URIs ([\matrix-org#7453](matrix-org#7453)).
* Show a tile at beginning of visible history ([\matrix-org#5887](matrix-org#5887)). Fixes element-hq/element-web#16818 element-hq/element-web#16679 and element-hq/element-web#19888. Contributed by @robintown.
* Enable the polls feature ([\matrix-org#7581](matrix-org#7581)).
* Display general marker on non-self location shares ([\matrix-org#7574](matrix-org#7574)).
* Improve/add notifications for location and poll events ([\matrix-org#7552](matrix-org#7552)). Fixes element-hq/element-web#20561. Contributed by @SimonBrandner.
* Upgrade linkify to v3.0 ([\matrix-org#7282](matrix-org#7282)). Fixes element-hq/element-web#17133 element-hq/element-web#16825 and element-hq/element-web#5808. Contributed by @Palid.
* Update sidebar icon from Compound ([\matrix-org#7572](matrix-org#7572)). Fixes element-hq/element-web#20615.
* Replace home icon with new one ([\matrix-org#7571](matrix-org#7571)). Fixes element-hq/element-web#20606.
* Make the `Keyboard Shortcuts` dialog into a settings tab ([\matrix-org#7198](matrix-org#7198)). Fixes element-hq/element-web#19866. Contributed by @SimonBrandner.
* Add setting for enabling location sharing ([\matrix-org#7547](matrix-org#7547)).
* Add a developer mode 'view source' button to crashed event tiles ([\matrix-org#7537](matrix-org#7537)).
* Replace `kick` terminology with `Remove from chat` ([\matrix-org#7469](matrix-org#7469)). Fixes element-hq/element-web#9547.
* Render events as extensible events (behind labs) ([\matrix-org#7462](matrix-org#7462)).
* Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided ([\matrix-org#7450](matrix-org#7450)). Fixes element-hq/element-web#15682. Contributed by @toger5.
* Allow bubble layout in Thread View ([\matrix-org#7478](matrix-org#7478)). Fixes element-hq/element-web#20419.
* Make LocationPicker appearance cleaner ([\matrix-org#7516](matrix-org#7516)).
* Limit max-width for bubble layout to 1200px ([\matrix-org#7458](matrix-org#7458)). Fixes element-hq/element-web#18072.
* Improve look of call events in bubble layout ([\matrix-org#7445](matrix-org#7445)). Fixes element-hq/element-web#20324. Contributed by @SimonBrandner.
* Make files & voice memos in bubble layout match colouring ([\matrix-org#7457](matrix-org#7457)). Fixes element-hq/element-web#20326.
* Allow cancelling events whilst they are encrypting ([\matrix-org#7483](matrix-org#7483)). Fixes element-hq/element-web#17726.
* [Release] Fix left panel widgets causing app-wide crash ([\matrix-org#7660](matrix-org#7660)).
* Load light theme prior to HTML export to ensure it is present ([\matrix-org#7643](matrix-org#7643)). Fixes element-hq/element-web#20276.
* Fix soft-crash when hanging up Jitsi via PIP ([\matrix-org#7645](matrix-org#7645)). Fixes element-hq/element-web#20766.
* Fix RightPanelStore assuming isViewingRoom is false on load ([\matrix-org#7642](matrix-org#7642)).
* Correctly handle Room.timeline events which have a nullable `Room` ([\matrix-org#7635](matrix-org#7635)). Fixes matrix-org/element-web-rageshakes#9490.
* Translate keyboard shortcut alternate key names ([\matrix-org#7633](matrix-org#7633)). Fixes element-hq/element-web#20739.
* Fix unfocused paste handling and focus return for file uploads ([\matrix-org#7625](matrix-org#7625)).
* Changed MacOS hotkey for GoToHome view. ([\matrix-org#7631](matrix-org#7631)). Contributed by @aj-ya.
* Fix issue with the new composer EmojiPart which caused infinite loops ([\matrix-org#7629](matrix-org#7629)). Fixes element-hq/element-web#20746.
* Upgrade linkifyjs to fix schemes as domain prefixes ([\matrix-org#7628](matrix-org#7628)). Fixes element-hq/element-web#20720.
* Show bubble tile timestamps for bubble layout inside the bubble ([\matrix-org#7622](matrix-org#7622)). Fixes element-hq/element-web#20562.
*  Improve taken username warning in registration for when request fails ([\matrix-org#7621](matrix-org#7621)).
* Avoid double dialog after clicking to remove a public room ([\matrix-org#7604](matrix-org#7604)). Fixes element-hq/element-web#20681. Contributed by @c-cal.
* Fix space member list right panel state ([\matrix-org#7617](matrix-org#7617)). Fixes element-hq/element-web#20716.
* Fall back to legacy analytics for guest users ([\matrix-org#7616](matrix-org#7616)).
* Always emit a space filter update when the space is actually changed ([\matrix-org#7611](matrix-org#7611)). Fixes element-hq/element-web#20664.
* Enlarge emoji in composer ([\matrix-org#7602](matrix-org#7602)). Fixes element-hq/element-web#20665 element-hq/element-web#15635 and element-hq/element-web#20688. Contributed by @robintown.
* Disable location sharing button on Desktop ([\matrix-org#7590](matrix-org#7590)).
* Make pills more natural to navigate around ([\matrix-org#7607](matrix-org#7607)). Fixes element-hq/element-web#20678. Contributed by @robintown.
* Fix excessive padding on inline images ([\matrix-org#7605](matrix-org#7605)). Contributed by @robintown.
* Prevent pills from being split by formatting actions ([\matrix-org#7606](matrix-org#7606)). Contributed by @robintown.
* Fix translation of "powerText" ([\matrix-org#7603](matrix-org#7603)). Contributed by @c-cal.
* Unhide display names when switching back to modern layout ([\matrix-org#7601](matrix-org#7601)). Fixes element-hq/element-web#20676. Contributed by @robintown.
* Fix space member list not opening ([\matrix-org#7609](matrix-org#7609)). Fixes element-hq/element-web#20679. Contributed by @SimonBrandner.
* Fix translation for the "Add room" tooltip ([\matrix-org#7532](matrix-org#7532)). Contributed by @c-cal.
* Make the close button of the location share dialog visible in high-contrast theme ([\matrix-org#7597](matrix-org#7597)).
* Cancel pending events in virtual room when call placed ([\matrix-org#7583](matrix-org#7583)). Fixes element-hq/element-web#17594.
* Fix alignment of unread badge in thread list ([\matrix-org#7582](matrix-org#7582)). Fixes element-hq/element-web#20643.
* Fix left positioned tooltips being wrong and offset by fixed value ([\matrix-org#7551](matrix-org#7551)).
* Fix MAB overlapping or overflowing in bubbles layout and threads regressions ([\matrix-org#7569](matrix-org#7569)). Fixes element-hq/element-web#20403 and element-hq/element-web#20404.
* Fix wrong icon being used for appearance tab in space preferences dialog ([\matrix-org#7570](matrix-org#7570)). Fixes element-hq/element-web#20608.
* Fix `/jumptodate` using wrong MSC feature flag ([\matrix-org#7563](matrix-org#7563)).
* Ensure maps show up in replies and threads, by creating unique IDs ([\matrix-org#7568](matrix-org#7568)).
* Differentiate between hover and roving focus in spotlight dialog ([\matrix-org#7564](matrix-org#7564)). Fixes element-hq/element-web#20597.
* Fix timeline jumping issues related to bubble layout ([\matrix-org#7529](matrix-org#7529)). Fixes element-hq/element-web#20302.
* Start a conference in a room with 2 people + invitee rather than a 1:1 call ([\matrix-org#7557](matrix-org#7557)). Fixes element-hq/element-web#1202. Contributed by @SimonBrandner.
* Wait for initial profile load before displaying widget ([\matrix-org#7556](matrix-org#7556)).
* Make widgets and calls span across the whole room width when using bubble layout ([\matrix-org#7553](matrix-org#7553)). Fixes element-hq/element-web#20560. Contributed by @SimonBrandner.
* Always show right panel after setting a card ([\matrix-org#7544](matrix-org#7544)). Contributed by @toger5.
* Support deserialising HR tags for editing ([\matrix-org#7543](matrix-org#7543)). Fixes element-hq/element-web#20553.
* Refresh ThreadView after React state has been updated ([\matrix-org#7539](matrix-org#7539)). Fixes element-hq/element-web#20549.
* Set initial zoom level to 1 to make zooming to location faster ([\matrix-org#7541](matrix-org#7541)).
* truncate room name on pip header ([\matrix-org#7538](matrix-org#7538)).
* Prevent enter to send edit weirdness when no change has been made ([\matrix-org#7522](matrix-org#7522)). Fixes element-hq/element-web#20507.
* Allow using room pills in slash commands ([\matrix-org#7513](matrix-org#7513)). Fixes element-hq/element-web#20343.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-VoIP O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience T-Enhancement X-Needs-Design
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants