e60e80e4bd
Complete the WebView/server side of native LiveKit calls: - routes.js: /api/calls/answered (markDmAnswered) + /api/calls/end (endCallByRoom) so the server learns a NATIVE call was answered/ended (native media runs over LiveKit, bypassing our mesh/WS lifecycle). Additive no-ops for WebView/mesh calls. - home.html: for native calls the WebView no longer joins the room (one connection per identity — the plugin holds it). answerCall -> POST /api/calls/answered + clear invite; endCall -> /api/calls/end (answered) or /api/calls/decline (still ringing). Outgoing DM/group calls fetch a LiveKit token and hand it to NativeCall.reportOutgoingCall instead of enterMeeting. Removed the old callHandoff mic-repush. Server deploys now; the plugin (native LiveKit) needs a Codemagic build. Still gated by CALLKIT_ENABLED=0 — flip to 1 only after the build is installed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>