> ## Documentation Index
> Fetch the complete documentation index at: https://cordial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cordial 0.15.0 — voice chat, and browser Play picks your account

## Voice chat reaches the network

Pressing the microphone button in a voice-enabled game now gets past the point
it used to stop at. Two things were missing. Roblox's permission answer has to
be delivered twice — published as a protocol response *and* resolved through the
async callback — and microphone capture has to be callback-driven rather than
waiting on blocking reads.

It has since been confirmed working in a real game on this release's own build,
after these notes were first written — joining a voice-enabled place and using
that game's Connect control, with the microphone control appearing in the
in-game bar. The contributor who wrote the fix had confirmed audible
transmission earlier on their own combined build; this is the same thing on the
bytes that shipped.

What is still narrow: one machine, one distribution, and the current default
microphone. Other capture devices are untested.
`CORDIAL_PERMISSIONS_DUAL_RESPONSE=0` restores the previous behaviour if the new
delivery causes trouble, and an issue with your log is worth filing if it does.

This closes [#47](https://github.com/luohoa97/cordial/issues/47), which holds
the investigation and the list of explanations that were ruled out along the way.

## Clicking Play in the browser opens the right account

Clicking Play on Roblox's website now checks which account the browser is signed
into and launches that account's saved Cordial profile, without showing the
picker. Opening Cordial from its desktop icon still shows it. No browser
extension is involved.

Sign into each account once in its own profile so its session is saved, and
routing takes it from there. If no saved profile matches, several do, or the
lookup fails, the launcher opens with the link waiting and you choose — it never
guesses. A profile that is already running gets the usual busy-profile dialog.

The ticket the browser hands over is used to ask Roblox which account it is, and
then discarded; it is never written into a profile. `CORDIAL_BROWSER_ACCOUNT_ROUTING=0`
turns the whole thing off. The reasoning is in
[ADR-035](/adr/ADR-035-browser-account-routing).

## A title bar you can hide, for tiling window managers

Settings → Appearance → Game window → Title bar now offers **Hidden** alongside
Default and Compact. Hidden removes the bar without requesting fullscreen, so a
tiled window keeps its tile, and leaving fullscreen will not put the bar back.

Two things to know before choosing it. **The window controls go with the bar** —
use your desktop's own shortcuts to move or close the game, and the launcher to
change the setting back. And it applies to **Wayland game windows only**: the
X11 runtime uses an unrelated native window and is unaffected.

## Staying signed in, on a machine with a fussy keyring

Saved sessions are stored through whichever secret backend you have configured.
The default `auto` prefers the desktop Secret Service and falls back to a
`0600` file in the profile when the service is unavailable, and explicit
`keyring` and `file` choices are honoured as given.

## What is still broken

**Voice has been confirmed on one machine only**, with the current default
microphone, on one distribution. It works there end to end; whether it works on
your capture device is genuinely unknown, and that is the caveat most likely to
affect you.

**Resizing the window is glitchy for at least one person**, and **the
TaskScheduler crash on a second launch is still being reported.** Neither has
been reproduced here. For either, `cordial --diagnostics` and the full log help
most.

When an unrecognised launch link falls back to the manual path, the original URL
is still passed as a command-line argument and stays visible in
`/proc/<pid>/cmdline` to other users on the same machine. Recognised links have
their ticket stripped before launch.

Everything listed as broken in [0.14.2](/releases/v0.14.2) still is, except voice chat.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.