w3c / vc-data-model

W3C Verifiable Credentials v2.0 Specification
https://w3c.github.io/vc-data-model/
Other
299 stars 107 forks source link

Respec's VC plugin still does not work #1538

Closed iherman closed 2 months ago

iherman commented 3 months ago

See, for example, https://www.w3.org/TR/vc-data-model-2.0/#example-usage-of-the-id-property. All the tabs are empty. This seems to be systematically the case for all examples using this plugin.

msporny commented 3 months ago

Hey @BigBlueHat -- I think that we did deferred signing for the examples and that's what's causing this issue. Deferred signing works when the page is interactive, but doesn't seem to work when doing static rendering (when publishing the spec to TR). Clearly, we need to fix this issue. Some ideas:

1) Detect the mode ReSpec is operating in (headless) and don't defer signing in that case. 2) Don't return "I'm done" to ReSpec until all deferred signing has completed.

iherman commented 3 months ago

The issue was discussed in a meeting on 2024-08-07

View the transcript #### 1.2. Respec's VC plugin still does not work (issue vc-data-model#1538) _See github issue [vc-data-model#1538](https://github.com/w3c/vc-data-model/issues/1538)._ **Brent Zundel:** I think the final issue here is 1538. … This is about respec plugin not working. **Manu Sporny:** It's just a bug that needs to be fixed. We are going to fix it because the spec is bad without it. … This has to do with all the autogeneration of the code examples, and echnida is not waiting for the auto-generation to finish, we need to just figure out how to stop it from doing that and wait for the examples to generate. … Just some code to be written. **Ivan Herman:** If this is solved, I will have to fix the overview document too -- if you see a commit over there it's for the same reason to get the respec plugin working over there too. No change on content. **Brent Zundel:** Thanks, Ivan. … Benjamin, do you have an estimate ... when can we get an estimate for getting an estimate for fixing it? **Benjamin Young:** I think we have already merged in changes to disable the async generation -- I can give you another estimation after we check on that.
msporny commented 3 months ago

Fixed in https://github.com/w3c/vc-data-model/commit/abbed567ad992ae515725bcba7331d54af7876e5; closing.

iherman commented 3 months ago

Sorry, @msporny, I still do not see the effects. I have just looked at the TR page for the VCDM, dated 9th of August, and this is what I see:

Screenshot 2024-08-10 at 11 05 19

Reopening until the /TR page is all right.

msporny commented 3 months ago

Reopening until the /TR page is all right.

Damn, you're right. I /did/ check that exact example on TR before I closed this issue and the examples were filled out throughout the spec. Seems like we still have a race condition. /cc @BigBlueHat

I'm going to have to set up a re-spec dev environment locally and run the Echidna process to see if I can get the race condition to show up on my local machine, and if so, debug from there. Only being able to test by doing a respec-vc release and then pushing to Echidna is a terrible way to debug. :)

decentralgabe commented 3 months ago

@msporny thank you and let me know if/how I can help. It would be good to be able to determine whether rendering is working locally before future merges to this repo.

BigBlueHat commented 3 months ago

@iherman I checked several tabs on several tabs and see no issues--the examples I tested are there (tested in Firefox, Chrome, and Edge): image

At the moment, I'm not sure what to fix, because I can't get it to break. 😜 If any of you are getting console errors, please report them.

Sorry, @iherman. 😕

TallTed commented 3 months ago

@BigBlueHat — I don't know why you're seeing something different than I. Just click this link, and then click through the tabs — EXAMPLE 33. Note that this is the only occurrence of Usage of issuer properties which is the string I used to make sure I looked at the same example as you. For some reason, you screenshot example 35, while I found that title on example 33 ... so maybe you're not looking at /TR/ which is where the script's failure makes itself known?

Screen Shot 2024-08-12 at 01 42 09 PM

The only tab in the above screenshot that has content is Credential. ecdsa and others to the right are all empty.

BigBlueHat commented 3 months ago

@TallTed ugh...you're right. It's Chrome's disaster of an "omnibar"... I ended up back on the editorial view published on github.io instead of the one on /TR/ which I'd just been viewing... 😖

I can confirm it is indeed broken on https://www.w3.org/TR/2024/CRD-vc-data-model-2.0-20240809/#example-usage-of-issuer-properties explicitly as well as https://www.w3.org/TR/vc-data-model-2.0/#example-usage-of-issuer-properties (fwiw).

What's most notably missing are the postProcess values...and the respec-vc script tag. The postProcess setting on the /TR/ specs looks like this:

"postProcess": [
   null,
   null
],

While on the GitHub Pages version, it looks like this:

postProcess: [
   restrictRefs,
   window.respecVc.createVcExamples
   /*add_reqlist_button*/
],

So...some part of the publishing process must be striping out those script tags and "cleaning" out those variables.

We'll need someone more familiar with Echidna to explain how to avoid that... Happy to hang respec-vc if it ends up actually being the thing that needs changing, though.

msporny commented 3 months ago

We'll need someone more familiar with Echidna to explain how to avoid that...

Unlikely, as those people are /very busy/ dealing with more important things.

Happy to hang respec-vc if it ends up actually being the thing that needs changing, though.

I almost guarantee you that this is a problem w/ respec-vc... :)

What I tend to have to do at this stage is re-run the echidna process on my local machine and start breaking open the echidna and respec code as it's called in the Github action. This could take hours to track down, but we have no choice at this point -- we'll have to fix this within the next couple of weeks.

iherman commented 3 months ago

See my comment https://github.com/w3c/respec-vc/issues/34#issuecomment-2285427956. TL;DR: the problem is not, strictly speaking, with echidna, but with the Web service on W3C lab that can produce a static version of a document.

iherman commented 3 months ago

The issue was discussed in a meeting on 2024-08-14

View the transcript #### 3.2. Respec's VC plugin still does not work (issue vc-data-model#1538) _See github issue [vc-data-model#1538](https://github.com/w3c/vc-data-model/issues/1538)._ **Manu Sporny:** Benjamin has tracked this down it will get fixed shortly.
msporny commented 3 months ago

Respec v3.3.4 has been released. The good news is that the latest publication seems to have fixed the async issues for MOST of the tabs. The latest release also seems to have broken the COSE tab. :((( /cc @BigBlueHat @decentralgabe

iherman commented 2 months ago

The issue was discussed in a meeting on 2024-08-28

View the transcript #### 3.1. Respec's VC plugin still does not work (issue vc-data-model#1538) _See github issue [vc-data-model#1538](https://github.com/w3c/vc-data-model/issues/1538)._ **Brent Zundel:** this is Respec VC Plugin not working. **Manu Sporny:** we did a new release, fixed a bug where it wasn't generating all the examples on TR, except for the COSE stuff, that's still broken for some reason. … and regardless we'll need to figure out what happens with COSE, both from media type perspective and in terms of detached vs not signatures. … it could happen literally the day before we go to CR. … once Benjamin gets back, we'll fix the generation of the examples, and once there's closure on jose/cose and detached sigs vs not, we'll put that into the plugin. **Brent Zundel:** sounds like this is tracking not only VC Respec plugin, but it's tracking the completeability of the examples themselves. **Manu Sporny:** that's correct. **Brent Zundel:** I'm fine with that, as long as everyone remembers that it's tracking both of those. … any other comments?
iherman commented 2 months ago

The issue was discussed in a meeting on 2024-09-11

View the transcript #### 3.4. Respec's VC plugin still does not work (issue vc-data-model#1538) _See github issue [vc-data-model#1538](https://github.com/w3c/vc-data-model/issues/1538)._ **Brent Zundel:** 1538, respec plugin still does not work, what is the status. **Benjamin Young:** I believe it mostly works, just the jose-cose bit needs to be tested. **Brent Zundel:** looking forward to the PR.
BigBlueHat commented 2 months ago

This PR https://github.com/w3c/respec-vc/pull/45 fixes the issue and will be in the next release which we plan to get released and added to the specs this week.

BigBlueHat commented 2 months ago

Fixed in https://github.com/w3c/respec-vc/releases/tag/3.3.5