diff --git a/docs/hooks/init.mdx b/docs/hooks/init.mdx index 85355d97fc8..22eab975c6c 100644 --- a/docs/hooks/init.mdx +++ b/docs/hooks/init.mdx @@ -72,11 +72,9 @@ bun install ## Output -Init output appears in a banner at the top of the workspace. Click to expand/collapse the log. The banner shows: +The creation card appears after the first user message in the transcript. While setup runs, it shows a checklist of steps and checkout progress when available. Select **More details** to see the project path and stdout/stderr output. -- Script path (`.xum/init`) -- Status (running, success, or exit code on failure) -- Full stdout/stderr output +On success, the card collapses to **Workspace created** with the elapsed time. Click the header to expand the log. On failure, the card stays expanded and shows the exit code and error output. ## Idempotency diff --git a/src/browser/components/ProgressBar/ProgressBar.tsx b/src/browser/components/ProgressBar/ProgressBar.tsx new file mode 100644 index 00000000000..79a4a9c7441 --- /dev/null +++ b/src/browser/components/ProgressBar/ProgressBar.tsx @@ -0,0 +1,22 @@ +import { cn } from "@/common/lib/utils"; + +interface ProgressBarProps { + value: number; + className?: string; + "aria-label"?: string; +} + +export function ProgressBar(props: ProgressBarProps) { + return ( +
+ {message.truncatedLines && (
+
+ ... {message.truncatedLines.toLocaleString()} earlier lines truncated ...
+ {"\n"}
+
+ )}
+ {rawLines.map((line, index) => (
+
+ {line.line}
+ {index < rawLines.length - 1 ? "\n" : ""}
+
+ ))}
+
+ )}
+ >
+ )}
+