tangled
alpha
login
or
join now
stream.place
/
streamplace
Live video on the AT Protocol
74
fork
atom
overview
issues
1
pulls
pipelines
fixing lintzors
authored by
Natalie B.
and committed by
Eli Mallon
4 weeks ago
196e0804
f2169f59
+72
-72
3 changed files
expand all
collapse all
unified
split
js
app
components
mobile
player.tsx
components
src
livestream-store
websocket-consumer.tsx
docs
src
content
docs
lex-reference
openapi.json
+1
js/app/components/mobile/player.tsx
···
61
61
function PlayerWithProvider(
62
62
props: Partial<PlayerProps> & {
63
63
setFullscreen?: (fullscreen: boolean) => void;
64
64
+
onTeleport?: (targetHandle: string, targetDID: string) => void;
64
65
},
65
66
) {
66
67
const [showChat, setShowChat] = useState(true);
-1
js/components/src/livestream-store/websocket-consumer.tsx
···
8
8
PlaceStreamDefs,
9
9
PlaceStreamLivestream,
10
10
PlaceStreamLiveTeleport,
11
11
-
PlaceStreamModerationPermission,
12
11
PlaceStreamSegment,
13
12
} from "streamplace";
14
13
import { SystemMessages } from "../lib/system-messages";
+71
-71
js/docs/src/content/docs/lex-reference/openapi.json
···
517
517
}
518
518
}
519
519
},
520
520
-
"/xrpc/place.stream.live.denyTeleport": {
521
521
-
"post": {
522
522
-
"summary": "Deny an incoming teleport request.",
523
523
-
"operationId": "place.stream.live.denyTeleport",
524
524
-
"tags": ["place.stream.live"],
525
525
-
"responses": {
526
526
-
"200": {
527
527
-
"description": "Success",
528
528
-
"content": {
529
529
-
"application/json": {
530
530
-
"schema": {
531
531
-
"type": "object",
532
532
-
"properties": {
533
533
-
"success": {
534
534
-
"type": "boolean",
535
535
-
"description": "Whether the teleport was successfully denied."
536
536
-
}
537
537
-
},
538
538
-
"required": ["success"]
539
539
-
}
540
540
-
}
541
541
-
}
542
542
-
},
543
543
-
"400": {
544
544
-
"description": "Bad Request",
545
545
-
"content": {
546
546
-
"application/json": {
547
547
-
"schema": {
548
548
-
"type": "object",
549
549
-
"required": ["error", "message"],
550
550
-
"properties": {
551
551
-
"error": {
552
552
-
"type": "string",
553
553
-
"oneOf": [
554
554
-
{
555
555
-
"const": "TeleportNotFound"
556
556
-
},
557
557
-
{
558
558
-
"const": "Unauthorized"
559
559
-
}
560
560
-
]
561
561
-
},
562
562
-
"message": {
563
563
-
"type": "string"
564
564
-
}
565
565
-
}
566
566
-
}
567
567
-
}
568
568
-
}
569
569
-
}
570
570
-
},
571
571
-
"requestBody": {
572
572
-
"required": true,
573
573
-
"content": {
574
574
-
"application/json": {
575
575
-
"schema": {
576
576
-
"type": "object",
577
577
-
"properties": {
578
578
-
"uri": {
579
579
-
"type": "string",
580
580
-
"description": "The URI of the teleport record to deny.",
581
581
-
"format": "uri"
582
582
-
}
583
583
-
},
584
584
-
"required": ["uri"]
585
585
-
}
586
586
-
}
587
587
-
}
588
588
-
}
589
589
-
}
590
590
-
},
591
520
"/xrpc/place.stream.multistream.createTarget": {
592
521
"post": {
593
522
"summary": "Create a new target for rebroadcasting a Streamplace stream.",
···
1212
1141
}
1213
1142
},
1214
1143
"required": ["streamer", "livestreamUri"]
1144
1144
+
}
1145
1145
+
}
1146
1146
+
}
1147
1147
+
}
1148
1148
+
}
1149
1149
+
},
1150
1150
+
"/xrpc/place.stream.live.denyTeleport": {
1151
1151
+
"post": {
1152
1152
+
"summary": "Deny an incoming teleport request.",
1153
1153
+
"operationId": "place.stream.live.denyTeleport",
1154
1154
+
"tags": ["place.stream.live"],
1155
1155
+
"responses": {
1156
1156
+
"200": {
1157
1157
+
"description": "Success",
1158
1158
+
"content": {
1159
1159
+
"application/json": {
1160
1160
+
"schema": {
1161
1161
+
"type": "object",
1162
1162
+
"properties": {
1163
1163
+
"success": {
1164
1164
+
"type": "boolean",
1165
1165
+
"description": "Whether the teleport was successfully denied."
1166
1166
+
}
1167
1167
+
},
1168
1168
+
"required": ["success"]
1169
1169
+
}
1170
1170
+
}
1171
1171
+
}
1172
1172
+
},
1173
1173
+
"400": {
1174
1174
+
"description": "Bad Request",
1175
1175
+
"content": {
1176
1176
+
"application/json": {
1177
1177
+
"schema": {
1178
1178
+
"type": "object",
1179
1179
+
"required": ["error", "message"],
1180
1180
+
"properties": {
1181
1181
+
"error": {
1182
1182
+
"type": "string",
1183
1183
+
"oneOf": [
1184
1184
+
{
1185
1185
+
"const": "TeleportNotFound"
1186
1186
+
},
1187
1187
+
{
1188
1188
+
"const": "Unauthorized"
1189
1189
+
}
1190
1190
+
]
1191
1191
+
},
1192
1192
+
"message": {
1193
1193
+
"type": "string"
1194
1194
+
}
1195
1195
+
}
1196
1196
+
}
1197
1197
+
}
1198
1198
+
}
1199
1199
+
}
1200
1200
+
},
1201
1201
+
"requestBody": {
1202
1202
+
"required": true,
1203
1203
+
"content": {
1204
1204
+
"application/json": {
1205
1205
+
"schema": {
1206
1206
+
"type": "object",
1207
1207
+
"properties": {
1208
1208
+
"uri": {
1209
1209
+
"type": "string",
1210
1210
+
"description": "The URI of the teleport record to deny.",
1211
1211
+
"format": "uri"
1212
1212
+
}
1213
1213
+
},
1214
1214
+
"required": ["uri"]
1215
1215
}
1216
1216
}
1217
1217
}