Error 500, 'The compass catalog schema has changed. Try upgrading SDK package version.'

Trying to use the graphql api with @atlassian/forge-graphql, doing any request so far gives me Error 500 with ‘The compass catalog schema has changed. Try upgrading SDK package version.’. I definitely have the latest version of the package installed. I have gotten this result with example code too.
Any ideas?

1 Like

Hi @GeorgeNikolopoulos, and welcome to the Atlassian Developer Community!

We’ve encountered that problem when we were migrating to the new native Node.js runtime during Atlas Camp in Copenhagen last December, so assuming you have been using that runtime too, this is the likely culprit.

Thankfully @KellyBielaski and her colleague debugged and fixed the seemingly odd issue live and published @atlassian/forge-graphql version 13.3.12 containing the required fixes.

Unfortunately I dropped the ball on following up here after returning from the event, sorry about that :woozy_face:

So you can likely address the problem by upgrading to @atlassian/forge-graphql >= 13.3.12 (we have two production apps which work fine like that since then).

Cheers,
Steffen

2 Likes

Hey @GeorgeNikolopoulos , if you’re using UI Kit 2, a solution might be to put your code to a resolver function. We initially tried making graphqlGateway.compass.asApp() requests in the frontend but this failed with the same error message as above. Then, we moved the code to a resolver function:

const resolver = new Resolver();

resolver.define('getComponent', async (req) => {
  return graphqlGateway.compass.asApp().getComponent({
    componentId: 'abc',
  });
});

export const myResolver = resolver.getDefinitions();

And just call this resolver function with invoke('getComponent') in your frontend.

Hope this helps :slight_smile:

1 Like