Build 195 · release v9.6.534-b195 · native downloads are selected per platform from verified GitHub Releases.
One space, many modes.A conversation can become a media feed, a multiplayer quiz or a scheduled video call without leaving the system.
Rantlist in motion
See Rantlist in action.
Drag or swipe through the clips. Use the dots to jump directly to any video.
More than a chat window.
Rantlist starts with real-time channels and direct conversations, then layers visual media, browser-based calling, a native calendar and multiplayer interaction into the same environment.
01 / CHAT
Channels & private spaces
Persistent WebSocket chat, direct conversations, grouped speech bubbles and live presence.
02 / MEDIA
Stories-style media
Images, GIFs, audio and video can move from the conversation into an immersive vertical viewer.
03 / CALLS
Audio & video
Browser-based real-time calls live beside the conversation instead of in a separate service.
04 / CALENDAR
Schedule inside Rantlist
Plan calls, invite Rantlist users or external guests, manage reminders and join from the same system.
05 / PLAY
Multiplayer built in
Quizzes, drawing games, chess and checkers turn a channel into a shared interactive space.
06 / APPEARANCE
Make it yours
Interface scaling, saved themes and expressive message styling let the same room feel very different.
Think Discord or Slack meeting Stories and lightweight multiplayer — but as one web-native space.
Rantlist is not built around an algorithmic infinite feed. It is closer to a digital room: people arrive, talk, share something, play, call and leave.
The macOS, iOS, Android, Meta Quest, Windows and Linux clients wrap the same Rantlist service for their respective platforms. The public client repository contains sanitized client-side code and desktop packaging — not the production server, database or private infrastructure.
Call Doctor live-state reconciliation and stable bitrate sampling
Rantlist 9.6.534 · rantlist-deploy-r562 · 2026-10-09 — Call Doctor now reconciles peer diagnostic snapshots with the live media actually arriving over WebRTC, automatically re-probes peers after tracks/ICE connect, avoids false missing-microphone/camera alarms from stale snapshots, and waits for a real RTCStats interval before presenting bitrate.
Treat live incoming audio/video tracks as stronger evidence than an older peer report that briefly showed no local media tracks.
Automatically request a fresh Doctor peer report after ICE connects and after new remote media tracks arrive.
Keep peer diagnostic reports scoped to the current call so previous-call snapshots cannot contaminate a new diagnosis.
Show bitrate as measuring until at least one second of RTCStats delta is available instead of reporting a misleading 0 kbps sample.
Video-first Call Doctor layout and shareable text diagnosis
Rantlist 9.6.533 · rantlist-deploy-r561 · 2026-10-09 — Call Doctor now keeps uncropped participant video as the primary workspace, moves diagnosis/device/signaling/log panels into a vertical diagnostic column, and can copy a readable diagnosis or send a sanitized .txt report directly to the current channel.
Use 16:9 diagnostic video tiles with object-fit contain so camera frames are never cropped while troubleshooting.
Move diagnosis, participant controls, local device state, server/signaling state and verbose events into one vertically scrollable diagnostics column beside the live media wall.
Add Copy diagnosis for a human-readable problem-first report while retaining Copy JSON for the full structured diagnostic snapshot.
Add Send .txt to channel, using the existing authenticated attachment path and redacting credentials, device identifiers and peer identifiers from the shared verbose report.
Full-screen Call Doctor with live media wall and problem-first diagnosis
Rantlist 9.6.532 · rantlist-deploy-r560 · 2026-10-09 — Call Doctor is now a full-screen diagnostic workspace that remains above the normal call stage, shows live participant video alongside connection health, preserves the last peer snapshot after hang-up, and promotes recovered/active permission and transport failures into a problem-first diagnosis with a persistent verbose log.
Replace the small centered Call Doctor modal with a full-screen workspace containing live participant media, connection cards, local/server state and a continuously visible verbose signaling/WebRTC log.
Keep diagnostic calls docked under Call Doctor instead of opening the normal full-call stage over the diagnostic UI.
Retain the last peer connection snapshot for ten minutes after hang-up so selected relay path, RTT, jitter, packet loss and remote-track state remain inspectable.
Interpret prior NotAllowedError microphone/camera failures as active or recovered permission incidents and distinguish non-blocking ICE 701 candidate failures when another TURN relay path succeeds.
Call Doctor authoritative roster and actionable TURN diagnosis
Rantlist 9.6.531 · rantlist-deploy-r559 · 2026-10-09 — Call Doctor now uses the authoritative current-channel roster, performs a bounded relay-only TURN self-test, and converts ICE/TURN errors into direct explanations of DNS, credential, firewall and relay-policy failures instead of leaving users to interpret raw WebRTC logs.
Populate the Doctor participant picker from the same current-channel roster used by the channel user rail, enriching it with global directory metadata without requiring a redundant room field.
Run a permission-free relay-only ICE self-test that verifies whether this device can actually obtain a TURN relay candidate before a diagnostic call starts.
Translate ICE candidate errors such as browser error 701 / TURN host lookup failure, authentication failures and unusable network interfaces into ranked actionable findings, with relay-only failures promoted to blocking errors.
Mark signaling as connected when a live Doctor report is received and include server-observed room presence so client roster mismatches are visible immediately.
Call Doctor media and WebRTC diagnostics
Rantlist 9.6.530 · rantlist-deploy-r558 · 2026-10-09 — Config now includes a Call Doctor workflow that can start a normal one-to-one or multi-user audio/video diagnostic call and explain local/remote browser permissions, media-device availability, live track state, WebRTC path quality and bounded server signaling events.
Add a Call Doctor overlay with channel participant selection, audio/video diagnostic call launch, local privilege checks, peer connection quality and copyable reports.
Exchange small participant-only diagnostic probes during an accepted call so microphone/camera permission state, device counts and track health can be compared across desktop, mobile and headset clients without exposing media contents.
Report RTT, jitter, packet loss, bitrate, ICE/candidate path and TURN configuration from RTCPeerConnection stats, with concise explanations for common permission and transport failures.
Keep a bounded server-side call/signaling event journal containing metadata only; SDP bodies, ICE candidate strings, message content and credentials are never included in Call Doctor reports.
Stable coalesced vehicle settings collaboration
Rantlist 9.6.529 · rantlist-deploy-r557 · 2026-10-09 — Vehicle tuning, effects, audio and condition controls now edit detached UI drafts, merge individual fields into the current authoritative vehicle graph, and publish one compact settled engineering update instead of resetting sibling settings or sending every slider fraction.
Prevent stale lil-gui settings objects from replacing unrelated vehicle effects when another control changes, including sample ground colour.
Coalesce continuous tuning/effects/audio/condition changes and publish the final vehicle graph after the control settles or finishes.
Keep wheel rotation, driver-seat, collision sensitivity and condition reset changes on the same authoritative compact vehicle settings path.
Provisional Stage edit presence for newly added objects
Rantlist 9.6.528 · rantlist-deploy-r556 · 2026-10-09 — A just-added Stage object may now hold a short provisional transform lease before the authoritative add ACK lands, preventing false invalid_edit_presence rejections and immediate disappear/reappear behaviour while the creator starts dragging it.
Permit a short-lived provisional edit lease when a newly created object id is not yet present in the authoritative room snapshot.
Keep normal transform-lock and per-object ownership checks once the object exists in the shared world state.
Retain the r555 runtime and verifier behaviour unchanged outside this optimistic-add Stage editing fix.
CSP verifier compatibility for server-backed GLB assets
Rantlist 9.6.527 · rantlist-deploy-r555 · 2026-10-09 — Verifier-only deployment correction: Avatar Lab and TLS hardening checks now validate the current production connect-src policy semantically, retaining blob-backed GLB texture fetches and secure WSS while permitting the explicitly approved jsDelivr source-map origin added in r554.
Keep the r554 Asset Library, durable vehicle graph and runtime CSP behavior unchanged.
Make Avatar Lab CSP verification accept approved connect-src additions while still requiring blob: and production wss:.
Make TLS hardening verification require blob:, secure wss:, development ws:, and reject insecure production ws: without freezing the exact source-token order.
Server-backed Stage Asset Library and durable vehicle graph edits
Rantlist 9.6.526 · rantlist-deploy-r554 · 2026-10-09 — Imported GLB assets are persisted immediately in the owner server catalogue and shared into channel Worlds by compact capability-backed recipes; saved vehicle creation and deletion now use durable engineering graph events instead of transient local snapshots.
Persist imported Asset Library GLBs on the server with bounded library metadata and restore them into the personal Asset Library on reconnect or another device.
Publish server-backed model instances through compact add/engineering.sync records using bounded collision proxies, including migration of older local data-URL model presets before sharing.
Delete a complete vehicle assembly through one authoritative engineering.remove event so server resync cannot resurrect removed chassis or parts.
Create missing saved-vehicle chassis from the engineering.sync seed on both parent cache and peer Stage clients, so repository vehicles remain visible after authoritative reconciliation.
Rantlist 9.6.525 · rantlist-deploy-r553 · 2026-10-09 — Verifier-only correction: r425 and r428 now validate forced authoritative resync through requestStageWorldJoin instead of requiring retired inline stage.world.join construction.
Keep the r551 permissions, player capacity, mobile hydration and authoritative Stage runtime unchanged.
Update r425 cache-mismatch recovery coverage to require requestStageWorldJoin({force:true}).
Update r428 rejected-Engineer recovery coverage to require the same centralized forced resync path while engineering-sync-v1 remains defined by the shared join helper.
Rantlist 9.6.524 · rantlist-deploy-r552 · 2026-10-09 — Verifier-only deployment correction: the r423 Engineer regression now validates the centralized requestStageWorldJoin helper introduced by r551 instead of requiring duplicated literal join packets.
Keep the r551 permissions, capacity, mobile hydration and authoritative Stage runtime unchanged.
Verify that all Stage join and recovery paths route through requestStageWorldJoin and that its single stage.world.join packet advertises engineering-sync-v1.
Retain retry and forced-resync join coverage without reintroducing duplicated join packet construction.
Stage permission roster, player capacity and mobile shared-world hydration
Rantlist 9.6.523 · rantlist-deploy-r551 · 2026-10-08 — Channel World permissions now stay above the Worlds gallery, show member profile pictures, enforce a configurable default eight-player Stage capacity, notify users about access changes, and retry mobile Stage joins until the authoritative shared World and peers are hydrated.
World permissions render above the Preset/Worlds gallery, show profile pictures and names, and keep identity UUIDs out of the visible roster while retaining them as non-visual diagnostic/accessibility metadata.
Channel World owners can set a persistent Stage player limit from 1 to 36; new channels default to 8 and new Stage entries are rejected once the live room reaches that limit.
Permission changes are delivered directly to the affected participant with a short Stage overlay, and view-only edit attempts name a Channel World owner to ask for Can Edit access.
The web/mobile Stage join handshake no longer treats a sent join request as a completed join; it waits for authoritative stage.world.state and retries transient registration/channel races.