Ayush Kumar
08/14/2025, 9:09 AM"@gooddata/sdk-backend-spi": "^10.24.0",
"@gooddata/sdk-backend-tiger": "^10.24.0",
"@gooddata/sdk-model": "^10.24.0",
"@gooddata/sdk-ui": "^10.24.0",
"@gooddata/sdk-ui-all": "^10.24.0",
"@gooddata/sdk-ui-ext": "^10.24.0",
My code implementation, I am using measures and attributes from the drill context of an insightview. I have also tried catalog approach but the results are same
<ColumnChart
backend={backend}
workspace={localStorage.getItem('workspace_id') || ''}
measures={drillEvent?.dataView?.definition?.measures}
// filters={drillFilters}
viewBy={[...drillEvent?.dataView?.definition?.attributes]}
/>Mauricio Cabezas
08/14/2025, 2:14 PM<ColumnChart
backend={backend}
workspace=<workspace_id_string>
measures={[Md.fact_id]}
viewBy={Md.attribute_id}
/>
Or similar.
Are you synchronising the metadata?Mauricio Cabezas
08/14/2025, 2:32 PMMauricio Cabezas
08/20/2025, 2:32 PMAyush Kumar
08/20/2025, 3:07 PMMauricio Cabezas
08/20/2025, 3:14 PMAyush Kumar
08/20/2025, 3:17 PMAyush Kumar
08/20/2025, 3:18 PMMauricio Cabezas
08/20/2025, 4:17 PMAyush Kumar
08/20/2025, 5:36 PM"@gooddata/sdk-backend-spi": "^10.39.0",
"@gooddata/sdk-backend-tiger": "^10.39.0",
"@gooddata/sdk-model": "^10.39.0",
"@gooddata/sdk-ui": "^10.39.0",
"@gooddata/sdk-ui-all": "^10.39.0",
"@gooddata/sdk-ui-ext": "^10.39.0",Ayush Kumar
08/20/2025, 5:39 PMAyush Kumar
08/20/2025, 5:39 PM'use client';
import React from 'react';
import { GoodDataProvider } from '@/contexts/GoodDataContext';
import { GoodDataThemeProvider } from '@/contexts/GoodDataThemeContext';
import "@gooddata/sdk-ui-filters/styles/css/main.css";
import "@gooddata/sdk-ui-charts/styles/css/main.css";
import "@gooddata/sdk-ui-geo/styles/css/main.css";
import "@gooddata/sdk-ui-pivot/styles/css/main.css";
import "@gooddata/sdk-ui-kit/styles/css/main.css";
import "@gooddata/sdk-ui-ext/styles/css/main.css";
import "@/styles/gooddata-theme.css";
export default function AnalyticsLayoutClient({
children,
}: {
children: React.ReactNode;
}) {
return (
<GoodDataProvider>
<GoodDataThemeProvider>
{children}
</GoodDataThemeProvider>
</GoodDataProvider>
);
}Ayush Kumar
08/20/2025, 5:40 PMMauricio Cabezas
08/20/2025, 6:20 PM"@GoodData/sdk-ui-kit".
Just in case, did you check if you have the file attribute.svg in the respective path from the error?
Also, as I assumed you jumped from version 10.24 to 10.39, if you see the changelog, in the version 10.33:
Replace ~@gooddata/ imports in scss files with @gooddata/ to allow integration with next.js
meaning that the CSS got consolidated into sdk-ui-ext and sdk-ui , thus technically you do not need to import sdk-ui-kit/styles/css/main.css anymore if you’re on 10.39, but if for any reason you need it, you will need to update it too.
Please, let me know if that worksAyush Kumar
08/20/2025, 8:36 PMAyush Kumar
08/21/2025, 1:57 PMRajat Hans
08/21/2025, 1:57 PMMauricio Cabezas
08/21/2025, 2:05 PM"@GoodData/sdk-ui-kit" package as I suggested? What is the current state of the error, still the same?, did you try also to comment the line import "@gooddata/sdk-ui-kit/styles/css/main.css"; in your code?
Regarding the main request, we are still waiting for the video or more detailed explanation to understand better.Ayush Kumar
08/21/2025, 2:16 PMAyush Kumar
08/21/2025, 2:17 PMAyush Kumar
08/21/2025, 2:18 PM"@gooddata/sdk-backend-spi": "^10.40.0",
"@gooddata/sdk-backend-tiger": "^10.40.0",
"@gooddata/sdk-model": "^10.40.0",
"@gooddata/sdk-ui": "^10.40.0",
"@gooddata/sdk-ui-all": "^10.40.0",
"@gooddata/sdk-ui-ext": "^10.40.0",
"@gooddata/sdk-ui-kit": "^10.40.0",Mauricio Cabezas
08/21/2025, 2:18 PMAyush Kumar
08/21/2025, 2:18 PM'use client';
import React from 'react';
import { GoodDataProvider } from '@/contexts/GoodDataContext';
import { GoodDataThemeProvider } from '@/contexts/GoodDataThemeContext';
import "@gooddata/sdk-ui-filters/styles/css/main.css";
import "@gooddata/sdk-ui-charts/styles/css/main.css";
import "@gooddata/sdk-ui-geo/styles/css/main.css";
import "@gooddata/sdk-ui-pivot/styles/css/main.css";
// import "@gooddata/sdk-ui-kit/styles/css/main.css";
import "@gooddata/sdk-ui-ext/styles/css/main.css";
import "@/styles/gooddata-theme.css";
export default function AnalyticsLayoutClient({
children,
}: {
children: React.ReactNode;
}) {
return (
<GoodDataProvider>
<GoodDataThemeProvider>
{children}
</GoodDataThemeProvider>
</GoodDataProvider>
);
}Sahitya
08/21/2025, 2:44 PMAyush Kumar
08/21/2025, 2:46 PMSahitya
08/21/2025, 2:49 PMMauricio Cabezas
08/21/2025, 3:12 PMNode ^16.20.0 LTSSahitya
08/21/2025, 4:48 PM~ for absolute imports, whereas in the newer versions, they dont, which is what causes the compilation error.
first screenshot is from 10.24.0, second one is from 10.40.0.
Suspect PR: https://github.com/gooddata/gooddata-ui-sdk/pull/6716
Manually adding back the tilde fixed the error for the svg imports, but now the library throws another error:
⨯ ./node_modules/@gooddata/sdk-ui-filters/styles/css/main.css:4:1
Module not found: Can't resolve './@gooddata/sdk-ui-kit/styles/fonts/Indigo-v2.eot'
<https://nextjs.org/docs/messages/module-not-found>
Import trace for requested module:
./node_modules/@gooddata/sdk-ui-filters/styles/css/main.css
Which unfortunately does not get resolved by adding tilde to the imports. This might help you debug the issue further.Ayush Kumar
08/22/2025, 11:06 AMMauricio Cabezas
08/22/2025, 6:50 PMinsight object, using the console.logs() is not the correct approach. Those values that show up in the console are not in the correct format that our chart components expect, which is why the custom visualization is not rendering as intended. The correct format is or type is IMeasure[].
The recommended approach is to use the SDK helper functions insightMeasures() and insightAttributes(). These will safely extract the measures and attributes from the saved insight in the right shape, so you can pass them directly to your ColumnChart (or any other chart).
This way you can reuse the definition of your saved insight, but display it in the visualisation type you choose.Ayush Kumar
08/23/2025, 9:12 PMRajat Hans
09/01/2025, 7:43 AMAyush Kumar
09/01/2025, 8:12 AMinsightMeasures() and insightAttributes() functions, which are repeatedly causing our application to crash and generating extensive TypeScript errors. You can find the screenshots and code implementation below
Additionally, regarding the SDK update, you had previously indicated that you would engage your Technical Support Team and provide us with a resolution. Despite multiple follow-ups on this thread and via email, it has now been almost two weeks without any meaningful update or fix. My team has reiterated these concerns numerous times, and this persistent lack of resolution has become a major blocker for our project delivery.
Given the critical impact on our workflow, we urgently request escalation and immediate action from your end. Please prioritize this issue and ensure we receive a comprehensive response or solution as soon as possible.Ayush Kumar
09/01/2025, 8:12 AMAyush Kumar
09/01/2025, 8:13 AMuseEffect(() => {
const fetchInsights = async () => {
const insight = await backend?.workspace(workspaceId).insights().getInsight(idRef("9a07e92c-9c2d-420c-b39b-b51df9b9843c"));
if(insight) {
const insightMeasures_ = insightMeasures(insight);
const insightAttributes_ = insightAttributes(insight);
setMeasures(insightMeasures_ as any);
setAttributes(insightAttributes_ as any);
}
}
fetchInsights();
}, []);Ayush Kumar
09/01/2025, 8:13 AM<ColumnChart measures={measures as any} backend={backend} workspace={workspaceId} viewBy={attributes as any} />Julius Kos
09/01/2025, 8:44 AMDaniela Salmeron
09/01/2025, 12:41 PMDaniela Salmeron
09/01/2025, 1:43 PMAyush Kumar
09/02/2025, 6:19 AMDaniela Salmeron
09/02/2025, 8:17 AMDaniela Salmeron
09/03/2025, 1:28 PM9a07e92c-9c2d-420c-b39b-b51df9b9843c exists and is valid, the timing of React lifecycle vs context initialization causes the useEffect to run and fail before the backend is ready, and it never gets another chance to run.
The root cause is the Empty Dependency Array Issue:
(Lines 439-450):
useEffect(() => {
const fetchInsights = async () => {
// This insight DOES exist in customer's workspace
const insight = await backend?.workspace(workspaceId).insights().getInsight(idRef("9a07e92c-9c2d-420c-b39b-b51df9b9843c"));
if(insight) {
setMeasures(insightMeasures(insight));
setAttributes(insightAttributes(insight));
}
}
Everything else works because the other components use the correct synchronous pattern.
In the code you actually have the working solution to this, but is commented, this is in Line 502:
// {backend && <ColumnChart measures={[NetSales.Sum]} backend={backend} workspace={workspaceId} />}
The ColumnChart mounts with empty buckets because the data-fetching useEffect runs once before backend/workspaceId are ready. Therefore, you will need to add dependencies + guard rendering or (easiest) would be to swap to InsightView for that saved insight.Ayush Kumar
09/03/2025, 1:32 PM{backend && <ColumnChart measures={[NetSales.Sum]} backend={backend} workspace={workspaceId} />}Ayush Kumar
09/03/2025, 1:33 PMDaniela Salmeron
09/08/2025, 9:32 AM