Skip to content

feat: add screenshare audio with muting capabilities#1055

Draft
Dadadah wants to merge 4 commits intostoatchat:mainfrom
Dadadah:feat/screenshareaudio
Draft

feat: add screenshare audio with muting capabilities#1055
Dadadah wants to merge 4 commits intostoatchat:mainfrom
Dadadah:feat/screenshareaudio

Conversation

@Dadadah
Copy link
Copy Markdown
Member

@Dadadah Dadadah commented Mar 24, 2026

This PR adds audio to the screenshare functionality of Stoat. It also adds the ability to mute and change volume of streams. Audio is defaultly muted on screen shares to prevent surprises.

Requires #1124

The stream volume data is stored in the voice state. This was an opinionated decision as I do not think that stream volume should persist through refreshes. It is easy to change it to use the stored settings states instead if the stream volume should remain through refreshes.

Stream volume and mutes are stored in the voice data store state so that restreams keep volume levels.

Closes #1070

@Dadadah Dadadah requested review from a team as code owners March 24, 2026 03:14
@Pecacheu
Copy link
Copy Markdown
Contributor

I'm 50/50 on if stream/user volume should persist through refreshes, but I do recall one of the other maintainers saying that feature should be added before. No clue if there's any consensus on that, though.

@Dadadah Dadadah marked this pull request as draft March 29, 2026 03:43
@Dadadah
Copy link
Copy Markdown
Member Author

Dadadah commented Mar 29, 2026

Setting as draft as it seems to have broken on wayland.

@gabrielfordevelopment
Copy link
Copy Markdown
Contributor

The stream volume data is stored in the voice state

I think it would be better to persist the stream audio settings. In scenarios like a quick reconnect or a page refresh, having to readjust the volume and mute state every time is quite frustrating. From a UX perspective, it's much cleaner to remember the user's last choice; they can always manually change it later if needed.

If we want to make it more advanced in the future, we could offer a setting to toggle between session-only and global persistence. But at the very least, a simple refresh shouldn't wipe out the user's manual adjustments.

@Dadadah
Copy link
Copy Markdown
Member Author

Dadadah commented Mar 29, 2026

Wayland support for audio screen sharing on the desktop client is a can of worms so I'm gonna mark this as ready for review and when I merge the desktop pr I'll add a TODO for wayland support and get to it in the coming weeks.

@Dadadah Dadadah marked this pull request as ready for review March 29, 2026 22:06
@Dadadah Dadadah marked this pull request as draft April 4, 2026 18:21
@Dadadah Dadadah force-pushed the feat/screenshareaudio branch 3 times, most recently from 8ccdc3a to 71f3ab0 Compare April 12, 2026 16:55
@Dadadah Dadadah force-pushed the feat/screenshareaudio branch from 71f3ab0 to 9724f95 Compare April 19, 2026 17:14
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
@Dadadah Dadadah force-pushed the feat/screenshareaudio branch from 9724f95 to 680276a Compare April 19, 2026 21:17
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
@Dadadah Dadadah force-pushed the feat/screenshareaudio branch from 680276a to 45907ea Compare April 19, 2026 21:30
Dadadah added 2 commits April 19, 2026 16:10
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
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.

feat: Add sound to screen sharing

3 participants