Client Communication
HandyCafe communication provides local text chat between the server and client PCs, relayed client-to-client chat, and operator-recorded voice messages. It works through the HandyCafe server on the local network. Clients never connect directly to one another.
Communication requires HandyCafe Client 5.1.3 or newer. Older connected clients continue to support legacy one-way announcements, but the new chat and voice controls show them as unsupported.
Configure Communication
Open Settings > Communication in the Clients group. The defaults keep operator chat available while preventing customers from starting new conversations until you explicitly allow it.
| Setting | Default | Effect |
|---|---|---|
| Enable chat | On | Shows the new chat workflow and permits chat requests. |
| Server can start conversations | On | Lets an operator open a new conversation with a connected client. |
| Client can start with server | Off | Lets a customer start a new operator conversation during an active or paused session. |
| Client can start with another client | Off | Shows eligible PCs and relays customer messages through the server. |
| Enable voice messages | Off | Lets an operator record and send short voice messages. |
| Maximum voice duration | 30 seconds | Limits each recording from 1 to 120 seconds. |
| Play voice messages automatically | On | Plays a verified download immediately. When off, the client shows a Play voice message notice. |
| Keep chat history | 30 days | Retains local history from 1 to 365 days. |
Saving sends the updated policy to connected supported clients. A client that reconnects receives the saved policy during its normal connection flow.
Chat with a Client
Open a computer's command menu and select Chat. A focused chat window shows the conversation history and delivery state. Enter up to 1,000 characters and select Send. A new operator message opens the same conversation immediately on the target client.
The server can send text to any connected supported client, even when that PC has no customer session. Customer-originated chat requires an active or paused session. If a session changes, conversations belonging to the previous customer are closed and are not shown to the new customer.
The start settings apply only when a new conversation is created. After an authorized participant starts a conversation, either side can reply even if that start permission is later turned off. Turning chat off blocks both new messages and delayed requests at the backend.
Client-to-Client Chat
When Client can start with another client is enabled, the client chat panel lists only connected PCs with an active or paused session and communication support. Open the Chat with selector to choose a recipient. The current recipient is shown in the selector and marked with a check in the list. Client conversations use the PC display name, not the member name or the word Operator.
Every message goes to the HandyCafe server first. The server verifies the sender's live connection and session, stores the message locally, and relays it to the target PC. A target session change or disconnect rejects delivery instead of showing the message to another customer.
Send a Voice Message
Enable voice messages. Open the command menu for a supported PC with an active or paused session and select Send voice message.
- Select the centered microphone and speak into the server's default microphone.
- Select the red stop control before the configured limit, or let the limit stop the recording.
- Select the centered play control to preview the recording.
- Select Send.
The recording window shows a live level animation and elapsed time while the microphone is active. Recordings use 48 kHz mono PCM for clear speech. For multiple PCs, use the voice message action in the computer filter toolbar. HandyCafe stays silent after successful delivery. It shows only a failure count when one or more targets reject or cannot receive the message.
Voice audio is transferred through the existing local file port, not embedded in the command channel or stored in SQLite. The client verifies the file size and SHA-256 checksum before playback. Each offer is short-lived and bound to the target customer session. Temporary audio files are deleted after playback, cancellation, expiry, or startup cleanup.
Delivery States
Text and voice entries can show Pending, Offered, Delivered, Downloaded, Played, Rejected, Expired, or Failed. A command acknowledgement only means the voice offer reached the client. Downloaded and Played are separate client receipts.
Access and Troubleshooting
The cashier role needs the messaging permission to read chat history, send text, record voice, or send voice. Voice recording also requires microphone access on the server operating system.
If a control is unavailable, check that:
- chat or voice is enabled in Settings > Communication;
- the target runs client 5.1.3 or newer;
- the PC is connected;
- an active or paused session exists for voice and customer-originated chat;
- the cashier role has messaging permission;
- the server microphone and audio output are available;
- the configured command and file ports are reachable on the local network.
The computer command menu keeps three separate actions: Chat, Send message and Send voice message. Legacy Send message announcements remain separate from conversation history.