Skip to content

Fix Video Camera auto enabling on Electron (and Tauri) clients using Sable Call.#485

Merged
7w1 merged 5 commits intoSableClient:devfrom
Rawrington:dev
Mar 23, 2026
Merged

Fix Video Camera auto enabling on Electron (and Tauri) clients using Sable Call.#485
7w1 merged 5 commits intoSableClient:devfrom
Rawrington:dev

Conversation

@Rawrington
Copy link
Copy Markdown
Contributor

@Rawrington Rawrington commented Mar 23, 2026

Description

Fixes #285 for good. Element Call (and thus Sable Call) use a callIntent paramter derived from the intent parameter to decide if the Camera should be requested. The Camera was being requested on every call, and thus auto approved on Electron clients (and Tauri clients). This affected both starting a room call and joining a VC room. This is likely due to the fact that in Element they are 'Video Rooms'. This change simply uses JoinExistingDMVoice which sets the correct parameters to join a VC room OR call from the room header. The StartCall and JoinExisting intents function the same on Sable Call's end, this can be changed if they start to diverge in future updates of course though.

I have tested this change in both scenarios of calling with multiple people and it has functioned as intended.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings

AI disclosure:

  • Partially AI assisted (clarify which code was AI assisted and briefly explain what it does).
  • Fully AI generated (explain what all the generated code does in moderate detail).

@Rawrington Rawrington requested review from 7w1 and hazre as code owners March 23, 2026 00:10
@henk717
Copy link
Copy Markdown
Contributor

henk717 commented Mar 23, 2026

Works for me on tauri where most solutions fail.
Unrelated to this i'd like to see that change that was discussed on discord in the past where it won't remember the camera state when its not obvious. For example joining from a room list you don't see the current camera button state and can end up joining with a camera enabled without noticing.

@Rawrington
Copy link
Copy Markdown
Contributor Author

Works for me on tauri where most solutions fail. Unrelated to this i'd like to see that change that was discussed on discord in the past where it won't remember the camera state when its not obvious. For example joining from a room list you don't see the current camera button state and can end up joining with a camera enabled without noticing.

that would definitely be a seperate solution. Since with this change Sable Call respects the video on/off of the user on joining. It could be worth always forcing video off after leaving a call so it's more inline with discord but I didn't feel that was in scope of a small change like this

@7w1 7w1 added this pull request to the merge queue Mar 23, 2026
Merged via the queue into SableClient:dev with commit 0235d15 Mar 23, 2026
9 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Mar 24, 2026
> [!IMPORTANT]
> Merging this PR will create a new release.

## Features

* `Ctrl + K` search menu is now context aware and lists the current
space's rooms at the top.
([#499](#499) by @7w1)
* Add knocking support when attempting to join a room from the
directory, an address, a room mention, or space hierarchy, as well as
text command support for knocking. Also improves rendering for knock
notifications in rooms.
([#470](#470) by @polyjitter)
* Add Android/iOS PWA-specific icon variants.
([#473](#473) by @Septicity)
* Add support for youtube embeds.
([#497](#497) by
@thundertheidiot)
* Add sidebar three dot menu for quick access to related settings
([#474](#474) by @wolterkam)
* Replies that mention the OP are now indicated by the OP username being
prefixed with @ ([#465](#465)
by @mini-bomba)
* Made pin events show a tally of the messages that are pinned.
([#462](#462) by @nushea)

### Improve multiline composer and voice recording
([#476](#476) by @hazre)

- Add a multiline composer layout for longer drafts.
- Keep the voice recorder between composer actions in multiline mode.
- Show the recorder inside the composer on mobile while recording.
- Prevent the composer from expanding when recording starts.
- Make the recorder footer and waveform fit better across screen sizes.
- Let interrupted mobile recording gestures still stop correctly.
- Stabilize wrap detection around edge cases like narrow widths and
trailing spaces.

## Fixes

* Added error messages provided by homeserver to unknown login errors.
([#496](#496) by @7w1)
* Ensure new updates always reload the page properly.
([#502](#502) by @7w1)
* Removed the blocked users moved notice from notifications setting
page. ([#490](#490) by @7w1)
* Fix recieved encrypted message per-message profiles not triggering
rerenders. ([#464](#464) by
@7w1)
* Add `.m4a` files as a recognized audio type.
([#472](#472) by @henk717)
* Fix messages disappearing from rooms after reconnects and timeline
resets. ([#478](#478) by
@hazre)
* Fix Camera being enabled by default even when the client has it off
pre joining in browsers that permit the video (Electron/Tauri as
examples). ([#485](#485) by
@Rawrington)
* Fix cinny-dark-theme link colors being too dark
([#469](#469) by @Elec3137)
* Fix "Default" menu item height in room notification switcher.
([#466](#466) by @polyjitter)
* fix the issue of empty displaynames of a persona, causing an empty
fallback message, it will now ommit the fallback, if the name is empty
or only consists of whitespace
([#495](#495) by @dozro)
* Fixed an Android issue where recording a voice message with headphones
could leave audio stuck in low-quality mode until the app was restarted.
([#476](#476) by @hazre)
* Fixed voice message scrubbing/seeking on Firefox by switching the
recorder from WebM (no seek index) to Ogg/Opus.
([#476](#476) by @hazre)
* fixes touchpad zooming behaviour
([#481](#481) by
@integralfunction)
* Fixes width mismatch for the call chat view.
([#460](#460) by @polyjitter)
* Fix messages sent from sable showing wrong on other client(s)
([#468](#468) by @nushea)

## Documentation

* Updated PR template and CONTRIBUTING.md to add AI disclosure
requirement. ([#456](#456) by
@Rosy-iso)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Camera is on by default 💀

3 participants