Fix broken smartLinks
(Extracted from the latest Prod Build - 2022-11-25.)
In APIRef the smartLink to ...
- [ ] /en-US/docs/Web/API/HTMLMediaElement/mediaKeys is broken
- [ ] /en-US/docs/Web/API/MDN is broken
- [ ] /en-US/docs/Web/API/MediaTrackCapabilities is broken
- [ ] /en-US/docs/Web/API/MediaTrackCapabilities is broken
- [ ] /en-US/docs/Web/API/Media_Recorder_API is broken
- [ ] /en-US/docs/Web/API/Navigator/mozPresentationDeviceInfo is broken
- [ ] /en-US/docs/Web/API/PaintRenderingContext2D is broken
- [ ] /en-US/docs/Web/API/PaintSize is broken
- [ ] /en-US/docs/Web/API/PaintWorkletGlobalScope is broken
- [ ] /en-US/docs/Web/API/PresentationDeviceInfoManager is broken
- [ ] /en-US/docs/Web/API/PresentationSession is broken
- [ ] /en-US/docs/Web/API/PresentationSessionConnectEvent is broken
- [ ] /en-US/docs/Web/API/SVGAnimatedPathData is broken
- [ ] /en-US/docs/Web/API/SVGDocument is broken
- [ ] /en-US/docs/Web/API/SVGFilterPrimitiveStandardAttributes is broken
- [ ] /en-US/docs/Web/API/SVGFitToViewBox is broken
- [ ] /en-US/docs/Web/API/SVGPathSeg is broken
- [ ] /en-US/docs/Web/API/SVGPathSegArcAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegArcRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegClosePath is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoCubicAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoCubicRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoCubicSmoothAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoCubicSmoothRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoQuadraticAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoQuadraticRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoQuadraticSmoothAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegCurvetoQuadraticSmoothRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegLinetoAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegLinetoHorizontalAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegLinetoHorizontalRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegLinetoRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegLinetoVerticalAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegLinetoVerticalRel is broken
- [ ] /en-US/docs/Web/API/SVGPathSegList is broken
- [ ] /en-US/docs/Web/API/SVGPathSegMovetoAbs is broken
- [ ] /en-US/docs/Web/API/SVGPathSegMovetoRel is broken
- [ ] /en-US/docs/Web/API/SVGTests is broken
- [ ] /en-US/docs/Web/API/SVGTransformable is broken
- [ ] /en-US/docs/Web/API/SVGZoomAndPan is broken
- [ ] /en-US/docs/Web/API/SVGZoomEvent is broken
- [ ] /en-US/docs/Web/API/ServiceWorkerGlobalScope/onperiodicsync is broken
- [ ] /en-US/docs/Web/API/TextTrack/sourceBuffer is broken
- [x] /en-US/docs/Web/API/VideoStreamTrack is broken
- [x] /en-US/docs/Web/API/VideoStreamTrack is broken
- [ ] /en-US/docs/Web/API/WebGLObject is broken
- [ ] /en-US/docs/Web/API/WorkletGlobalScope is broken
- [ ] /en-US/docs/Web/API/XMLHttpRequestUpload is broken
- [ ] /en-US/docs/Web/API/window/MediaRecorder is broken
In CSSRef the smartLink to ...
- [ ] /en-US/docs/Web/CSS/CSS_Scroll_Snap/Browser_compat is broken (redirects to /en-US/docs/Web/CSS/CSS_Scroll_Snap)
- [ ] /en-US/docs/Web/CSS/CSS_Scroll_Snap/Browser_compat is broken (redirects to /en-US/docs/Web/CSS/CSS_Scroll_Snap)
- [ ] /en-US/docs/Web/CSS/CSS_Scroll_Snap/Browser_compat is broken (redirects to /en-US/docs/Web/CSS/CSS_Scroll_Snap)
In CSS_Ref the smartLink to ...
- [ ] /en-US/docs/Web/CSS/:host() is broken (redirects to /en-US/docs/Web/CSS/:host_function)
- [ ] /en-US/docs/Web/CSS/:host-context() is broken
- [ ] /en-US/docs/Web/CSS/@font-face/font-feature-settings is broken
- [ ] /en-US/docs/Web/CSS/@font-face/font-variant is broken (redirects to /en-US/docs/Web/CSS/@font-face)
- [ ] /en-US/docs/Web/CSS/@historical-forms is broken
- [ ] /en-US/docs/Web/CSS/@import/layer() is broken
- [ ] /en-US/docs/Web/CSS/@import/supports() is broken
- [ ] /en-US/docs/Web/CSS/@page/bleed is broken
- [ ] /en-US/docs/Web/CSS/@page/marks is broken
- [ ] /en-US/docs/Web/CSS/@scroll-timeline is broken (redirects to /en-US/docs/Web/CSS/scroll-timeline)
- [ ] /en-US/docs/Web/CSS/an-plus-b is broken
- [ ] /en-US/docs/Web/CSS/block-overflow is broken
- [ ] /en-US/docs/Web/CSS/caret is broken
- [ ] /en-US/docs/Web/CSS/caret-shape is broken
- [ ] /en-US/docs/Web/CSS/conic-gradient is broken (redirects to /en-US/docs/Web/CSS/gradient/conic-gradient)
- [ ] /en-US/docs/Web/CSS/hwb is broken
- [ ] /en-US/docs/Web/CSS/image-set is broken (redirects to /en-US/docs/Web/CSS/image/image-set)
- [ ] /en-US/docs/Web/CSS/input-security is broken
- [ ] /en-US/docs/Web/CSS/lab is broken
- [ ] /en-US/docs/Web/CSS/layer is broken
- [ ] /en-US/docs/Web/CSS/lch is broken
- [ ] /en-US/docs/Web/CSS/leader is broken
- [ ] /en-US/docs/Web/CSS/line-clamp is broken
- [ ] /en-US/docs/Web/CSS/linear-gradient is broken (redirects to /en-US/docs/Web/CSS/gradient/linear-gradient)
- [ ] /en-US/docs/Web/CSS/max-lines is broken
- [ ] /en-US/docs/Web/CSS/mod is broken
- [ ] /en-US/docs/Web/CSS/paint is broken (redirects to /en-US/docs/Web/CSS/image/paint)
- [ ] /en-US/docs/Web/CSS/radial-gradient is broken (redirects to /en-US/docs/Web/CSS/gradient/radial-gradient)
- [ ] /en-US/docs/Web/CSS/rem is broken
- [ ] /en-US/docs/Web/CSS/repeating-conic-gradient is broken (redirects to /en-US/docs/Web/CSS/gradient/repeating-conic-gradient)
- [ ] /en-US/docs/Web/CSS/repeating-linear-gradient is broken (redirects to /en-US/docs/Web/CSS/gradient/repeating-linear-gradient)
- [ ] /en-US/docs/Web/CSS/repeating-radial-gradient is broken (redirects to /en-US/docs/Web/CSS/gradient/repeating-radial-gradient)
- [ ] /en-US/docs/Web/CSS/reversed is broken
- [ ] /en-US/docs/Web/CSS/ruby-merge is broken
- [ ] /en-US/docs/Web/CSS/scroll is broken (redirects to /en-US/docs/Web/CSS/overflow)
- [ ] /en-US/docs/Web/CSS/selector is broken
- [ ] /en-US/docs/Web/CSS/single-transition-timing-function#cubic-bezier() is broken (redirects to /en-US/docs/Web/CSS/easing-function)
- [ ] /en-US/docs/Web/CSS/single-transition-timing-function#steps() is broken (redirects to /en-US/docs/Web/CSS/easing-function)
- [ ] /en-US/docs/Web/CSS/target-counter is broken
- [ ] /en-US/docs/Web/CSS/target-counters is broken
- [ ] /en-US/docs/Web/CSS/target-text is broken
- [ ] /en-US/docs/Web/CSS/timing-function is broken (redirects to /en-US/docs/Web/CSS/easing-function)
- [ ] /en-US/docs/Web/CSS/type is broken
- [ ] /en-US/docs/Web/CSS/word-wrap is broken (redirects to /en-US/docs/Web/CSS/overflow-wrap)
Other:
- [ ] In JSRef the smartLink to /en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler is broken (redirects to /en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy)
- [ ] In JSRef the smartLink to /en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler is broken (redirects to /en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy)
- [ ] In SVGRef the smartLink to /en-US/docs/Web/SVG/Element/color-profile is broken
Looks like it's hard to analyze without the log context... 🙁
Example:
- /en-US/docs/Web/API/HTMLMediaElement/mediaKeys is broken
This is caused by https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySession/keystatuseschange_event, which has a link to mediaKeys in the sidebar:
I wonder why!? 🤔
@wbamberg Do you have an explanation for why a link to the non-existing HTMLMediaElement.mediaKeys page appears there?
@wbamberg Do you have an explanation for why a link to the non-existing
HTMLMediaElement.mediaKeyspage appears there?
It's because https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySession/keystatuseschange_event is declaring a sidebar like this:
{{APIRef("Encrypted Media Extensions")}}
...which is telling APIRef that this feature belongs to the "Encrypted Media Extensions" group, so APIRef will add links for everything it finds in that group. And the group for "Encrypted Media Extensions" in GroupData includes HTMLMediaElement.mediaKeys:
"Encrypted Media Extensions": {
"overview": ["Encrypted Media Extensions API"],
"interfaces": [
"MediaKeyMessageEvent",
"MediaKeys",
"MediaKeySession",
"MediaKeyStatusMap",
"MediaKeySystemAccess"
],
"methods": [
"Navigator.requestMediaKeySystemAccess()",
"HTMLMediaElement.setMediaKeys()"
],
"properties": ["HTMLMediaElement.mediaKeys"],
"events": ["HTMLMediaElement: encrypted"]
},
FWIW (and fairly unusually for Web/API sidebars) this seems to be all correct, on its own terms at least: MediaKeySession.keystatuseschange does belong to the EME spec, and that spec does also define HTMLMediaElement.mediaKeys.
So one fix is to write a page for HTMLMediaElement.mediaKeys. Or we might want to say that GroupData shouldn't list any pages that don't exist, even if they are part of the group. Or we might update APIRef to discard entries that don't exist.
I fixed VideoStreamTrack in mdn/content#22546.
Obsolete since our move to the rari build system.