CAT manual

Chat: messages and doodles

Chat sends end-to-end encrypted messages and hand-drawn doodles to other CATs over LoRa radio, and to anyone on the Reticulum network when your CAT is online.

How Chat works#

  • Messages use LXMF, the messaging format of the Reticulum network. You can talk to other CATs, and to people using LXMF apps such as Sideband and NomadNet.
  • Every CAT has an address: 32 hexadecimal digits, such as 7f6f59534ee42c0a3513cb272f75633a. People message you by address; your device name travels with it so they see who you are.
  • Messages reach a nearby CAT directly over LoRa. Farther away, other CATs relay them, or a propagation node holds them until your friend comes online. With Wi-Fi, your CAT also connects to the internet-wide Reticulum network.
  • Conversations are one-to-one.

The peer list#

Open the Chat tile (the radio) on the home screen. The top bar shows CHAT, the total unread count, your own name and the first 8 digits of your address, and the time. Compare those 8 digits with a friend's screen to check you have the right address.

Three tabs sit under the bar. Switch with ◀ ▶ or tap a tab.

Contacts: people you have saved. Unread first, then recent activity, then by name.
Nearby: unsaved CATs heard directly over LoRa in the last half hour.
Requests: conversations with addresses you haven't saved, such as messages from strangers.

Each row shows the name, the first 8 digits of the address, and either the number of messages or saved / unsaved. On the right, a black box counts unread messages. A small green dot means that CAT was heard announcing itself directly over LoRa since your CAT started.

ControlAction
▲ ▼, or swipe up and downMove through the list (six rows per page)
A or tap a rowOpen the conversation. On the Nearby tab: save the CAT as a contact.
STARTThe Manage popup (below)
SELECTAnnounce yourself now (see announcing)
BBack to the home screen

Managing contacts and chats#

Press START on the peer list. The popup CONTACTS & CHATS acts on the highlighted row and only lists actions that apply to it.

For a saved contact.
For an unsaved request.
Delete conversation asks first. The contact itself is kept.
Clear all chats empties every conversation; your identity stays.
OptionWhat it does
CancelClose the popup (or press B, or tap outside).
Delete conversationPermanently delete this conversation's messages. Saved contacts are kept.
Clear all chatsDelete every conversation and forget unsaved peers. Your identity and routing stay. New announces can add peers again.
Add LXMF addressType someone's 32-digit address, then an optional friendly name.
Show my address (QR)Your address and QR code.
Save contact / Edit friendly nameSave this peer, or rename a saved one. Your name for them replaces the name they announce.
Remove contact (keep chat)Unsave the contact. The conversation moves back to Requests.

Adding a contact#

  • From Nearby: ask your friend to announce (CATs also announce regularly on their own). Their CAT appears on the Nearby tab. Highlight it and press A, type a name, and save.
  • By address: START → Add LXMF address. Type the 32 digits on the keyboard's number page (upper or lower case; surrounding < > are fine) and press NEXT. Then type a friendly name, or leave it empty, and press SAVE.
  • From Requests: highlight the conversation, START → Save contact.
Typing an address.
Anything that isn't 32 hex digits is refused.
Giving a contact a friendly name.
Saved.

You can keep up to 64 contacts. Friendly names can be up to 47 characters.

A conversation#

Messages from the other person are grey bubbles on the left; yours are outlined on the right. Each bubble shows the start of the message, the time (or the date if it wasn't today) and, on yours, the delivery mark. A red line marks where unread messages begin. Six messages fit on a page.

The bottom strip is where you write; the pen box on the right opens the doodle editor.
ControlAction
A or tap Write a messageOpen the keyboard to write. If you already have a draft, send it.
▲ ▼, or swipeHighlight a message; page through older and newer history
▶ or tap a highlighted messageOpen it in the reader (or view a doodle). With a draft: edit the draft.
◀ or tap the penDraw a doodle
STARTMark the conversation as read (only once you have scrolled down to the newest message)
SELECTAnnounce yourself
BClose the reader; otherwise clear the draft; otherwise leave the conversation. A message that is still sending keeps going in the background.

The bottom-right corner tells you what START would do or where unread messages are: Mark read, ▲ 3 unread or ▼ newest.

Writing and sending#

The keyboard opens with your contact's name in the title. Type, then press SEND (or START). A message can be up to 159 characters. CAT corrects obvious typos as you go; see Typing.

A new message.
"teh" became "the": the red underline and "was: teh" in the title show what changed.
Ready to send.
Message lengthA message of up to about 48 characters fits in a single LoRa packet. Longer messages are split and need a connection, so they are slower and more likely to be relayed.

Delivery marks#

Your bubbles show how far each message has got:

MarkMeaningOn screen
Hollow circleQueued on your CAT.–
Small dotSending.A bubble with a small grey dot after the time
One grey tickSent. Waiting for proof that it arrived.A bubble with one grey tick
Two green ticksDelivered: your friend's CAT confirmed it.A bubble with two green ticks
One tick and a dotRelayed: a propagation node accepted it and will hand it over when your friend checks in. This is the final mark for a relayed message.–
Red plusFailed.A bubble with a red plus sign
A conversation after a failed send. The bottom-right corner points to unread messages above.

If CAT has never heard from the recipient, it asks the network where they are and holds your message for up to 3 minutes while it waits; the composer keeps saying Sending. If a friend is more than one radio hop away, CAT tries directly once, then hands the message to a propagation node, retrying after 1, 2 and 4 minutes before giving up.

Short notices at the bottom of the screen explain refusals: Messaging busy - try again (one send at a time), Offline - cannot send yet, or Doodle sending - wait. A refused draft is kept so you can try again.

Reading long messages#

Highlight a message and press ▶ (or tap it again) to open the reader. The header says who it is from or to, the time, its position in the conversation and its delivery mark. ▲ ▼ scroll. Long messages are fetched in full when you open them; you may briefly see [loading the rest...].

The reader.

Doodles#

Doodles are small one-colour drawings, PictoChat style. Open the editor from a conversation with ◀ or by tapping the pen.

The editor: canvas, tools on the right, colours below, and the ink meter.
Drawing with a finger. Picking a colour recolours the whole doodle.
ToolTouchButton
Draw / eraseDraw on the canvas; tap PEN or ERASESTART switches tool
Thin or thick nibTap the left or right half of the nib box▶
Colour (12)Tap a swatch▲ ▼
UndoUNDOSELECT
ClearCLEAR, then again within 2.5 s when it says SURE?–
SendSENDA
Back (draft is kept)–B

The ink meter in the top corner shows how much drawing is left (a doodle is at most 16 parts). Each part is one LoRa packet, sent and confirmed in turn. A progress box shows each part: green when delivered, red if it failed. Press B to let it finish in the background. If parts fail, you are offered A Retry B Keep; retry only resends the missing parts.

Sending part 1 of 6.
Sent. The canvas clears for the next one.
Doodles appear as one bubble with a coloured pen mark and how many parts arrived.

Open a doodle bubble with ▶ or a second tap.

A doodle you received.
One you sent. A RESEND sends it again.
A doodle still missing a part. CAT draws what it has.
A ASK AGAIN requests the missing parts from the sender.

The sender's CAT resends missing parts automatically while they have your conversation open. Doodles only display on CATs: other LXMF apps show them as a short line of random-looking text.

A conversation mixing complete and partial doodles.

Announcing yourself#

An announce tells the network your address, your name and how to reach you. CAT announces three times in the first few minutes after starting, then every 15 minutes, and whenever its connections come up. Press SELECT in Chat to announce right away; you can do it again after 30 seconds. Opening the Nearby tab also announces.

Bottom right: Announcing...
...Announced.

Sharing your address#

Settings → MY ADDRESS, or START → Show my address (QR) in Chat, shows your address as text and as a QR code. A friend with a phone LXMF app can scan the code; another CAT has no camera, so its owner types the digits in with Add LXMF address. Press B or tap to close.

Your name, your address and its QR code.

Notifications#

  • A new message wakes the screen if it was dim or dark.
  • With NEW MESSAGE TONE on, a soft three-note chime plays (at most once every 2 seconds).
  • Unread counts show on the Chat tile, in the Chat title bar and on each row.