v0.0.21: WZP integration groundwork — CallSignal + token validation
WZP-FC-1: CallSignal WireMessage variant - CallSignalType enum: Offer, Answer, IceCandidate, Hangup, Reject, Ringing, Busy - Routed through existing E2E encrypted channels - Server dedup handles new variant - TUI shows "📞 Call signal: Offer" etc - CLI recv prints call signals WZP-FC-4: Token validation endpoint - POST /v1/auth/validate { "token": "..." } - Returns: { "valid": true, "fingerprint": "...", "alias": "..." } - WZP relay calls this to verify featherChat bearer tokens - Resolves alias alongside fingerprint These two unblock WZP integration tasks WZP-S-2 (accept FC tokens) and WZP-S-3 (signaling bridge mode). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -101,4 +101,34 @@ pub enum WireMessage {
|
||||
chain_key: [u8; 32],
|
||||
generation: u32,
|
||||
},
|
||||
/// Call signaling: SDP offers/answers, ICE candidates, call control.
|
||||
/// Routed through featherChat's E2E encrypted channel for WarzonePhone integration.
|
||||
CallSignal {
|
||||
id: String,
|
||||
sender_fingerprint: String,
|
||||
signal_type: CallSignalType,
|
||||
/// SDP offer/answer body, ICE candidate, or empty for hangup/reject.
|
||||
payload: String,
|
||||
/// Target peer (for 1:1) or group/room name (for group calls).
|
||||
target: String,
|
||||
},
|
||||
}
|
||||
|
||||
/// Call signaling types for WarzonePhone integration.
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
pub enum CallSignalType {
|
||||
/// Initiate a call (contains SDP offer or WZP connection params).
|
||||
Offer,
|
||||
/// Accept a call (contains SDP answer or WZP connection params).
|
||||
Answer,
|
||||
/// ICE candidate for NAT traversal.
|
||||
IceCandidate,
|
||||
/// Hang up / end call.
|
||||
Hangup,
|
||||
/// Reject incoming call.
|
||||
Reject,
|
||||
/// Call is ringing on the other side.
|
||||
Ringing,
|
||||
/// Peer is busy.
|
||||
Busy,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user