Hopline 2.1
Location, voice notes, replies, reactions and @mentions — all still with no signal, no server and no account.
Install Hopline.apk below on every phone before you leave signal. Android 8+, Google Play services, Bluetooth and WiFi on.
Location
Send where you are — GPS works with no signal and no internet — or name a meeting point by typing coordinates or pasting a Google Maps link. Everyone sees the pin with how far it is and which way ("1.2 km away · north-east of you"), worked out on their own phone, offline. Tapping it opens Google Maps. A pin is a hundred bytes, so it keeps working in crowds where photos switch off, and older versions of Hopline just see a maps link to the same spot.
Live location
Share your position for 15 minutes, 1 hour or 8 hours. It rides the presence beacons phones already send each other, so it costs no extra radio traffic and slows down with the crowd exactly like presence does. The People screen shows everyone sharing, with distance and direction, updating as you both walk. A banner in the chat and the always-on notification make sure it is never sharing quietly, one tap stops it, and it stops itself when the time is up. If your phone stops getting fixes, it stops broadcasting rather than repeating a stale position.
Voice notes
Tap the mic, talk for up to a minute, send. A clip is about 180 KB per minute and travels in pieces like a photo; the play bar fills in honestly as those pieces arrive.
Replies, reactions, @mentions
Swipe any message to the right to reply — the quote travels with the reply, so it still reads properly on a phone that never received the original. Tap a quote to jump back to it. Long-press for quick reactions (👍 ❤️ 😂 😮 😢 🙏); tap the pill under a bubble to see who reacted. Type @ for name chips. Being mentioned always buzzes, even for messages that arrive late as backlog — but a reunion delivering ten of them buzzes once, not ten times.
Under the hood
- Protocol version 3. Reactions are carried and gap-filled like chat, so late joiners see them, and older clients are never re-sent the backlog.
- Coordinates travel as integer microdegrees, so message signatures stay byte-identical on every device.
- Crafted-client limits throughout: reactor caps, emoji clipping, coordinate validation, presence-timestamp clamping.
- 46 unit tests, lint clean.