Repository navigation
Releases: kurashizu/kdchat
Release list
v1.11.0
Added
- First-run setup: a new install opens a short guide: the interface language, turning on OSC in VRChat, and which
avatar you use (KuraDot Full / Standard / Lite, or none: the display then stays off). Settings → General → Setup runs
it again.PUT /api/v1/setup,setup_doneinGET /api/v1/settings.
Changed
- The avatar version is chosen by hand (setup or Settings → Display); the automatic detection from VRChat's OSC files
is gone (it could not tell which avatar is worn, and nothing when kdchat runs on another computer). A saved "Auto"
becomes Full.
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.10.1
Changed
- The console calls the display "KuraDot display" (Klaude avatars are the Full version of it).
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.10.0
Added
- KuraDot avatars in three versions (sync tiers with the same screen): Full (also Klaude), Standard and Lite, which
use fewer synced parameters (251 / 140 / 93 bits with the menu) and send a page in 1 / 2 / 3 chunks, only the changed
ones. Settings → Display → Avatar version: Auto finds it from VRChat's OSC files on this computer (the newest avatar
with display parameters), or pick it. Lite shows pictures in low resolution and opens one side screen (with two
translation languages the second goes to the game chatbox only).
Fixed
- Turning the display on no longer "syncs" for over a minute: the first pass sends one clear command, the pages that
decide what is drawn and the pages with content (Full: about 10 s instead of about 80 s); empty pages are refreshed
in the background. - Side screens sometimes unfolded and folded again by themselves (and transitions could play out of turn): a frame whose
page id and bytes reached the avatar apart could make it read a register value that was never sent. The frames with
those registers now go out between idle frames, and command frames keep the bytes on the wire. Works with the
avatars already uploaded. - A Chinese / Korean / Russian ... message with English words in it ("这是 KuraDot 版") was detected as English: the
English side screen showed the original and the small font drew "?" for the Chinese characters. Any non-Latin script
now decides the language; a message the small font cannot draw keeps the normal font.
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.9.0
Added
- The console in Japanese (日本語) and Korean (한국어): Settings → General → Interface language,
?lang=ja/?lang=ko,
or the browser's language on the first visit.
Fixed
- The "no password" notice on phones: its text ran under the "Set a password" button.
- Language names in the translation lists use their own script's letter forms (Cyrillic and Greek names were drawn
full-width with a Japanese or Chinese interface).
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.8.4
Needs the Klaude avatar uploaded on 2026-10-07 15:43 or later (new font atlas).
Fixed
- Every language the translation offers shows on the Klaude display (no more □): all Latin letters (German ä ö ß,
Polish ł ą ę, Czech ř, Turkish ı ş ğ, Nordic æ ø å, Romanian ș ț, French œ « », Vietnamese with all its tone marks),
Greek with accents, Cyrillic incl. Ukrainian і є ї ґ and Serbian ђ ј љ њ ћ џ, Hebrew and Arabic / Persian / Urdu
(right to left, Arabic letters joined), Thai (vowel and tone marks stacked on their consonant), € and other currency
signs, dashes, quotes, ©, ™, arrows, ♥ ★ ♫, and the Cantonese characters of traditional Chinese. - Accented letters, Greek and Cyrillic are as narrow as plain Latin letters (they used to take a whole CJK cell:
"caf é"); quotes and dashes are narrow in Latin text and full width in Chinese / Japanese text. - Hindi, Marathi, Bengali, Gujarati, Tamil, Telugu, Kannada and Malayalam cannot be drawn on the display (their letters
combine in ways a fixed pixel grid cannot show): their translations go to the game chatbox, the side screen says so,
and the language list marks them "chatbox only".
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.8.3
Fixed
- Scrolling no longer cuts the top line (or its time label) under the header: only whole lines show at the top of a
log, on every screen. Most visible on the square screen. - With side screens on, the square (and 160 x 112) screen's log started far below the header (up to a third of the
screen empty): every screen's log now starts right under its header. - While a log scrolled, the second line of a new two-line message could show for a moment without its first one.
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.8.2
Fixed
- Fill keyboard left the game's keyboard empty: what the console was still doing in the chatbox (a live draft, a
live update waiting for its turn, the typing indicator renewed every 5 s) reached the game after the fill. Now the
live draft is dropped and the typing indicator switched off first, the fill waits for the chatbox's rate limit, and
nothing follows it; the input box is emptied (the text is in the game's keyboard). - The Live button's icon was orange on orange while Live is on.
Added
- "Turn off the Klaude display?" can be answered once for good ("Don't ask again"); Settings > General > Hidden
confirmations brings it back.
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.8.1
Fixed
- Every screen of the Klaude display looks the same: "Message time" and "Divider" now apply to the main screen and
the side screens alike (the side screens always showed the time, the main screen only with the setting on). Saved
settings switch "Message time" on once, so the main screen now matches what the side screens showed. - Single layout: the side screens centre the translation like the main screen centres the message, and every screen
shows the message's time with its rule above it.
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.8.0
A new console and a much smaller app.
Changed
- The console is rebuilt (SvelteKit + shadcn-svelte, SVG icons, light / dark / system). The main screen has what
you use while chatting: the two outputs with their switches at the top; under the input "Send to" (one or both of
the outputs that are on, remembered), Translate (shows the languages, opens the translation controls: on/off,
up to two languages - picking one that is not downloaded starts its download -, typing language, chatbox, side
screens), Live and Fill keyboard; the display card with the preview, the side screens (Auto / Open / Off and which
language goes where), the layout, chime, picture, clear (it folds on phones). Translations are shown under each
message; edit / send again / revert are in each message's menu. Settings are sorted into tabs: General, Display,
Translation (with the language packs), Connection (VRChat, phone, password, server address), About. Confirmations
are dialogs, no more browser pop-ups. - A message being typed can still be sent elsewhere until it shows live (too long for the game chatbox? send it to the
display only); editing a message and tapping another one switches when nothing was changed yet. - Pictures of every common format: JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF, SVG, ICO and HEIC / HEIF phone photos
(decoded in the browser, upright by their EXIF orientation; the HEIC and TIFF decoders load only when needed). - Smaller download: the translation engine runs on wasmtime instead of an embedded V8 (same output, starts in
0.4 s); the server needs no image library (the console sends pictures as raw RGB; image files still work through the
API with Pillow installed) and no psutil; the fallback window without WebView2 is a native message box. The
.exeis about a third smaller. - The typing indicator goes off by itself 15 s after the last word from the console (a closed page or a lost
connection no longer leaves "typing" on), and at once when the page closes.
Removed
- The old console (
ui/app.js,ui/i18n.js); its URLs/ui/...are gone (the console loads from/_app/...).
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.
v1.7.0
Added
- Korean on the Klaude display (needs the avatar with the 1.7.0 menu icon; older avatars show □): the 2,350 common
Hangul syllables of KS X 1001 and the compatibility jamo. Korean lines break at spaces, like English; the space between Korean words is a full-width blank (a
line stays in one code mode and fits its memory). The font grew
by 2,443 glyphs; the codes of every other character are unchanged.
Windows: download kdchat-*-windows-x64.exe below and run it. Windows SmartScreen may say
"Windows protected your PC" (the app is not code-signed): click More info -> Run anyway.