Repository navigation
Releases
ProxiTap v3.1.0
ProxiTap Version 3.1.0 — Release Notes
Changes and improvements since Version 3.0.1
ProxiTap v3.1.0 delivers major reliability upgrades for Wi-Fi Aware (NAN) and WebRTC lobby connections, ultra-low-latency glitch-free stereo audio for 1-on-1 media sharing, full Bluetooth/wired earbud and microphone routing support, and complete Google Play Store policy compliance.
🚀 Key Features & Enhancements
1. 🔄 Robust First-Time Lobby Connections & Auto-Recovery
Connecting to a lobby no longer requires restarting the app if the initial Wi-Fi Aware or signaling handshake experiences a transient hiccup:
- Automatic Handshake & Data-Path Retries: Both Host and Client automatically retry Wi-Fi Aware session attach, service publish/discovery, NDP data-path negotiation (
RESET_NDP), Local Hotspot creation, and Ktor WebSocket signaling. - WebRTC ICE & UDP Proxy Recovery: Incoming loopback ICE candidates are buffered until remote SDP descriptions complete, early STUN frames are queued prior to local port resolution, and a 4.5s ICE watchdog automatically renegotiates the voice link if the initial handshake stalls.
- Live Status Toasts: Informative Toast notifications keep both Host and Client updated whenever a connection step is retrying or recovering during lobby join or mid-call.
- Fixed Passive Discovery Session Leak: Passive NAN discovery now runs strictly on the Server List screen and reuses the active
WifiAwareSessionhandle.
2. ⚡ Ultra-Low-Latency 1-on-1 Media Sharing
Engineered for two people watching a video on one phone while listening together via ProxiTap with no noticeable lip-sync delay or audio glitches:
- 5ms Unfragmented PCM Frames: Reduced 48 kHz 16-bit Stereo PCM capture chunks from 20ms (3,840 bytes) to 5ms (960 bytes) so every audio frame fits inside a single unfragmented IPv6 UDP packet.
- Hardware-Synced Adaptive Playout: Uses
USAGE_MEDIA+PERFORMANCE_MODE_LOW_LATENCYwith liveplaybackHeadPositiontracking, a 25ms pre-roll, and smooth linear PCM sample crossfading whenever buffer drift exceeds 60ms—keeping glass-to-glass latency locked around 30–45ms with zero clicks, pops, or choppiness. - WMM Voice QoS Priority: Direct UDP audio sockets set DSCP
EF(0xB8) for hardware Wi-Fi Voice queue prioritization and exchange 300ms keepalive/punch packets for instant scoped IPv6 discovery.
3. 🎧 Headphones & Earbuds Routing (Playback + Microphone)
ProxiTap is now fully aware of connected headphones and earbuds across all call and media modes:
- Automatic Earbud Detection & Hot-Plug Support: Detects Bluetooth Classic (SCO/A2DP), Bluetooth LE Audio (
TYPE_BLE_HEADSET), USB-C headsets, and 3.5mm wired headsets/headphones, automatically routing both call playback and microphone capture when connected or unplugged mid-call. - Interactive Audio Route Button: The in-call audio route control now cycles cleanly between Earbuds, Speaker, and Earpiece.
4. 🛡️ Google Play Store Policy Compliance
- Removed Accessibility Service Dependency: Removed the legacy Volume Button PTT
AccessibilityService(BIND_ACCESSIBILITY_SERVICE) to comply with Google Play Store policies. Standard Bluetooth / Earbud Button Push-To-Talk viaMediaSessionremains fully supported.
Full Changelog: v3.0.1...v3.1.0
ProxiTap v3.0.1
Release v3.0.1: Update package name to dev.hatsthings.proxitap and make accessibility prominent disclosure Google Play compliant.
ProxiTap v3.0.0
ProxiTap Version 3.0.0 — Release Notes
Changes and improvements since Version 2.0.0
ProxiTap v3.0.0 introduces powerful new real-time connection diagnostics, intelligent dynamic audio scaling, optimized low-latency streaming recovery, and a fully integrated web browser experience for media broadcast lobbies.
🚀 Key Features & Enhancements
1. 📶 Real-Time Connection Quality Indicators
Know exactly how stable your link is at a glance with brand-new, interactive visual indicators:
- Tri-Bar Signal strength icon: Renders live quality indicators using soft color-coding:
- Green (3 Bars): Excellent (Latency < 50ms, Loss < 1%)
- Yellow (2 Bars): Fair (Latency 50ms - 150ms, Loss 1% - 5%)
- Red (1 Bar): Poor (Latency > 150ms or Loss > 5%)
- Gray (0 Bars): Measuring/Unknown
- Adaptive layout: Automatically shows at the top-row near the settings cog in 1-on-1 voice calls, or next to each peer in the participant list for group voice and media broadcast lobbies.
- Live Diagnostics Dialog: Tap the signal bars to open a detailed diagnostics window. It now updates live in real-time to show:
- Latency (Ping Round-Trip Time in ms)
- Packet Loss Rate (calculated delta over 2-second windows)
- Audio Bitrate (current active encoding bitrate)
2. 🎚️ Dynamic Quality Adjustment & Bitrate Scaling
Never drop a call again due to distance or poor environment. ProxiTap will now dynamically stretch your bandwidth to keep you connected:
- Adaptive Bitrate Algorithm: Automatically scales WebRTC Opus audio bitrate down under strain (all the way to a minimal 2 kbps or 4 kbps for extreme links) to prevent dropout, and back up when conditions clear.
- Tuned Smoothing & DTX Safeguard:
- Uses an Exponential Moving Average (EMA) to smooth out short-term latency spikes (e.g. initial bursts when someone starts speaking).
- Implements a DTX Silence Safeguard to freeze quality state when no one is talking, preventing bitrate from climbing during silence.
- Conservative Step-Up: Requires 6 seconds of consecutive excellent connection before scaling quality up, preventing annoying bitrate bounce.
- Host Control: Toggle "Dynamic Quality Adjustment" in Host Settings (enabled by default). When active, the manual bitrate slider is safely locked out.
3. ⚡ Ultra-Low Latency & Fast-Catchup Audio
- Transient Glitch Protection: Optimized the media playback buffer specifically for 1-on-1 media lobbies. If there are dropouts, network switches, or reconnects, the audio player will immediately drop historical buffered audio to snap back to real-time latency (<200ms) instantly, without requiring a manual call restart.
4. 🌐 Integrated Web Browser & Media Broadcasting
- Built-in Browser: Added a native WebView browser to load streaming music, videos, and web players directly in the app.
- Desktop Mode Toggle: Bypass stubborn mobile redirection pages (like TikTok) that try to force you out of the browser.
- Spoofed User-Agents: Custom desktop headers ensure favorites, comments, and full playback controls work flawlessly inside the WebView.
5. 🛠️ Usability & Infrastructure Fixes
- Local Hotspot Mode Guidance: Added prominent warnings below the hotspot toggle on the Home Screen, explaining client Wi-Fi internet route blocking and recommending NAN (Wi-Fi Aware) as the default transport.
- Volatile Synchronization: Resolved multi-threaded caching issues on the background signaling loop, ensuring the host is always properly flagged as
(You, Host)on the host screen.
Full Changelog: v2.0.0...v3.0.0
ProxiTap v2.0.0
ProxiTap V2: Network Resiliency & Hardware PTT
Welcome to ProxiTap V2! While V1 laid the groundwork for our UI and local communication frameworks, V2 represents a massive overhaul of our networking architecture to make ProxiTap incredibly resilient, battery efficient, and ready for true outdoor Walkie-Talkie usage.
What's New
📶 Bulletproof Network Resiliency
- Auto-Reconnect & ICE Restarts: If a peer drops out of Wi-Fi range (or walks behind a thick wall), ProxiTap now automatically attempts to reconnect via Ktor. Once back in range, the app will instantly trigger WebRTC ICE Restarts to seamlessly rebuild the audio UDP paths without crashing the engine or tearing down the lobby!
- CPU WakeLocks: When the phone is locked in your pocket, Android's Doze mode previously paused the CPU, causing audio stuttering. ProxiTap V2 now aggressively holds a
PARTIAL_WAKE_LOCKto ensure flawless background audio processing. - Wi-Fi Hardware Locks: The app now grabs
WIFI_MODE_FULL_LOW_LATENCYlocks to force the Wi-Fi radio to stay awake and sensitive to weak signals at the absolute edge of your physical range. - Signaling Server Stability: Wrapped the Host's WebSocket bootloader in safe
try-catchfallbacks to prevent the app from crashing when rapidly creating and destroying lobbies due to Android's port-binding delays.
🎙️ Advanced Audio Tuning
- Opus DTX (Discontinuous Transmission): Enabled by default! WebRTC now analyzes your microphone and completely halts packet transmission during silence, drastically saving battery and freeing up crowded local Wi-Fi spectrums.
- Dynamic Bitrate Control: You can now manually set your desired audio bitrate in the Settings menu (ranging from 16 kbps for maximum outdoor range, up to 128 kbps for crystal clear in-office podcast quality).
- Hardware Auto-Gain Control (AGC): Enabled WebRTC's native hardware AGC to prevent audio blowouts when speaking too closely or too loudly into the microphone.
🔘 Physical Hardware Push-To-Talk
- Physical Volume PTT (Zello-Style): You can now turn your physical phone into a true Walkie-Talkie! Enabled via a new Accessibility Service in the settings, you can press and hold the physical Volume Up/Down buttons to toggle your mute state even when the screen is completely turned off and locked!
- Bluetooth Earbud PTT: You can also use your Bluetooth earbud's physical Play/Pause buttons to toggle your microphone.
Technical Details
This release includes significant upgrades to CallService, WebRtcClient, and SignalingServer.
Note: The new Volume PTT feature requires manually granting Accessibility Service permissions in Android's settings to bypass standard lock-screen input blocking.
Full Changelog: v1.0.0...v2.0.0
ProxiTap v1.0.0
Welcome to the first official release of ProxiTap! This build includes the complete Phase 1 and Phase 2 feature set, transforming your Android device into a powerful, decentralized local network walkie-talkie.
Core Networking & Audio
- Decentralized P2P Connections: Choose between Wi-Fi Aware (NAN) for seamless, drop-in background connections, or LocalOnlyHotspot for legacy compatibility.
- Persistent WebRTC Audio: Ultra low-latency, bidirectional audio streaming configured specifically for high-noise environments.
- Advanced Lobby Controls: Hosts have full control over the lobby. Set an optional PIN for security, tweak audio bitrates, and force specific network modes.
The Phase 2 Features - Hardware Push-To-Talk (PTT): Leave your phone in your pocket. ProxiTap can optionally intercept your Bluetooth earbud's physical play/pause media button to instantly toggle your microphone.
- RNNoise AI Wind Suppression: We've integrated an experimental C++ NDK bridge for the Xiph.org RNNoise deep learning model. This allows us to bypass standard Android hardware constraints to aggressively filter out extreme wind noise while riding.
- Wi-Fi RTT Radar: When using a NAN connection on supported hardware (like the Pixel 10 Pro), ProxiTap will automatically ping and calculate the exact physical distance (in meters) to your peers, updating directly on the Call Screen.
- Seamless Auto-Reconnect: If you ride out of range and drop the connection, the app will gracefully enter a silent polling state. The moment you catch back up and re-enter Wi-Fi range, you will instantly rejoin the lobby—no buttons required.
Deep Linking - Android App Links: The host can generate a shareable deep link (pt.htsth.app/join) or a dynamic QR code. If your friend scans it or clicks it, Android intercepts the URL and instantly drops them into your lobby. If they don't have the app installed, it elegantly routes them to the download page.
Full Changelog: https://github.com/TylerHats/ProxiTap/commits/v1.0.0