Live messages vs offline delivery
Glitr has two ways to move a message. You do not pick a mode in settings. The contact row tells you which one the next send will use.
Offline (git) — the mailbox
This is the default, and the one that still works if the other person is asleep.
- You write encrypted outbound into your repository and push.
- They fetch your repository when they next poll (or when you tap Poll now on their side).
- Delivery is as fast as git hosting and the poll interval — typically seconds, sometimes longer on a slow host or a large clone.
- History remains in the repositories. That is a feature (backup) and a responsibility (the host stores ciphertext).
Use this mental model: email, if email were a git push.

Live — the direct link
When both apps are open and can form a peer connection:
- Each side publishes a handshake on git (
signalingon their own repo). The payload is encrypted to the other person. Git is only the bulletin board. - Both sides complete the handshake. The contact shows Connecting, then Live.
- New messages travel on that link. No outbound row. Receipts travel on the link too.
- If the channel drops (tab closed, network change, NAT that never cooperated), send falls back to git.
Use this mental model: you ran into each other in the hallway, so you stop leaving notes on the door.


What you have to do
Keep both sides open if you want Live. That is the only ritual.
You do not start a “call” to send live text. After a poll, status updates by itself. If it stays Connecting with both of you present, the network is not allowing the direct path — git still sends.
NAT, corporate firewalls, and some mobile networks fail the direct path and succeed at git. That is expected. Glitr is still doing its job.
What Live is not
Live is a data link for messages. It is not marketed here as voice or video calling. If you see call chrome in the app, treat messaging as the supported live feature.
Live also does not replace backups. Messages that only existed on a live link still get local sent/inbox writes; they do not rely on git outbound. Do not assume a host clone contains every live-only line unless you have synced in a way that persisted them.
Going back to git
Close a tab, lose a network, or wait until ICE gives up. The next send uses outbound again. Ticks behave as in Send, receive, and read receipts.
More on the handshake: Direct live links.