Skip to content

Commit 25d6d05

Browse files
Merge branch 'production' into maddy/email-security-pcx-16837
2 parents d11c0dd + d1221ca commit 25d6d05

File tree

188 files changed

+2677
-867
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+2677
-867
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@
203203
/src/content/docs/dmarc-management/ @Maddy-Cloudflare @cloudflare/pcx-technical-writing
204204
/src/content/docs/firewall/ @pedrosousa @cloudflare/firewall @cloudflare/pcx-technical-writing
205205
/src/content/docs/page-shield/ @pedrosousa @cloudflare/pcx-technical-writing
206+
/src/content/docs/secrets-store/ @RebeccaTamachiro @cloudflare/pcx-technical-writing
206207
/src/content/docs/security-center/ @jason-cf @cloudflare/pcx-technical-writing
207208
/src/content/docs/ssl/ @RebeccaTamachiro @cloudflare/pcx-technical-writing
208209
/src/content/docs/waf/ @pedrosousa @cloudflare/firewall @cloudflare/pcx-technical-writing

package-lock.json

Lines changed: 96 additions & 96 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"@astrojs/starlight-docsearch": "0.6.0",
3737
"@astrojs/starlight-tailwind": "3.0.1",
3838
"@astrojs/tailwind": "5.1.5",
39-
"@cloudflare/vitest-pool-workers": "0.8.12",
39+
"@cloudflare/vitest-pool-workers": "0.8.14",
4040
"@cloudflare/workers-types": "4.20250404.0",
4141
"@codingheads/sticky-header": "1.0.2",
4242
"@expressive-code/plugin-collapsible-sections": "0.40.2",
@@ -50,7 +50,7 @@
5050
"@types/node": "22.14.0",
5151
"@types/react": "19.0.7",
5252
"@types/react-dom": "19.0.4",
53-
"@typescript-eslint/parser": "8.29.0",
53+
"@typescript-eslint/parser": "8.29.1",
5454
"algoliasearch": "5.23.3",
5555
"astro": "5.6.1",
5656
"astro-breadcrumbs": "3.3.1",
@@ -75,7 +75,7 @@
7575
"he": "1.2.0",
7676
"jsonc-parser": "3.3.1",
7777
"lz-string": "1.5.0",
78-
"marked": "15.0.7",
78+
"marked": "15.0.8",
7979
"mdast-util-from-markdown": "2.0.2",
8080
"mdast-util-mdx": "3.0.0",
8181
"mdast-util-mdx-expression": "2.0.1",
@@ -117,7 +117,7 @@
117117
"ts-blank-space": "0.6.1",
118118
"tsx": "4.19.3",
119119
"typescript": "5.8.3",
120-
"typescript-eslint": "8.29.0",
120+
"typescript-eslint": "8.29.1",
121121
"unified": "11.0.5",
122122
"unist-util-visit": "5.0.0",
123123
"vite-tsconfig-paths": "5.1.4",

public/__redirects

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@
264264
/cache/how-to/edge-browser-cache-ttl/create-page-rules/ /cache/how-to/cache-rules/ 301
265265

266266
# Cloudflare Calls
267-
/calls/turn/overview/ /calls/turn/ 301
267+
/calls/turn/overview/ /realtime/turn/ 301
268268

269269
# china network
270270
/support/about-cloudflare/enterprise-documentation/understanding-and-configuring-an-icp-number/ /china-network/concepts/icp/ 301
@@ -1948,3 +1948,6 @@
19481948
/fundamentals/notifications/* /notifications/:splat 301
19491949
/support/other-languages/* /support/ 301
19501950
/support/speed/* /speed/ 301
1951+
1952+
# Calls
1953+
/calls/* /realtime/:splat 301

public/calls/static/calls-api-2024-05-21.yaml renamed to public/realtime/static/calls-api-2024-05-21.yaml

Lines changed: 169 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
openapi: 3.0.0
22
info:
3-
title: Cloudflare Calls API
3+
title: Cloudflare Realtime API
44
version: "1.0"
55
externalDocs:
6-
description: Find out more about Cloudflare Calls
7-
url: https://developers.cloudflare.com/calls/
6+
description: Find out more about Cloudflare Realtime
7+
url: https://developers.cloudflare.com/realtime/
88
servers:
99
- url: https://rtc.live.cloudflare.com/v1
1010
paths:
@@ -140,6 +140,17 @@ paths:
140140
sessionId: 2a45361d5fd7cc14eface0587c276c94
141141
trackName: generated-audio
142142
kind: "audio"
143+
remote_track_with_simulcast:
144+
description: Pull a remote track with simulcast preferences
145+
value:
146+
tracks:
147+
- location: remote
148+
sessionId: 2a45361d5fd7cc14eface0587c276c94
149+
trackName: simulcast-video-track
150+
simulcast:
151+
preferredRid: "h"
152+
priorityOrdering: "asciibetical"
153+
ridUnavailableStrategy: "nextPriority"
143154
security:
144155
- secret: []
145156
parameters:
@@ -207,6 +218,32 @@ paths:
207218
a=rtpmap:96 VP8/90000
208219
...
209220
type: offer
221+
remote_tracks_with_simulcast:
222+
value:
223+
requiresImmediateRenegotiation: true
224+
tracks:
225+
- sessionId: 2a45361d5fd7cc14eface0587c276c94
226+
trackName: simulcast-video-track
227+
mid: "5"
228+
simulcast:
229+
preferredRid: "h"
230+
priorityOrdering: "asciibetical"
231+
ridUnavailableStrategy: "nextPriority"
232+
sessionDescription:
233+
sdp: |
234+
v=0
235+
o=- 0 0 IN IP4 127.0.0.1
236+
s=-
237+
c=IN IP4 127.0.0.1
238+
t=0 0
239+
m=video 4002 RTP/AVP 96
240+
a=rtpmap:96 VP8/90000
241+
a=simulcast:recv f;h;q
242+
a=rid:f recv
243+
a=rid:h recv
244+
a=rid:q recv
245+
...
246+
type: offer
210247
/apps/{appId}/sessions/{sessionId}/renegotiate:
211248
put:
212249
tags:
@@ -329,6 +366,73 @@ paths:
329366
requiresImmediateRenegotiation: false
330367
tracks:
331368
- mid: "7"
369+
/apps/{appId}/sessions/{sessionId}/tracks/update:
370+
put:
371+
tags:
372+
- Change tracks
373+
summary: Change tracks by reusing existing transceivers
374+
requestBody:
375+
content:
376+
application/json:
377+
schema:
378+
$ref: "#/components/schemas/UpdateTracksRequest"
379+
examples:
380+
reuse_transceiver:
381+
description: Reuse an existing transceiver for a new track
382+
value:
383+
tracks:
384+
- location: "remote"
385+
sessionId: "2a45361d5fd7cc14eface0587c276c94"
386+
trackName: "other-track-name"
387+
mid: "7"
388+
reuse_with_simulcast:
389+
description: Reuse an existing transceiver with new simulcast preferences
390+
value:
391+
tracks:
392+
- location: "remote"
393+
sessionId: "2a45361d5fd7cc14eface0587c276c94"
394+
trackName: "simulcast-track"
395+
mid: "8"
396+
simulcast:
397+
preferredRid: "h"
398+
priorityOrdering: "asciibetical"
399+
ridUnavailableStrategy: "nextPriority"
400+
security:
401+
- secret: []
402+
parameters:
403+
- in: path
404+
name: appId
405+
schema:
406+
type: string
407+
required: true
408+
description: WebRTC application ID
409+
- in: path
410+
name: sessionId
411+
schema:
412+
type: string
413+
required: true
414+
description: Current PeerConnection session ID
415+
responses:
416+
"200":
417+
description: OK
418+
headers:
419+
vary:
420+
schema:
421+
type: string
422+
example: Origin
423+
content:
424+
application/json:
425+
schema:
426+
$ref: "#/components/schemas/UpdateTracksResponse"
427+
examples:
428+
success:
429+
value:
430+
requiresImmediateRenegotiation: false
431+
tracks:
432+
- mid: "7"
433+
sessionId: "2a45361d5fd7cc14eface0587c276c94"
434+
trackName: "new-track-name"
435+
332436
/apps/{appId}/sessions/{sessionId}:
333437
get:
334438
tags:
@@ -412,6 +516,27 @@ components:
412516
kind:
413517
type: string
414518
description: Give a hint to the SFU about the transceiver kind. This is required when the SFU generates the offer
519+
simulcast:
520+
type: object
521+
description: Simulcast configuration for the track
522+
properties:
523+
preferredRid:
524+
type: string
525+
description: Preferred RID for simulcast streams
526+
priorityOrdering:
527+
type: string
528+
enum:
529+
- none
530+
- asciibetical
531+
default: none
532+
description: Controls what happens if there is not enough network resources available to send the preferredRid. 'none' means keep sending even if not enough bandwidth, 'asciibetical' uses a-z order to determine priority where a is most desirable and z is least desirable.
533+
ridUnavailableStrategy:
534+
type: string
535+
enum:
536+
- none
537+
- nextPriority
538+
default: none
539+
description: Controls what happens when the rid currently being used or preferredRid is no longer being sent by the publisher. 'none' means do nothing, 'nextPriority' uses the next on the priorityOrdering.
415540
CloseTrackObject:
416541
type: object
417542
properties:
@@ -543,3 +668,44 @@ components:
543668
type: string
544669
sessionDescription:
545670
$ref: "#/components/schemas/SessionDescription"
671+
ChangeTracksRequest:
672+
type: object
673+
properties:
674+
tracks:
675+
type: object
676+
additionalProperties:
677+
allOf:
678+
- $ref: "#/components/schemas/TrackObject"
679+
description: Map of track IDs to track objects for changing tracks
680+
sessionDescription:
681+
$ref: "#/components/schemas/SessionDescription"
682+
UpdateTracksRequest:
683+
type: object
684+
properties:
685+
tracks:
686+
type: array
687+
items:
688+
$ref: "#/components/schemas/TrackObject"
689+
description: Array of track objects for updating tracks
690+
sessionDescription:
691+
$ref: "#/components/schemas/SessionDescription"
692+
UpdateTracksResponse:
693+
type: object
694+
properties:
695+
errorCode:
696+
type: string
697+
errorDescription:
698+
type: string
699+
requiresImmediateRenegotiation:
700+
type: boolean
701+
tracks:
702+
type: array
703+
items:
704+
allOf:
705+
- $ref: "#/components/schemas/TrackObject"
706+
- properties:
707+
errorCode:
708+
type: string
709+
errorDescription:
710+
type: string
711+
description: Array of track objects with results
1.01 MB
Loading
370 KB
Loading
138 KB
Loading
116 KB
Loading

0 commit comments

Comments
 (0)