Skip to main content

Multi-instancing now asks first

Starting a second profile while one is already running now shows a dialog before it launches:
Multi-instancing can get you banned on Roblox. It is not a supported feature and may lead to account ban waves. Maintainers and contributors are not responsible if your account gets banned.
Accept to go ahead anyway, or Cancel to stop there. It asks once — after you accept it the first time, Cordial does not ask again.

The Flatpak has a stable channel

Every Flatpak install used to track main, release or not: whatever the last commit built is what flatpak update gave you. There is now a stable branch that only moves when a tagged release runs through CI. This release is the one that brings it into existence — the channel is created by a tagged build, so it did not exist before 0.17.0 published, and a fresh flatpak install lands on it from here on. If you installed before this release, you are still on master and will keep tracking main until you move yourself:
Add --user to both if that is how you installed it. If you would rather keep following main than releases, flatpak install cordial io.github.luohoa97.Cordial//master says so explicitly and leaves you there.

Join a server from a game’s Servers list

Open a game, click Servers, pick one and press Join: it now joins that server. The button did nothing at all before, on public and private servers alike (#40). Measured eight joins across two games, each landing in the exact server asked for rather than merely the right game. Private servers are untested — no account here could reach one without buying it, and the same code path carries their details, so it may or may not work for you. If you own one, the maintainers would like to know either way. Playing from the home page or a game page is unchanged.

The rest

Every crate now enforces the unsafe/safe boundary with a workspace lint rather than a convention, cordial-plugins and cordial-update no longer call libc directly where rustix will do, and mocktail’s Apache-2.0 credit is now in THIRD-PARTY-NOTICES.md where it belongs.

What is still broken

The client can grey out for a moment when a text box takes focus (#53, #54). 0.17.0 does not fix this. What it adds is a log line, so the cause can finally be confirmed instead of guessed at — if you hit this, look in the log for:
Everything named broken in 0.16.0 is still broken and has not moved: a crash after a second launch (#44), the fullscreen freeze and crash on the way out of it (#39), a touchscreen crash on first touch (#36), a SIGSEGV on launch on some machines (#35), no window at all on COSMIC, KWin or wlroots compositors (#38), and Join doing nothing in a game’s Servers list (#40). Two more have turned up since: a client can hang on exit instead of closing (#52), and on Hyprland, pointer lock is never confirmed and the real cursor drifts during a camera drag (#56). VR is not supported, and will not be soon. Five separate routes into it have now been measured and all five came back negative: every VR flag switched on with nothing observable, a live OpenXR runtime present, unpublished flag names tried directly, the settings-overrides channel (proven live with a control flag, and still silent for VR), and calling the exported VR natives by hand. Nothing constructs a VR device, and the only way found that would is a byte patched into one specific build’s memory — which this project refuses outright. See docs/analysis/vr-reachability.md.