Public rooms for
a connected world.
Radar integrates the open Matrix protocol — giving you access to a global, federated network of public rooms right inside the app. Browse country-specific channels, join conversations, share media, and stay in sync, all through Radar's familiar chat interface.
Everything you need in one place
Radar's Matrix integration uses the full Matrix Client-Server API — the same standard used by Element and other Matrix clients. All features work inside the same chat screen you use for Radar-to-Radar messaging.
Public Room Browser
Browse up to 100 public rooms fetched live from your selected homeserver. Search by name, topic, or room alias in real time. Sort alphabetically or by most recently active.
- Live search across name, topic, and canonical alias
- Sort: A → Z or by last activity timestamp
- Swipe-to-refresh forces a fresh fetch
- Pinch-to-zoom text scaling for readability
Smart Three-Tier Cache
The room list loads instantly on every visit thanks to a three-tier caching strategy — no waiting on slow networks.
- Tier 1 — In-memory cache, fresh for 15 minutes
- Tier 2 — Disk-persisted list shown immediately, refreshed silently in background (stale-while-revalidate)
- Tier 3 — Full network fetch with loading indicator for first-ever load
- Cache is automatically invalidated on homeserver switch
Seamless Authentication
Tap any room to join — authentication is handled automatically. On the Radar server, credentials are provisioned at device registration; no login is ever needed. On other servers, guest registration is tried first with a fallback login dialog.
- Radar server: zero-friction auto-provisioned credentials
- Other servers: automatic guest registration attempted first
- Falls back to full Matrix user ID + password login
- Login status shown in banner at top of room list
Real-time Sync
Messages are delivered via the Matrix global sync token — a long-poll connection that pushes new timeline events, state changes, and invitations to your device as they happen.
- Timeline events arrive in real time
- Typing indicators update as other members type
- Read receipts update when participants read messages
- Room invitations appear immediately without polling
- Weekly cleanup worker removes orphaned Matrix data
Full Matrix Message Type Support
Radar handles all standard Matrix message types — the same set used by full desktop clients. Text, media, reactions, edits, and replies are all rendered natively in the Radar chat view, with sender names shown above each bubble in group rooms.
| Message Type | Matrix Event | Behaviour in Radar |
|---|---|---|
| Text | m.text | Rendered with hyperlink detection; sender name shown above bubble |
| Image | m.image | Full-screen viewer on tap; thumbnail shown inline |
| Video | m.video | Inline playback with duration metadata |
| Audio / Voice | m.audio | Playback with waveform display |
| File | m.file | Download with original filename; size displayed |
| Reaction | m.annotation | Emoji reactions aggregated below messages |
| Edit | m.replace | Message content updated in-place; "(edited)" shown |
| Reply | m.reply (relates_to) | Quoted preview of original message shown above reply |
| Pinned messages | m.room.pinned_events | Pin/unpin syncs state event to server for all members |
Typing & Read Receipts
Ephemeral events from the Matrix sync are rendered in real time. Typing indicators appear while other members compose a message. Read receipts update as participants advance through the timeline.
- Typing events from m.typing ephemeral block
- Read receipts from m.receipt ephemeral block
- Both arrive outside the main timeline — always current
Room Invitations
When another Matrix user invites you to a room, Radar receives the invite state during sync and surfaces an invitation card. One-tap join, with the inviter's display name shown.
- Invitations parsed from rooms.invite in sync response
- Direct (1-to-1) and group room invites both supported
- Inviter display name extracted from stripped state events
- Accept joins the room and opens the chat immediately
Pinned Messages
Pin or unpin any message in a Matrix room from the message actions menu. Radar sends an m.room.pinned_events state event so the pin is visible to all members across any Matrix client.
- Pins are federated — visible in Element, Cinny, etc.
- Unpinning clears the pinned_events list server-side
- State updates delivered to all room members via sync
Switch Homeservers Instantly
Change your Matrix homeserver in settings at any time. Radar invalidates the room cache immediately, re-authenticates against the new server, and restarts sync so you're always browsing the right federation.
- Three preconfigured servers: Radar, matrix.org, Mozilla
- Credential fields auto-hide when using the Radar server
- Cache invalidated and rooms refreshed on every server switch
- Rooms joined on different accounts remain hidden (not deleted) when switching
Curated rooms by country
The Radar homeserver hosts a curated collection of public rooms organised by country and topic — a ready-made starting point for meeting people near you or with shared interests. All rooms are live-fetched and sorted by the Radar app; tap any room to join instantly without leaving the app.
Built on open standards
Radar's Matrix integration is a proper implementation of the Matrix Client-Server API — not a webhook or bridge. Messages you send from Radar appear in Element, Cinny, or any other compliant Matrix client exactly as expected.
📡 Standard Client-Server API
All calls use the Matrix /_matrix/client/v3/ endpoints — the same spec as Element and other official clients. Room discovery, join, send, sync, upload, and state events all use standard paths.
🗂️ MXC Media URIs
Media files (images, video, audio, files) are sent as mxc:// URIs via the homeserver's media repository. Downloads are resolved through the server — full Matrix federation media support.
🔁 Global Sync Token
Radar tracks a next_batch token per session, enabling incremental sync. Only new events since the last sync are fetched — efficient on battery and bandwidth.
🤝 Federation-Aware
Because Radar uses the standard Matrix protocol, rooms on the Radar homeserver are federated with the wider Matrix network. Users on matrix.org can join Radar-hosted rooms and vice versa.
🧹 Automatic Cleanup
A scheduled weekly worker (MatrixCleanupWorker) quietly removes stale or orphaned Matrix chat records, keeping the local database tidy without user intervention.
🔒 Radar Encryption is Separate
Matrix public rooms use Matrix's own transport — Radar's end-to-end encryption does not apply. This is by design: public rooms are inherently open. Radar-to-Radar private chats remain fully E2E encrypted.
Open. Federated. Free.
Matrix rooms are included in the core Radar app at no cost. No account required on the Radar server — just open the app, browse rooms, and start chatting.