Confirmed users
632
edits
No edit summary |
|||
| Line 1: | Line 1: | ||
== API Changes == | |||
=== Joining a Room === | |||
[[Loop/Architecture/Rooms#Joining a Room]] | [[Loop/Architecture/Rooms#Joining a Room]] | ||
| Line 16: | Line 20: | ||
=== User Identification in a Room === | |||
[[Loop/Architecture/Rooms#User Identification in a Room]] | [[Loop/Architecture/Rooms#User Identification in a Room]] | ||
| Line 27: | Line 32: | ||
* fingerprints: A list of "fingerprint" values associated with all the PeerConnections the client currently has in use. Only included if client included "fingerprint" in features array in "join" | * fingerprints: A list of "fingerprint" values associated with all the PeerConnections the client currently has in use. Only included if client included "fingerprint" in features array in "join" | ||
=== Joining a Room === | |||
[[Loop/Architecture/Rooms#Joining a Room]] | [[Loop/Architecture/Rooms#Joining a Room]] | ||
| Line 40: | Line 46: | ||
"fingerprint": "sha-256 15:E2:AF:50:91:87:FD:54:4C:82:F5:65:46:7A:84:D8:6C:53:00:99:C6:97:4E:64:2A:32:AA:A5:3C:91:E9:51" | "fingerprint": "sha-256 15:E2:AF:50:91:87:FD:54:4C:82:F5:65:46:7A:84:D8:6C:53:00:99:C6:97:4E:64:2A:32:AA:A5:3C:91:E9:51" | ||
} | } | ||
=== Retrieving Room Information === | |||
[[Loop/Architecture/Rooms#GET_.2Frooms.2F.7Btoken.7D]] | [[Loop/Architecture/Rooms#GET_.2Frooms.2F.7Btoken.7D]] | ||
| Line 82: | Line 91: | ||
} | } | ||
== Proof-of-Concept Shim == | == Client Behavior == | ||
Roughly: | |||
* Monkeypatch setLocalDescription. When called: | |||
** POST new fingerprint to the room using "newpc" action | |||
* Monkeypatch setRemoteDescription. When called: | |||
*# Check list of fingerprints published by other person in the room | |||
*# If no match, perform a room GET to refresh information, and compare again | |||
*# If still no match, set a timer for 1 second; on expiry, try one more fetch and compare | |||
*# If still no match, error out the session and log an error to the server | |||
== Proof-of-Concept Monkeypatch Shim == | |||
window._originalRTCPeerConnection = window.mozRTCPeerConnection; | window._originalRTCPeerConnection = window.mozRTCPeerConnection; | ||