First pass at adding a waiting room.
This commit is contained in:
1 parent
9125e76d43
commit
ae55982a40
17 files changed
+1254
-100
No files matched your search
@@ -145,6 +145,26 @@ func TestMicrophoneHardStopLivesInSelfMenu(t *testing.T) {
|
||||
requireFunctionContains(t, js, "userMenu", "Restart audio connection")
|
||||
}
|
||||
|
||||
func TestWaitingRoomUsesAccessibleNativeControlsAndLiveRegions(t *testing.T) {
|
||||
html := readStaticFile(t, "skald.html")
|
||||
js := readStaticFile(t, "skald.js")
|
||||
|
||||
requireContains(t, html, `aria-labelledby="waiting-heading"`, "waiting room")
|
||||
requireContains(t, html, `id="waiting-heading" tabindex="-1"`, "waiting heading")
|
||||
requireContains(t, html, `label for="waiting-auto-join"`, "automatic join label")
|
||||
requireContains(t, html, `id="waiting-join" type="button"`, "join button")
|
||||
requireContains(t, html, `id="waiting-leave" type="button"`, "leave button")
|
||||
requireContains(t, html, `aria-labelledby="waiting-list-heading"`, "operator waiting list")
|
||||
requireFunctionContains(t, js, "showWaitingRoom", "waiting-heading').focus")
|
||||
requireFunctionContains(t, js, "updateWaitingStatus", "Math.ceil")
|
||||
requireFunctionContains(t, js, "updateWaitingStatus", "announceChat(status)")
|
||||
requireFunctionContains(t, js, "gotWaiting", "announceUrgent")
|
||||
requireFunctionContains(t, js, "renderWaitingList", "document.createElement('button')")
|
||||
requireFunctionContains(t, js, "renderWaitingList", "button.type = 'button'")
|
||||
requireFunctionContains(t, js, "gotJoined", "Your microphone is not enabled")
|
||||
requireFunctionContains(t, js, "gotJoined", "Your microphone is ${enabled ? 'unmuted' : 'muted'}")
|
||||
}
|
||||
|
||||
func TestRecordingControlLivesInSelfMenu(t *testing.T) {
|
||||
js := readStaticFile(t, "skald.js")
|
||||
|
||||
|
||||
@@ -230,6 +230,7 @@ func whipEndpointHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
if !canPresent(c.Permissions()) {
|
||||
hall.DelClient(c)
|
||||
rtpconn.WaitingCapacityChanged(g)
|
||||
http.Error(w, "Forbidden", http.StatusForbidden)
|
||||
return
|
||||
}
|
||||
@@ -239,6 +240,7 @@ func whipEndpointHandler(w http.ResponseWriter, r *http.Request) {
|
||||
answer, err := c.NewConnection(r.Context(), body)
|
||||
if err != nil {
|
||||
hall.DelClient(c)
|
||||
rtpconn.WaitingCapacityChanged(g)
|
||||
log.Printf("WHIP offer: %v", err)
|
||||
httpError(w, err)
|
||||
return
|
||||
|
||||
Reference in new issue
Block a user