MeshDrop v0.1.1 (Stable Release)
We are thrilled to announce that MeshDrop is officially stepping out of Beta! Version 0.1.1 is our first stable release, bringing massive speed upgrades, rock-solid iOS support, a much smoother onboarding experience, and a beautifully redesigned chat interface.
This release aggregates everything built after beta.4. Here is the complete breakdown of what's new.
π Major Features
-
Fast Send Mode
- Brand new
/fastroute powered by 4 parallel WebRTC data channels for up to 4Γ faster file transfers. - Peers connect via a short Room ID shared over the internet for the handshake β the actual file transfer remains fully local.
- Multi-channel ICE negotiation via Firebase Firestore signaling with per-channel backpressure.
- New in this release: Text messages can now be sent and received alongside files in Fast Send mode.
- Brand new
-
Silent Audio Keep-Alive
- Completely replaced the Screen Wake Lock API with a near-silent Web Audio oscillator (
useSilentAudioKeepAlive) to prevent browser tab throttling on mobile during long transfers. - iOS PWA Support: A single global
AudioContextis now unlocked on the first user interaction, ensuring the screen stays on throughout massive Fast Send transfers on iPhone without requiring aggressive Wake Lock re-acquisition cycles.
- Completely replaced the Screen Wake Lock API with a near-silent Web Audio oscillator (
β¨ Enhancements & Onboarding
- Persistent Username: Your username is now stored in
localStorageafter your first entry. On subsequent connections, both Create and Join modals skip straight to the next step. - Guided Setup: Both Standard and Fast Send pages now show clear, step-by-step setup guides for first-time users, clarifying that both devices must be on the same router or hotspot.
- Instant Mode Switching: A new Modes section in the sidebar lets you seamlessly switch between Standard and Fast Send.
- Removed Inaccurate Connection Indicator: We removed the old P2P connectivity header badge as it was unreliable, prioritizing actual transfer speed and connection tests.
π¨ UI/UX Redesign
- Chat Bubbles: A gorgeous redesign for messages. Sent messages feature a primary color background sliding in from the right, while received messages use a muted background sliding from the left.
- Sender Status Indicator: When sending large files, the file bubble now shows an honest, pulsing Sending⦠text while chunks are being dispatched across channels, revealing the preview when complete.
- Modern Typography: Switched to the
Interfont for a cleaner, modern look across all platforms. - Disabled States: The message textarea and file picker now visually dim with a
not-allowedcursor when no data channel is active, preventing accidental clicks.
π Critical Bug Fixes
- Receiver OOM Crash on Large Files (iOS Safari):
- The problem: Storing massive arrays of chunk payloads in JS heap memory caused 200MB+ files to trigger an out-of-memory crash on iOS devices.
- The fix: Chunks are now exclusively written to IndexedDB. Memory footprint stays flat regardless of file size!
- Fast Send Assembly Race Condition: Fixed an edge case where the final chunk arriving on one channel could trigger file assembly before the other 3 parallel channels finished saving their chunks.
- Fast Send Chat Scroll Lock: Added correct flex constraints so the message container respects viewport bounds and scrolls gracefully instead of stretching infinitely.
- Toast Storm on Connection Failure: Fixed an infinite loop of error toasts when a connection dropped mid-transfer. Each failed transfer now gracefully halts and shows a single deduped notification.
- Auto-Scroll on Classic Page: Fixed scroll-to-bottom not working reliably on the Standard chat page due to a Radix
ScrollAreaconflict.
π Known Limitations
- Fast Send uses internet-only signaling (Room ID via Firestore); QR-based peer discovery is reserved for Standard offline mode.
- Hotspot-based connections may work but are not guaranteed depending on strict device NAT configurations.
- A granular sender-side transfer progress bar is not currently shown in Fast Send because the sender flushes synchronously to maximize speed. This is planned for a future release via a dedicated worker bridge.