Skip to content

v0.1.1

Latest

Choose a tag to compare

@Emmaccen Emmaccen released this 02 Jun 00:07
· 6 commits to main since this release

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 /fast route 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.
  • 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 AudioContext is 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.

✨ Enhancements & Onboarding

  • Persistent Username: Your username is now stored in localStorage after 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 Inter font for a cleaner, modern look across all platforms.
  • Disabled States: The message textarea and file picker now visually dim with a not-allowed cursor 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 ScrollArea conflict.

📌 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.