Skip to content

EditorPreviewAsyncAPI not rendered for AsyncAPI 3.x.x #5358

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Rzepin opened this issue Feb 9, 2025 · 4 comments
Open

EditorPreviewAsyncAPI not rendered for AsyncAPI 3.x.x #5358

Rzepin opened this issue Feb 9, 2025 · 4 comments

Comments

@Rzepin
Copy link

Rzepin commented Feb 9, 2025

Q&A (please complete the following information)

  • OS: Ubuntu
  • Browser: Chrome
  • Version: 132
  • Method of installation: unpkg
  • Swagger-Editor version: 5.0.0-alpha.99
  • Swagger/OpenAPI version: AsyncAPI 3.0.0

Content & configuration

Example Swagger/OpenAPI definition:

asyncapi: 3.0.0
...

e.g. https://raw.githubusercontent.com/asyncapi/spec/refs/heads/master/examples/streetlights-kafka-asyncapi.yml

Swagger-Editor configuration options:

  SwaggerUIBundle({
    url: 'https://raw.githubusercontent.com/asyncapi/spec/refs/heads/master/examples/streetlights-kafka-asyncapi.yml',
    presets: [
      SwaggerUIBundle.presets.apis,
      SwaggerUIStandalonePreset,
    ],
    dom_id: '#swagger-ui',
    plugins: [
      SwaggerEditor.plugins.EditorContentType,
      SwaggerEditor.plugins.EditorPreviewAsyncAPI,
      SwaggerEditor.plugins.EditorPreviewApiDesignSystems,
      SwaggerEditor.plugins.SwaggerUIAdapter,
      SwaggerUIBundle.plugins.DownloadUrl,
    ],
    layout: 'StandaloneLayout',
  });

Describe the bug you're encountering

BaseLayout is rendering EditorPreviewAsyncAPI using selector: selectIsContentTypeAsyncAPI2 altough component would be able to render AsyncAPI 3.x.x as well.

To reproduce...

  1. Try to render any AsyncAPI 3.x.x using StandaloneLayout.
  2. See error: 'Unable to render this definition'.

Expected behavior

Properly rendered definition with EditorPreviewAsyncAPI plugin.

Screenshots

Image

Additional context or thoughts

Btw. current error details are a little bit misleading:

Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: "2.0" and those that match openapi: 3.x.y (for example, openapi: 3.1.0).

Maybe it should be addressed to be changed/improved. In my opinion it would be better to be less specific, but not suggest that only swagger/openapi is supported.

Rzepin added a commit to Rzepin/swagger-editor that referenced this issue Feb 9, 2025
char0n pushed a commit that referenced this issue Mar 19, 2025
swagger-bot pushed a commit that referenced this issue Mar 19, 2025
# [5.0.0-alpha.101](v5.0.0-alpha.100...v5.0.0-alpha.101) (2025-03-19)

### Bug Fixes

* **editor-content-fixtures:** update Petstore to match SmartBear rules ([#5413](#5413)) ([6c097d2](6c097d2))
* **swagger-ui-adapter:** render AsyncAPI 3.x Descriptions ([#5358](#5358)) ([#5359](#5359)) ([3b2a512](3b2a512))
@swagger-bot
Copy link
Contributor

🎉 This issue has been resolved in version 5.0.0-alpha.101 🎉

The release is available on:

Your semantic-release bot 📦🚀

@sergiuiacob1
Copy link

sergiuiacob1 commented Mar 31, 2025

Can somebody confirm this is indeed solved in 5.0.0-alpha.101? Because I am hitting the same issue, i.e.

Unable to render this definition
The provided definition does not specify a valid version field.

Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: "2.0" and those that match openapi: 3.x.y (for example, openapi: 3.1.0).

@char0n

@sergiuiacob1
Copy link

@Rzepin can you confirm that this issue is still ongoing with release 5.0.0-alpha.101?

@Rzepin
Copy link
Author

Rzepin commented Apr 11, 2025

@Rzepin can you confirm that this issue is still ongoing with release 5.0.0-alpha.101?

No, I can't.

Issue faced by me was fixed in 5.0.0-alpha.101

Here's full working example:

<!DOCTYPE html>
<html >
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="SwaggerUIMultifold" />
    <link rel="stylesheet" href="//unpkg.com/swagger-editor@5.0.0-alpha.101/dist/swagger-editor.css" />
</head>
<body style="margin:0; padding:0;">
<section id="swagger-ui"></section>

<script src="//unpkg.com/swagger-ui-dist@5.11.0/swagger-ui-bundle.js"></script>
<script src="//unpkg.com/swagger-ui-dist@5.11.0/swagger-ui-standalone-preset.js"></script>
<script>
    ui = SwaggerUIBundle({});
    // expose SwaggerUI React globally for SwaggerEditor to use
    window.React = ui.React;
</script>
<script src="//unpkg.com/swagger-editor@5.0.0-alpha.101/dist/umd/swagger-editor.js"></script>
<script>
    SwaggerUIBundle({
      url: 'https://raw.githubusercontent.com/asyncapi/spec/refs/heads/master/examples/streetlights-kafka-asyncapi.yml',
      dom_id: '#swagger-ui',
      presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIStandalonePreset,
      ],
      plugins: [
        SwaggerEditor.plugins.EditorContentType,
        SwaggerEditor.plugins.EditorPreviewAsyncAPI,
        SwaggerEditor.plugins.EditorPreviewApiDesignSystems,
        SwaggerEditor.plugins.SwaggerUIAdapter,
        SwaggerUIBundle.plugins.DownloadUrl,
      ],
      layout: 'StandaloneLayout',
    });
</script>
</body>
</html>

You can verify that above won't work after downgrading to 5.0.0-alpha.100

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

No branches or pull requests

3 participants