> ## 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.16.0 — the crash on the second launch is fixed

## Launching twice in a row works

If Cordial worked once and then died on every launch after it until you cleared
the cache, this is the release that fixes it. The crash looked like this:

```
RBXCRASH: FatalRuntimeError (Can't initialize the TaskScheduler before flags have been loaded)
```

**It was never about the cache being corrupt**, which is what it looked like and
what several of us assumed. Cordial's own startup was racing the engine's: it
carried on making calls into the engine while the engine had not yet been handed
its flags, and the engine gave up. Clearing the cache appeared to help for
exactly one run because a cold start *downloads* its settings, and the download
is slow enough that the engine wins the race. A warm start reads the same file
off disk in microseconds, and the race flips.

Cordial now waits for that handover before going further. Verified over seven
consecutive launches of the case that used to fail every time.

This closes [#44](https://github.com/luohoa97/cordial/issues/44) and
[#28](https://github.com/luohoa97/cordial/issues/28).

## The camera no longer throws you 180 degrees on X11

On X11 the camera could spin a full half-turn the moment it locked, most often
if your pointer was near the edge of the window. Cordial discarded the cursor
warp it makes when locking, but only the very next mouse event — and any motion
still queued from before the lock arrived first and was read as a real, enormous
flick of the mouse.

Every queued motion is now discarded until the pointer is confirmed at the
centre. [#41](https://github.com/luohoa97/cordial/issues/41).

## Join, in a game's Servers list

Clicking Join on a server — public or private — did nothing at all. Not an
error, not a log line, nothing. The Servers page opens in its own window, and
Cordial never answered the signal that asks it to *create* that kind of window,
so the page's request vanished with no trace. Popups are now built, and get the
same bridge and the same URL checks as the main window.

[#40](https://github.com/luohoa97/cordial/issues/40),
[#34](https://github.com/luohoa97/cordial/issues/34).

**Not confirmed working end to end.** The cause matches the symptom exactly and
the fix is in, but nobody here has clicked Join on a signed-in account to watch
it join. If it still does nothing for you, the log will now say *something*, and
that something is worth posting.

## Going fullscreen no longer stalls the picture

Entering fullscreen could rebuild the display chain once per animation step —
five times in a fifth of a second on one reporter's machine — after which the
picture stopped updating for five seconds. Those steps are now collapsed into a
single rebuild once the size settles.

How bad this was depended on your desktop: one reporter saw nine steps, another
two, and the machine this was developed on produces exactly one, which is why it
took an outside log to find. [#39](https://github.com/luohoa97/cordial/issues/39).

## What is still broken

**Leaving fullscreen can still crash the client.** That is a separate fault from
the stall above and it is not fixed. Same for the crash on launch some Steam
Deck users hit. For both, **Settings → Graphics → GLES3** is worth trying — the
evidence points at Roblox's own Vulkan renderer rather than at Cordial, and the
same class of crash is documented against other launchers on ordinary desktop
drivers. That workaround is a candidate, not a proven fix; neither crash
reproduces on the machine this was built on.
[#39](https://github.com/luohoa97/cordial/issues/39),
[#35](https://github.com/luohoa97/cordial/issues/35).

**A touchscreen still crashes the client on the first touch.** The fault is in
the toolkit's own drawing, not in Cordial's touch handling — `CORDIAL_NO_TOUCH=1`
crashes too. [#36](https://github.com/luohoa97/cordial/issues/36).

**No window appears on COSMIC, KWin or wlroots compositors.** GNOME/Mutter and
X11 are unaffected. [#38](https://github.com/luohoa97/cordial/issues/38).

**On X11, input can stick for about five seconds** and carry you on in the
direction you were already going. This is a second, separate fault from the
camera spin above and it is characterised but not fixed: a key released while
the window does not have focus never has its release delivered, so the engine
goes on believing it is held. [#41](https://github.com/luohoa97/cordial/issues/41).

**A client can occasionally refuse to close**, hanging on exit rather than
crashing. Seen once in seven launches while testing something else.

**VR is not available**, and this is not something Cordial can add. The Android
engine Cordial loads carries the VR service but nothing that drives a headset:
no VR runtime is linked, no VR code is reachable, and switching every VR flag on
changes nothing observable. The evidence is in
[`docs/analysis/vr-reachability.md`](https://github.com/luohoa97/cordial/blob/main/docs/analysis/vr-reachability.md).

Everything listed as broken in [0.15.1](/releases/v0.15.1) that is not named above
still is.


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