What's New

v2.1.0 2026-06-19
  • DROPS Gig Economy — A full gig marketplace inside the app. Browse available DROPS, claim tasks, deliver proof, and track earnings in real time. Location-based gig cards show payout, distance, and deadline. Completed DROPS settle automatically to your Earnings tab.
  • Spaces Audio Rooms — Host or join live voice rooms directly from the app. Speakers get promoted with one tap; listeners use hand-raise to request the floor. Rooms persist until the host ends them. Role management (host / co-host / listener) and scheduled rooms supported.
  • Node Identity Sync with Portal — Your Edge Witness node ID now links to your portal developer account. Username, display name, bio, and node ID are synced in a unified profile. Tap "Link Node" in the Profile tab to bind the device key to your portal identity — earnings, verified status, and NodeBook all read from the same identity.
  • Profile fields expanded — Username, display name, and bio are now editable directly from the Profile screen and reflected on your public profile page.
v2.0.2 2026-06-12
  • Modern call icons — Material vector icons replace emoji buttons on the call screen. Speaker, mic, video, flip, react, and end-call all now use proper icon shapes that respond to accent color changes.
  • Emoji reactions in calls — Tap the reaction button during any call to send a floating emoji (❤️ 😂 👍 🔥 😮 👏). Live call duration and participant count shown in the status line.
  • QR share as image — New "Share QR Image" button in the Node ID modal lets you send the QR code as a PNG via any share target.
  • NodeBook caller ID — Incoming call notifications now show the saved display name from your NodeBook instead of a raw node ID.
  • Ringer follows system volume — Incoming call tone and vibration are suppressed when the device is in silent/DND mode.
  • NodeBook add button fixed — FAB is now always visible above the nav bar, not hidden behind it.
  • USDC deposit + Card purchase — New "Add Funds" section in Earnings shows your deposit address for direct USDC transfers and a "Buy with Card" path via Stripe.
  • Seal Drop — NodeBook picker + access key — Sealed drops can now pull recipients directly from NodeBook. An auto-generated access key is shown for easy sharing with group members.
  • Profile picture from gallery — Tap your avatar to choose between camera or gallery for profile photos.
  • Public profile for jobs and streaming — New Public Profile section lets you set a display name, bio, and availability flags required to claim jobs and host live streams.
  • Mark notifications as read — "Mark all read" button on the Notifications screen clears the red dot.
v2.0.1 2026-06-12
  • ANR fix — group call no longer freezes — WebRTC PeerConnection init and camera negotiation for the 3rd participant was happening on the main thread, triggering an "App Not Responding" dialog. Moved to IO scope; group upgrade is now non-blocking.
  • "You" self-thumbnail restored — In group calls the self-preview tile (top-right) was black because the local video track lost its sink when the primary peer connection moved to peerSessions. Engine now routes the local renderer through peerSessions correctly.
  • Double-ring / two phone icons fixed — Incoming CALL_INVITE is now dropped when a call is already CONNECTED or CALLING. Eliminates phantom ring and dual phone icon in the status bar during active calls.
v2.0.0 2026-06-12
  • Session Pairing Invariant — Mad House fix — The apex router had session locking built in but Android never activated it. On call connect, the app now calls the pair endpoint to lock the session; on call end it releases the lock. Prevents other nodes from injecting WebRTC signaling into an active call (crosstalk / "Mad House").
  • ICE auto-restart — Engine retries ICE up to 3× on FAILED state instead of dropping. Reconnect button added to call controls for manual retry.
  • Group call TURN + TCP fallback — Group peer connections now use both UDP and TCP TURN transport.
v1.9.9 2026-06-12
  • ICE auto-restart — Call engine now automatically retries ICE negotiation up to 3 times when it enters FAILED state, instead of dropping the call.
  • Reconnect button — New Reconnect button in call controls lets you manually force ICE re-negotiation mid-call.
  • Group call TURN fix — Group call peer connections now include TCP TURN transport.
v1.9.8 2026-06-12
  • Group chat call button — Phone icon now appears in the group chat header. Tap to start a call with all group members — first member dialed 1:1, remaining added automatically via group upgrade.
  • Profile version badge — Profile screen now shows the correct installed app version instead of a stale build number.
v1.9.7 2026-06-11
  • TCP TURN transport fallback — Added TCP transport for TURN relay alongside UDP. Fixes "connected but no audio/video" on networks that block UDP port 3478 (corporate firewalls, some mobile carriers).
v1.9.6 2026-06-12
  • ICE candidate buffering — WebRTC ICE candidates are now buffered when the WebSocket reconnects mid-call and flushed on reconnect. Fixes "connected but no audio/video" caused by dropped candidates during the reconnect window.
v1.9.5 2026-06-12
  • WebSocket reconnect hardened — Global mesh now reconnects on clean server-side closes (not just failures). Prevents nodes from silently going offline and missing call invites.
  • Group chat member picker fix — NodeBook contacts now load when the Create Group sheet opens, even if the NodeBook tab was never visited.
v1.9.4 2026-06-12
  • Cross-network call fix — Fixed "continued to ring after answering" on cross-network calls. Local IP invite now falls back to global TURN relay when TCP to private address fails.
  • 4-second TCP timeout — Local connection attempt now times out in 4s instead of blocking indefinitely, making fallback instant.
v1.9.3 2026-06-11
  • Call audio fix — Fixed no-audio issue where both parties could not hear each other after answering. ICE now falls back to TURN relay when direct UDP is blocked (NAT or AP isolation).
  • Audio focus hardened — Calls now request exclusive long-term audio focus, preventing other apps from interrupting call audio.
  • Notifications — Alerts for new jobs, nearby Ghost Drops, sealed drops (Base L2), missed calls, and dropped calls.
  • Mobile Data toggle — Settings toggle now correctly activates/deactivates kinetic roaming.
v1.9.2 2026-06-11
  • Unrestricted calling — All users now have unlimited calling credits. No balance restrictions on any node.
  • First-install color picker — New users see an accent color selection sheet on first launch to personalize their UI theme.
  • Jobs + Pending sub-tabs — Pending moved out of the main nav bar and into a sub-tab under Jobs, freeing space for a cleaner 5-item nav.
  • V3 APK signing — APK re-signed with apksigner (V1 + V2 + V3 schemes). Resolves "App not installed as package appears to be invalid" on Android 7+.
v1.8.0 2026-06-10
  • Call audio volume — Claimed Android audio focus (MODE_IN_COMMUNICATION + requestAudioFocus) and maximised STREAM_VOICE_CALL at call start. Added WebRTC echo cancellation, AGC, noise suppression, and high-pass filter constraints — fixes low volume on international TURN-relayed calls.
  • Incoming call ringtone & vibration — Notification channel renamed to dltn_call_channel_v2 (Android channels are immutable after creation). Direct RingtoneManager playback (looping) + VibrationEffect.createWaveform now fire when an incoming call arrives — both ends now ring and vibrate.
  • Camera flip button — 🔄 Flip button appears in the video call controls row during active video calls; switches front/rear camera.
  • GRP_* group relay (server) — LNES-12 global mesh now supports multicast rooms. POST /api/v1/mesh/group/{room}/join/{node} registers a node; messages addressed to GRP_{room} fan out to all room members except the sender. Deployed to production apex router.
  • In-app self-update — Settings screen now has a Download Latest Version button. Downloads the latest APK from explorer-api.exergynet.org/downloads/ExergyNet-latest.apk with live progress (downloading → N% → installing), then launches the Android package installer automatically.
v1.7.3 2026-06-07
  • LNES-12 global mesh — WebSocket relay live at wss://explorer-api.exergynet.org/api/v1/mesh/global/{nodeId}. A dedicated TURN relay enables cross-internet WebRTC calls without relying on centralized Web2 infrastructure.
  • LNES-06 blue-team hardening — Per-session crypto, PSK rotation, ASSA/AREM sensor pipeline locked.