[SOLVED] Regression in squidex GraphQL

I have…

  • [ ] Checked the logs and have uploaded a log file and provided a link because I found something suspicious there. Please do not post the log file in the topic because very often something important is missing.

I’m submitting a…

  • [x] Regression (a behavior that stopped working in a new release)
  • [x] Bug report
  • [ ] Performance issue
  • [ ] Documentation issue or request

Current behavior

The graphql API started returning a different content-type header “application/graphql+json”. Using such header makes our graphql client blow up because it’s not a valid content type. More clients may behave the same way.

Expected behavior

A valid response content-type header for the graphql API should be ‘application/json’.

Minimal reproduction of the problem

Make any query to graphql API

Environment

  • [ ] Self hosted with docker
  • [ ] Self hosted with IIS
  • [ ] Self hosted with other version
  • [x] Cloud version

Version: [VERSION]

Browser:

  • [ ] Chrome (desktop)
  • [ ] Chrome (Android)
  • [ ] Chrome (iOS)
  • [ ] Firefox
  • [ ] Safari (desktop)
  • [ ] Safari (iOS)
  • [ ] IE
  • [ ] Edge

Others:

All of our production systems are down because of this, can you please address as soon as possible?

@Sebastian could you please have a look

Yes, but this seems to be the current spec actually.

its application/graphql but even if it is technically within the spec it should be considered a breaking change. Knowing that this is breaking the clients would you be able to revert that change?

True.

I just checked the changelog of the graphql framework I am using and it is not documented here. If I upgrade it gets the new content type application/graphql-response+json. But I have to investigate further how to get back to the old format.

right, ok we are working on a patch on our end but expect more clients to have the same issue, i would recommend to revert back to application/json. Please keep us updated.

I have a fix in the build pipeline.

This bug was with one of our dependencies https://github.com/prisma-labs/graphql-request/issues/373 They have not resolved so I have written a patch to resolve this.

This was poorly timed for us as we had just upgraded a bunch of dependencies and suspected it. Is there a slack bot which can tell us when you release so we can be aware when things your end change?

There is not bot.

This was a big release, but it has been tested for over a month. I can just not test every single aspect, it is impossible. I can improve on that an announce bigger updates, but I cannot just plan every small update. Perhaps I can provide a version somewhere that you can query?

There is this endpoint: https://cloud.squidex.io/api/info, it is not really maintained for the cloud, but I could add the build number from the CI to that. Then you just query that every 5 min or so and compare it with a previous version?

1 Like

that could help. In the mean time - any update on the release that would revert it back to application/json?

EDIT: @Sebastian apologies for rushing it but we’re finding it difficult to patch it on our end and our entire application is currently down

any update on the release that would revert it back to application/json?

No, sorry. But the build should be done in 20 min.

Can you have a look?

1 Like

Everything seems to be working as before. Thank you.

My patch worked but upgrading a dependency seems to have broken a bunch of tests for us :frowning:. I commented them out but i much rather fix them tomorrrow.

Thanks again,
Tom

1 Like

This topic was automatically closed after 2 days. New replies are no longer allowed.

Hi,

I have fixed the version endpoint now: https://cloud.squidex.io/api/info

You can use this to detect deployments.