ch4c.cc FAQ

Answers to commonly asked questions. Feel free to use /suggest to suggest additions to this document.

Can I use custom room codes?

Yes, just enter the custom code (6-32 characters; letters digits and hyphens only) and select "Join room". Alternatively, just use the custom room code as the URL suffix, e.g. https://ch4t.cc/custom-room-code. Once people join, you can always use /lock to prevent new people from joining.

How do I inform my contacts of the room code beforehand?

This is website is designed to be used without an account, and because there are no accounts, you will need to use an alternate method to communicate the room code to your contacts. You can either (i) create a room with a random room code and then send them the link over email or SMS, or (ii) create a suitable custom room code and then communicate with your contacts the custom code and the time of the meeting. Once people join, you can always use /lock to prevent new people from joining.

What happens if I minimize the chat room window?

If you switch to another browser tab, minimize the window, or (on a phone) lock the screen or switch apps, the browser may suspend the page and drop its connection. When you return, you are automatically reconnected as long as you come back within a grace period of about 120 seconds. After longer than that, you will need to re-join the room (or recreate it if you were the only person in it). Simply clicking another window while the chat tab stays visible does not disconnect you.

On Windows, Edge puts inactive background tabs to sleep (its "sleeping tabs" feature, and a similar "efficiency mode" on battery power) more eagerly than most browsers. A sleeping tab loses its connection, so switching away for more than the usual grace period leaves the room. If this happens often, tell Edge to keep ch4t.cc awake: open edge://settings/system, and under "Never put these sites to sleep" add ch4t.cc.

What message formatting is supported?

Messages support a small set of inline Markdown styles. Wrap a span of text in the matching delimiters on both sides and the text between them is rendered with that style:

The delimiter must sit directly against the text, so * not emphasis * with surrounding spaces is left alone, which keeps arithmetic such as 2 * 3 from being misread. To show a delimiter literally, put a backslash in front of it, so \* displays a plain asterisk. This formatting is purely visual and is applied when the message is displayed; the underlying text is sent as you typed it.

Can I change the look of the chat?

Yes. The /theme command applies a built-in design in one step; the choices are artemis, galaxy, mountains, and flowers. Run /theme to list them, /theme flowers to apply one, and /theme reset to clear it. For finer control, the /css command lets you set your own CSS rules, which take precedence over a theme; run /css examples or see the CSS examples guide for a walkthrough, including the built-in theme fonts you can apply. All of this is local to your browser and stored only on your device, so peers never see your customizations, and the theme fonts are served from ch4t.cc itself rather than a third-party font service.

What are the size limits on messages and other files?

Individual text messages are capped at 512 characters, shared images and PDFs at 10 MB, and GLTF models at 100 MB.

How do I use the 3D model (GLTF) viewer?

Type /gltf in a room to open the 3D viewer in a panel beside the chat. Use the file chooser at the top of the panel to load one or more .gltf or .glb models (up to 100 MB each). Everyone in the room sees the same models, and any changes you make to them.

Moving the camera (your viewpoint) is separate from moving the objects. Drag on an empty part of the view to orbit around the scene, and scroll the mouse wheel (or pinch on a touchscreen) to zoom in and out. Dragging with the right mouse button pans the view. If you tick "Sync camera with peers", everyone in the room follows your viewpoint.

Moving an object works much as it does in 3D tools such as Blender, which is not obvious if you have not used one. First select the object by clicking its name in the list below the buttons. A set of coloured handles (a "gizmo") then appears on the object. Click "Move", "Rotate", or "Scale" to choose what the handles do, then drag a handle:

Dragging a handle moves only the object, while dragging anywhere else still orbits the camera. Click "Deselect" when you are finished editing an object. Object changes are always shared, so everyone in the room sees the model move, rotate, and scale as you do it.

What if I'm having audio problems on calls?

When a call is initiated, the browser may need to ask for permission to use the microphone. If the call is working correctly, the bottom half of the message input bar is used to indicate the outgoing audio level, and the top half is used to indicate the incoming audio level. If you're still having trouble, use /suggest and let me know what hardware and browsers you are using, what sort of audio setup you have, and what you are seeing and I'll try to fix it.

What is the room bandwidth limit?

The Bandwidth figure shown next to your name in a chat room reports how much relayed traffic the room has used so far, out of a fixed 100 MB cap.

Where possible conversations on this site are peer-to-peer: messages, shared files, and call audio normally travel directly between participants over an encrypted connection and never pass through the server. This peer-to-peer traffic is not counted as part of the bandwidth limit.

However, some networks (such as those behind restrictive firewalls or symmetric NATs) will not permit a direct connection between two peers. In that case, communcation has to be relayed through ch4t.cc. Because that traffic flows through the server, it consumes server bandwidth, and it is this relayed traffic that the counter accumulates.

What happens when the bandwidth cap is reached?

The server tracks the combined relayed total across everyone in the room. When that total exceeds 100 MB, the room is closed and all participants are disconnected. Starting a new room resets the counter.

The counter samples each connection every couple of seconds, so it may lag a moment behind live activity.

Can I avoid using the relay?

This is typically something set by your internet service provider and is not under your control, but you may be able to use a VPN to ensure direct peer-to-peer traffic.

Does WebRTC leak my real IP address?

Potentially yes, even through a VPN, depending on how your VPN works. There are a few complexities behind how VPNs work (split- vs. full-tunnel and IPv4 vs. IPv6), so ch4t.cc cannot guarantee that your real IP address stays hidden. This same caveat applies to every internet site you visit (not just ch4t.cc), since initiating WebRTC and STUN requests does not always require human intervention (depending on your browser). Note that ch4t.cc never uses a third-party STUN or TURN services, so the connection does not involve an outside provider.