vc-use-cases icon indicating copy to clipboard operation
vc-use-cases copied to clipboard

Setting up the echidna action

Open iherman opened this issue 1 year ago • 17 comments

The repository secret has also been generated and added to the repo

iherman avatar Sep 29 '24 13:09 iherman

I presume the PR must be merged first before it can be used. The error check error seems to be a bootstrapping problem. @msporny wdyt?

iherman avatar Sep 30 '24 15:09 iherman

I presume the PR must be merged first before it can be used. The error check error seems to be a bootstrapping problem. @msporny wdyt?

The error was because the server-based ReSpec build process failed. It's probably just a transient error; if the use cases document builds locally, it's probably fine.

msporny avatar Sep 30 '24 17:09 msporny

We're going to accept this and see if it works once the commit is pushed.

jandrieu avatar Jan 07 '25 16:01 jandrieu

Ok. We were able to get rid of the node.js error by updating the checkout task to v4.

However, now the failures are SVG complaints about rects without width & height.

This appears to be because of empty rects <rect></rect> and improper
inside a being generated by mermaid.

Can we get respec-mermaid bumped to the latest version? I believe @msporny took care of this last time. https://github.com/w3c/respec-mermaid/commit/1d8ea4847ad85906458e990ab155f6306d1c09b3#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519R20 through https://github.com/w3c/respec-mermaid/commit/546baa987e62ad2e33dbcb5fe2cd428372885546

Although, to be fair, we have not verified that the latest mermaid has a fix for this. I'm reviewing their issue log to see if there's anything.

jandrieu avatar Jan 07 '25 17:01 jandrieu

Digging into this further, we can definitively say that the mermaid is generating an improper <br> tag where it should be a <br/> tag.

We've escalated this in an existing issue at https://github.com/mermaid-js/mermaid/issues/1766#issuecomment-2608267333 but that issue is 4+ years old and we may not be able to get traction.

The other alternative is to turn off strict checking for SVGs, but we want to first try to get the mermaid fixed.

jandrieu avatar Jan 22 '25 21:01 jandrieu

It should be possible to add a simple script that converts <br> tags to <br/>. It is possible to add script references to respec to be run before or after it goes through its processing.

The only point is that I am not sure how mermaid is exactly used within a respec file, ie, at which stage. I seem to remember that somebody from DB has done that (@msporny should know), so adding that script at the right place should be possible...

iherman avatar Jan 23 '25 11:01 iherman

Yeah, we can fix this in respec-mermaid, someone just needs to raise the PR. It's not a difficult "fix", just need to find someone that has the bandwidth to do it.

msporny avatar Jan 23 '25 13:01 msporny

I can verify that the previous configuration did not fail.

The output HTML does have a <br> in the middle of a span, but there's not complaint about it in the browser.

jandrieu avatar Jan 23 '25 17:01 jandrieu

Kevin, can you try making a PR with that substitutions (<br> to <br/>)?

https://github.com/w3c/respec-mermaid

jandrieu avatar Feb 05 '25 20:02 jandrieu

Hooboy, this was a fun one...

The br tag issue is not a bug. See my comment on the issue in the Mermaid repository.

KDean-GS1 avatar Mar 07 '25 14:03 KDean-GS1

It's a bug somewhere.

Looks like this is a bug in the validator.

How do we fix that?

p.s. Great breakdown in the other issue.

jandrieu avatar Mar 07 '25 19:03 jandrieu

It's a bug somewhere.

Looks like this is a bug in the validator.

How do we fix that?

p.s. Great breakdown in the other issue.

If my understanding is correct, the W3C publication tool runs an HTML validator which, inside, runs an SVG validator, and that SVG validator tries to handle/check the foreignObject content as XHTML as opposed to HTML. Is this the short summary of the bug?

I believe the person handling the validator problems is @deniak who is, hereby, pinged…

iherman avatar Mar 08 '25 07:03 iherman

If my understanding is correct, the W3C publication tool runs an HTML validator which, inside, runs an SVG validator, and that SVG validator tries to handle/check the foreignObject content as XHTML as opposed to HTML. Is this the short summary of the bug?

I believe the person handling the validator problems is @deniak who is, hereby, pinged…

spec-prod runs validator.nu to check the spec. If there's a bug with the validator, an issue should be raised on the official repository.

deniak avatar Mar 17 '25 05:03 deniak

Issue raised; see https://github.com/validator/validator/issues/1816.

KDean-GS1 avatar Apr 17 '25 19:04 KDean-GS1

@deniak It's been two weeks since Kevin raised the issue over at the Validator with no response yet.

What are our options for disabling validation?

Or are we prevented from publishing until the Validator gets updated?

jandrieu avatar Apr 30 '25 19:04 jandrieu

@jandrieu @deniak @KDean-GS1 — Perhaps an update to the validator issue should be made, describing its impact? Reading what's there now, it doesn't appear to have any need for urgency on that side.

TallTed avatar Apr 30 '25 21:04 TallTed

@deniak It's been two weeks since Kevin raised the issue over at the Validator with no response yet.

What are our options for disabling validation?

Or are we prevented from publishing until the Validator gets updated?

We have an exception mechanism in place but the exception needs to be approved first. Now, looking a bit more into that issue, if the foreignObject element includes elements from a XML namespace, then XML requires a opening/closing tags. So it's really not clear to me if this is a bug with the validator. @svgeesus may know more on this.

deniak avatar May 01 '25 15:05 deniak

Just re-launching this thread: it is becoming very important to fix this issue in some way or other and have the document properly published on /TR. Here is why: the FPWD for the Digital Credentials API specification is on its way to be published. That document refers to https://www.w3.org/TR/vc-use-cases/ as a collection of use cases. However, that URL dereferences to the old 2019(!) version of the use cases document, ie, to 6-year-old document. That is a blunder...

Setting up echidna would solve the issue right away.

Several of you got into the technical issues surrounding this problem; where are we? What is the shortest path to get something properly published soon? Is there anything I can do to help (there are already many cooks around...).

@brentzundel @jandrieu @msporny @KDean-GS1

iherman avatar Jun 25 '25 07:06 iherman

Now, looking a bit more into that issue, if the foreignObject element includes elements from a XML namespace, then XML requires a opening/closing tags. So it's really not clear to me if this is a bug with the validator. @svgeesus may know more on this.

In my experience with other specifications where we use svg diagrams, the svg portion must indeed be in proper XML syntax, and that includes the fragments within foreignObject. SVG is defined in XML, and I do not know of any version of SVG relying on the HTML syntax.

iherman avatar Jun 25 '25 07:06 iherman

@iherman We're looking into it further. @jandrieu and I may have found a way to patch the Mermaid code to fix the problem.

KDean-GS1 avatar Jun 25 '25 20:06 KDean-GS1

@iherman @jandrieu See https://github.com/w3c/respec-mermaid/pull/11.

KDean-GS1 avatar Jul 09 '25 14:07 KDean-GS1

@iherman @jandrieu See https://github.com/speced/respec/pull/5003. Replaces previous PR on ReSpec Mermaid.

KDean-GS1 avatar Jul 11 '25 17:07 KDean-GS1

@iherman @brentzundel Can get some support for resolving https://github.com/speced/respec/pull/5003?

Kevin figured out an ugly work around, but it works.

Our attempts to get the tooling stack to properly handle the embedded namespace has not succeeded. It appears that, in many places, these tools instantiate a DOM with the default namespace in a way that is not accessible to the tooling chain for customization. So we keep seeing the same <BR> errors from different workarounds.

This is currently blocking the publication of an updated VC Use Cases document.

jandrieu avatar Jul 23 '25 19:07 jandrieu

@iherman @brentzundel Can get some support for resolving speced/respec#5003?

Kevin figured out an ugly work around, but it works.

Our attempts to get the tooling stack to properly handle the embedded namespace has not succeeded. It appears that, in many places, these tools instantiate a DOM with the default namespace in a way that is not accessible to the tooling chain for customization. So we keep seeing the same errors from different workarounds.

This is currently blocking the publication of an updated VC Use Cases document.

@deniak you may be in position to get this thing moving... This issue has been open for a long time; at the moment, we seem to be unable to get the Use cases document published via echidna. It has become more urgent, see https://github.com/w3c/vc-use-cases/pull/161#issuecomment-3003696273. Any advice on how to proceed quickly would be welcome...

iherman avatar Jul 24 '25 04:07 iherman

@iherman @brentzundel Can get some support for resolving speced/respec#5003?

Kevin figured out an ugly work around, but it works.

Our attempts to get the tooling stack to properly handle the embedded namespace has not succeeded. It appears that, in many places, these tools instantiate a DOM with the default namespace in a way that is not accessible to the tooling chain for customization. So we keep seeing the same errors from different workarounds.

This is currently blocking the publication of an updated VC Use Cases document.

@KDean-GS1 @jandrieu I have pinged Denis, he might be able to move things ahead. In the meantime… I have not looked at the script details, but wouldn't it be possible to execute it locally on the generated source after the respec processing is done and before it is dumped into a final HTML file? I believe the postProcess hook of respec is making this possible. It would not handle the root cause of the issue, but it might make this document publishable...

iherman avatar Jul 24 '25 04:07 iherman

@iherman @brentzundel Can get some support for resolving speced/respec#5003? Kevin figured out an ugly work around, but it works. Our attempts to get the tooling stack to properly handle the embedded namespace has not succeeded. It appears that, in many places, these tools instantiate a DOM with the default namespace in a way that is not accessible to the tooling chain for customization. So we keep seeing the same errors from different workarounds. This is currently blocking the publication of an updated VC Use Cases document.

@deniak you may be in position to get this thing moving... This issue has been open for a long time; at the moment, we seem to be unable to get the Use cases document published via echidna. It has become more urgent, see #161 (comment). Any advice on how to proceed quickly would be welcome...

I've just commented on the issue but if the PR doesn't get merged, you should indeed be able to add a postProcess function to fix the <br>s

deniak avatar Jul 24 '25 05:07 deniak

@iherman Please rerun the action. The logs have expired, and I need the output to trace the error again.

KDean-GS1 avatar Aug 06 '25 19:08 KDean-GS1

@KDean-GS1 this PR must be merged to really install the action. I'd prefer you do this. Then, I believe, it is actionable manually, but the safest is to go through a bona fide extra PR to see what happens.

iherman avatar Aug 08 '25 03:08 iherman

@iherman Normally, it's possible to rerun a failed action within the "Actions" tab (I've done so before), but not, apparently, when the logs have expired. I'll create a dummy PR later this week.

KDean-GS1 avatar Aug 12 '25 14:08 KDean-GS1

@iherman I have created a new PR #165, but the action has been stuck in "Queued" status for over 15 hours now. I need someone with the necessary privileges to investigate why that is.

KDean-GS1 avatar Aug 14 '25 11:08 KDean-GS1