hasura / graphql-engine

Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
https://hasura.io
Apache License 2.0
31.13k stars 2.76k forks source link

[Console] Modifying an inconsistent remote schema redirects to the 404 page #8089

Open jflambert opened 2 years ago

jflambert commented 2 years ago

Version Information

Server Version: 2.1.1

What is the expected behaviour?

I should be able to modify or remove an inconsistent remote schema.

What is the current behaviour?

When faced with an inconsistent remote schema (for example the remote URL changed), users are completely unable to modify or remove it through the web console.

How to reproduce the issue?

  1. Using allow_inconsistent_metadata: true in the metadata, add an invalid remote schema URL through the API's replace_metadata
  2. In the console, you can't modify the remote schema (takes you to a 404 immediately)

Alternatively, correctly create a remote schema with a given URL. Then from that remote schema, change the API URL. Hasura will deem the remote schema inconsistent and you can't modify the URL.

Screenshots or Screencast

image

image

Interestingly, the experimental feature "remote schema permissions" doesn't freak out as much.

image

tasop-rsconnect commented 2 years ago

Not sure if a separate issue or not, but I was also unable to modify a remote schema.

In my case it was to an AWS AppSync, and the problem was that the key had expired. Instead of a 404 I saw the below error:

Error
    at r.e (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:3779814)
    at Wi (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:11997914)
    at Yi (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:11997707)
    at Xi (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12001146)
    at ds (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12023589)
    at fs (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12023979)
    at Zs (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12031157)
    at Xs (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12030525)
    at Ys (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12029532)
    at _s (https://graphql-engine-cdn.hasura.io/cloud-console/assets/channel/versioned/v2.0.10-cloud.1/vendor.js.gz:1:12028332)