Skip to content

Admin: Temporary workaround for Bikeshed argumentdef overload bug (speced/bikeshed#1192) #2696

Description

@hoch

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

  1. Short-term Workaround (Web Audio Repo):

  2. Upstream Fix (Bikeshed):

    • Discuss and submit a pull request to speced/bikeshed implementing overload signature resolution in bikeshed/unsortedJunk.py.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

category: adminEditorial changes that do not change the text. https://www.w3.org/policies/process/#class-1

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions