tinyhumansai/openhuman · error

[artifact] revealItemInDir failed:

Error message

[artifact] revealItemInDir failed:

What it means

Failure of revealArtifactInFileManager: the opener plugin's typed revealItemInDir binding (which wraps {paths:[...]} correctly) threw — typically the path no longer exists because the artifact was moved/deleted, or the OS file manager interaction failed. The catch warns and the function returns false so callers can show a 'reveal failed' hint instead of a silent no-op.

Source

Thrown at app/src/services/artifactDownloadService.ts:346

  } catch (err) {
    const reason = err instanceof Error ? err.message : String(err);
    return { ok: false, code: 'DELETE_FAILED', error: reason };
  }
}

export async function revealArtifactInFileManager(absolutePath: string): Promise<boolean> {
  if (!isTauri()) return false;
  if (!absolutePath.trim()) return false;
  try {
    // Use the plugin's typed binding — the raw `invoke('plugin:opener|
    // reveal_item_in_dir', { path })` shape silently no-ops because the
    // plugin expects `{ paths: [absolutePath] }` (array). The binding
    // handles the wrap.
    await revealItemInDir(absolutePath);
    return true;
  } catch (err) {
    // Swallow — reveal is best-effort, the file is already saved.
    console.warn('[artifact] revealItemInDir failed:', err);
    return false;
  }
}

View on GitHub (pinned to 7491200858)

Solutions

  1. Check the artifact still exists at the path before revealing
  2. Return false to the caller and show inline UI feedback rather than retrying blindly
  3. On persistent failure, offer to open the parent folder instead
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at app/src/services/artifactDownloadService.ts:346 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/01c47062d3b210cb. Report an issue: GitHub.