NAME
     chat, say - talk on the mesh radio

SYNOPSIS
     chat
     say message ...

DESCRIPTION
     Chat broadcasts lines of text to every deck within radio range, and
     prints what the other decks broadcast back.  It talks to the mesh
     directly -- below the namespace, straight at the radio -- so it needs
     nothing mounted and no conversation set up.  It is the thing to reach for
     when you want to know whether anyone is out there.

     Type a line and press Enter to send it.  Incoming messages appear as they
     arrive, prefixed with the last two bytes of the sender's address:

          < [3f:a1] anyone at the west end of the hall

     Ctrl-D leaves the conversation but does not end it.  Chat is
     backgrounded: the radio keeps listening, arriving messages accumulate,
     and the count of unread ones appears in the status chrome.  Press F12 to
     look at the message history, and F12 again to go back to the shell.  The
     history holds the last 64 messages.

     Say sends one message and returns to the shell.  Its arguments are joined
     with single spaces, so say hello there and say 'hello there' send the
     same thing.  Use it from scripts, or when you have one thing to say and
     do not want a session.

     Delivery is a reliable mesh broadcast, retried up to three times.  It is
     still a radio: a deck that is asleep, out of range, or listening on
     different PHY settings will not hear you, and nothing tells you so.
     Messages are one line each and are truncated to fit the mesh payload; the
     limit is printed in the banner when chat starts.

     The mesh comes up at boot, so messages arrive and the unread badge counts
     whether or not you have ever run chat.

EXAMPLES
     Join the conversation:

          chat
          > anyone got a spare SMA pigtail
          < [3f:a1] check the blue bin
          ^D

     Announce something from a script:

          say deck up, back in an hour

FILES
     /dev/aether
          node-level mesh state: this deck's address, neighbours, routes

SEE ALSO
     achat(1), who(1), aether(3)

NOTES
     Chat and achat are two different things and it is worth knowing which you
     have.  Chat is raw: one best-effort broadcast per line, no conversation,
     no addressing, no namespace.  Achat goes through /net/aether and can
     therefore address one peer reliably, be watched from a second shell, or
     run on a deck whose radio belongs to a gateway rather than to itself.
     Use chat for the room; use achat for a person.

     Both feed the same history and the same F12 view, so a lobby conversation
     started with achat and a broadcast sent with say end up in one
     scrollback.

     On a deck built without the mesh but with a LoRa radio, chat falls back
     to driving the radio directly, taking an optional -l (listen before
     transmitting) and a frequency in kHz.  There is no routing, no
     reliability, and no say on that build.

FRST Computer                                                          CHAT(1)
