speced / bikeshed

:bike: A preprocessor for anyone writing specifications that converts source files into actual specs.
https://speced.github.io/bikeshed
Creative Commons Zero v1.0 Universal
1.08k stars 199 forks source link

Strange rendering/scrollable IDL boxes #2861

Open marcoscaceres opened 3 months ago

marcoscaceres commented 3 months ago

When clicking on the definition for a IDL construct (e.g., interface) the container suddenly becomes scrollable and the references box goes gets culled:

Screenshot 2024-05-23 at 10 16 30 AM

Try it here by clicking on CredentialRequestOptions: https://w3c.github.io/webappsec-credential-management/#credentialrequestoptions-dictionary

Worst case scenario, it end up like this: Screenshot 2024-05-23 at 10 16 58 AM

Expected the DFN box to be on top and not inside the IDL box.

tabatkins commented 3 months ago

You're looking at a spec that hasn't been regenerated in 3 years. The popup code has been significantly improved since then. ^_^

tabatkins commented 3 months ago

In particular, that source looks like this now:

Untitled

marcoscaceres commented 3 months ago

Thanks for fixing that (even if long ago, lol!) 🥰

marcoscaceres commented 3 months ago

Wait, are you sure? the spec was generated this week:

IMG_2295

I’m still seeing it in the link above? And on TR, which was generated 23 May 2024.

IMG_2296

Could it be a WebKit bug or something?

tabatkins commented 3 months ago

No, I generated it locally, and the dom structure isn't even compatible with that rendering - they're generated on the fly and as children of body, now. In the version you linked to they're all pregenerated, as children of the dfns, which is how I used to render them.

I guess they're using an old Bikeshed to do the generation.

tabatkins commented 3 months ago

Yeah, that structure was entirely changed as part of the 4.0 update https://github.com/speced/bikeshed/issues/1773#issuecomment-1847977011

But it looks like they're using specprod https://github.com/w3c/webappsec-credential-management/blob/main/.github/workflows/auto-publish.yml so I'm just really confused about this.

marcoscaceres commented 3 months ago

@sidvishnoi, any ideas on the Specprod side?

sidvishnoi commented 3 months ago

From latest action run there:

  $ pip3 --version
    pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
                                                        ^^^^ whoaa
  $ pip3 install bikeshed --quiet
    ERROR: launchpadlib 1.10.13 requires testresources, which is not installed.
  $ bikeshed update
    Bringing data files up-to-date...
    ...
    Done!
  $ pip3 show bikeshed | grep -i version
    Version: 3.14.5
             ^^^^^ whoaa

That workflow is using ubuntu-20.04, instead of ubuntu-latest, so they end up using old python, which I think, in turn leads to old bikeshed being used.

TIL pipx from Bikeshed docs. Might use in spec-prod.

marcoscaceres commented 3 months ago

Ok cool. I’ll get that fixed over in the other repo.

tabatkins commented 3 months ago

Phew, thanks for debugging this, it'll help a lot of people.

marcoscaceres commented 3 months ago

We should maybe do a search to see if other repos are affected.

Should we keep this open as a reminder?

inexorabletash commented 3 months ago

FYI we just ran into this in WICG/cookie-store and fortunately I remembered seeing this issue. I just fixed it there and checked repos I've touched recently. I directly fixed WICG/entries-api, WICG/local-font-access, and w3c/web-locks and filed PRs for webmachinelearning/webnn and w3c/window-management so... it's likely very widespread.

marcoscaceres commented 3 months ago

Reopening so we remember to do a search.

sidvishnoi commented 3 months ago

I can probably add a warning to spec-prod when using older Ubuntu. Also I need to update docs there as they suggest using Ubuntu-20 lol