multica-ai/multica · error

Failed to load child progress for export

Error message

Failed to load child progress for export

What it means

Companion guard to the project-data check in resolveTableExportLookups: thrown when the export requested child-progress lookups, refetchChildProgress resolved without an error field, but progressResult.data is empty/undefined. It prevents exporting a table whose child-progress column would silently show blanks.

Source

Thrown at packages/views/issues/surface/use-issue-surface-data.ts:301

  const projectMap = useMemo(
    () => new Map(projects.map((project) => [project.id, project])),
    [projects],
  );
  const resolveTableExportLookups = useCallback(
    async (needs: { projects: boolean; childProgress: boolean }) => {
      const [projectResult, progressResult] = await Promise.all([
        needs.projects ? refetchProjects() : Promise.resolve(null),
        needs.childProgress
          ? refetchChildProgress()
          : Promise.resolve(null),
      ]);
      if (projectResult?.error) throw projectResult.error;
      if (progressResult?.error) throw progressResult.error;
      if (needs.projects && !projectResult?.data) {
        throw new Error("Failed to load project data for export");
      }
      if (needs.childProgress && !progressResult?.data) {
        throw new Error("Failed to load child progress for export");
      }
      const resolvedProjects = projectResult?.data ?? projects;
      return {
        projectMap: new Map(
          resolvedProjects.map((project) => [project.id, project]),
        ),
        childProgressMap: progressResult?.data ?? childProgressMap,
      };
    },
    [
      childProgressMap,
      projects,
      refetchChildProgress,
      refetchProjects,
    ],
  );

  const visibleStatuses = useMemo<IssueStatus[]>(() => {

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Retry the export once the workspace data has settled.
  2. Confirm the child-progress query is enabled and keyed to the current workspace and filter set.
  3. Drop the child-progress column from the export if rollups are not required.
  4. If developing: make the query return [] for the no-hierarchy case instead of undefined so the needs-childProgress path has data.
Defensive patterns

Strategy: validation

Validate before calling

// Before export: ensure child-progress data is loaded when the column is shown
if (needs.childProgress && !childProgressMap) {
  await refetchChildProgress();
}

Try / catch

try {
  const lookups = await resolveTableExportLookups({ projects: false, childProgress: true });
} catch (err) {
  notifyExportBlocked(err instanceof Error ? err.message : "export lookups unavailable");
}

Prevention

When it happens

Trigger: Exporting with a child-progress (sub-issue rollup) column while the child-progress query returns success with undefined data; hierarchy data query disabled or keyed to a stale workspace; refetch resolving after the component began tearing down.

Common situations: Saved column layouts including progress rollups; workspaces where issues have no sub-issues and the query short-circuits to undefined; race between export and query invalidation.

Related errors


AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15). Data as JSON: /api/errors/529c4797f9bdbab4. Report an issue: GitHub.