Context
When compiling the Web Audio API specification with bikeshed spec, Bikeshed terminates with 7 fatal errors across 5 <pre class=argumentdef> blocks:
OfflineAudioContext/constructor(contextOptions)
AudioNode/connect(destinationNode, output, input)
AudioNode/disconnect(destinationNode)
AudioNode/disconnect(destinationNode, output)
AudioNode/disconnect(destinationNode, output, input)
This is caused by an upstream parser bug in Bikeshed / widlparser (speced/bikeshed#1192), where method overload lookups strip parentheses and always match against the last overload declared in the WebIDL. This causes earlier overloads to fail argument validation and abort generation.
This bug currently blocks clean zero-error builds and prevents the repository from adopting W3C automated TR publishing (w3c/spec-prod + Echidna) for the upcoming Working Draft publication (#2692).
Proposed Work Sequence
-
Short-term Workaround (Web Audio Repo):
-
Upstream Fix (Bikeshed):
- Discuss and submit a pull request to
speced/bikeshed implementing overload signature resolution in bikeshed/unsortedJunk.py.
-
Revert Workaround:
- Once the Bikeshed fix is released on PyPI and adopted in CI, revert the 5 HTML tables in
index.bs back to standard Bikeshed <pre class=argumentdef> syntax.
Context
When compiling the Web Audio API specification with
bikeshed spec, Bikeshed terminates with 7 fatal errors across 5<pre class=argumentdef>blocks:OfflineAudioContext/constructor(contextOptions)AudioNode/connect(destinationNode, output, input)AudioNode/disconnect(destinationNode)AudioNode/disconnect(destinationNode, output)AudioNode/disconnect(destinationNode, output, input)This is caused by an upstream parser bug in Bikeshed / widlparser (speced/bikeshed#1192), where method overload lookups strip parentheses and always match against the last overload declared in the WebIDL. This causes earlier overloads to fail argument validation and abort generation.
This bug currently blocks clean zero-error builds and prevents the repository from adopting W3C automated TR publishing (
w3c/spec-prod+ Echidna) for the upcoming Working Draft publication (#2692).Proposed Work Sequence
Short-term Workaround (Web Audio Repo):
<pre class=argumentdef>blocks inindex.bswith explicit HTML<table>elements usingclass="data".expected-errs.txtsobikeshed specbuilds with 0 errors.w3c/spec-prod.Upstream Fix (Bikeshed):
speced/bikeshedimplementing overload signature resolution inbikeshed/unsortedJunk.py.Revert Workaround:
index.bsback to standard Bikeshed<pre class=argumentdef>syntax.