aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-09-16 14:24:09 +0200
committermetamuffin <metamuffin@disroot.org>2022-09-16 14:24:09 +0200
commitfa47c353d7ebc653e5a90eee68535fb6e55f2c30 (patch)
tree0fce881b73ac683edbc59c55d4e40c8bc63bca4a
parent051151421c4438d7d930c9036003dd82d8a6806d (diff)
downloadkeks-meet-fa47c353d7ebc653e5a90eee68535fb6e55f2c30.tar
keks-meet-fa47c353d7ebc653e5a90eee68535fb6e55f2c30.tar.bz2
keks-meet-fa47c353d7ebc653e5a90eee68535fb6e55f2c30.tar.zst
extend protocol for optional streams
-rw-r--r--common/packets.d.ts18
-rw-r--r--readme.md2
2 files changed, 15 insertions, 5 deletions
diff --git a/common/packets.d.ts b/common/packets.d.ts
index 4c4f8b2..c5e9637 100644
--- a/common/packets.d.ts
+++ b/common/packets.d.ts
@@ -4,14 +4,14 @@ type F_RTCSdpType = "answer" | "offer" | "pranswer" | "rollback";
interface F_RTCSessionDescriptionInit { sdp?: string; type: F_RTCSdpType; }
interface F_RTCIceCandidateInit { candidate?: string; sdpMLineIndex?: number | null; sdpMid?: string | null; usernameFragment?: string | null; }
-export interface ClientboundPacket {
+export interface /* enum */ ClientboundPacket {
init?: { your_id: number, version: string },
client_join?: { id: number },
client_leave?: { id: number },
message?: { sender: number, message: string /* encrypted RelayMessageWrapper */ },
}
-export interface ServerboundPacket {
+export interface /* enum */ ServerboundPacket {
ping?: null,
relay?: { recipient?: number, message: string /* encrypted RelayMessageWrapper */ },
}
@@ -21,11 +21,21 @@ export interface RelayMessageWrapper {
inner: RelayMessage
}
-export interface RelayMessage {
+export interface /* enum */ RelayMessage {
chat?: ChatMessage,
identify?: { username: string }
+
+ provide?: ProvideInfo
+ request?: { id: number }
+
offer?: F_RTCSessionDescriptionInit,
answer?: F_RTCSessionDescriptionInit,
ice_candidate?: F_RTCIceCandidateInit,
}
-export interface ChatMessage { text?: string, image?: string } \ No newline at end of file
+export interface ChatMessage { text?: string, image?: string }
+export interface ProvideInfo {
+ id: number,
+ kind: "audio" | "video" | "file"
+ label?: string
+ size?: number
+}
diff --git a/readme.md b/readme.md
index 59e017f..7a0e43b 100644
--- a/readme.md
+++ b/readme.md
@@ -35,7 +35,7 @@ When changing code, use `make watch` to re-build things automatically as needed.
If you use this project or have any suggestions, please [contact me](https://metamuffin.org/contact)
-## Rift
+## _Rift_
_Rift_ is similar to the [magic wormhole](https://github.com/magic-wormhole/magic-wormhole), except that is peer-to-peer. It reuses the keks-meet signaling server to establish a WebRTC data channel.