Report errors

This commit is contained in:
Douwe Osinga
2025-11-07 16:29:36 -05:00
parent aaa3ffa626
commit 6082aa61a3
2 changed files with 32 additions and 28 deletions
+1 -1
View File
@@ -143,7 +143,7 @@ async fn create_app(
.get_file("Clock.gapp")
.and_then(|f| f.contents_utf8())
.ok_or_else(|| ErrorResponse::internal("invalid or missing Clock.gapp"))?;
GooseApp::from_file_content(clock_gapp)?
GooseApp::from_file_content(&clock_gapp)?
} else {
request.app
};
@@ -77,40 +77,44 @@ export default function GooseAppEditor({ app, onReturn }: GooseAppEditorProps) {
};
const handleUpdate = async () => {
setIsIterating(true);
setIterationMessage('Starting iteration...');
try {
setIsIterating(true);
setIterationMessage('Starting iteration...');
let currentJs = jsImplementation;
let done = false;
let currentJs = jsImplementation;
let done = false;
while (!done) {
const screenshot = await captureScreenshot();
const arrayBuffer = await screenshot.arrayBuffer();
const base64 = globalThis.btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
while (!done) {
const screenshot = await captureScreenshot();
const arrayBuffer = await screenshot.arrayBuffer();
const base64 = globalThis.btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
const response = await iterateApp({
body: {
jsImplementation: currentJs,
prd,
screenshotBase64: base64,
errors: iframeErrors.join('\n'),
},
throwOnError: true,
});
const response = await iterateApp({
body: {
jsImplementation: currentJs,
prd,
screenshotBase64: base64,
errors: iframeErrors.join('\n'),
},
throwOnError: true,
});
setIterationMessage(response.data.message);
setIterationMessage(response.data.message);
if (response.data.done) {
done = true;
setIterationMessage('Done! ' + response.data.message);
} else {
currentJs = response.data.jsImplementation!;
setJsImplementation(currentJs);
await new Promise((resolve) => setTimeout(resolve, 1000));
if (response.data.done) {
done = true;
setIterationMessage('Done! ' + response.data.message);
} else {
currentJs = response.data.jsImplementation!;
setJsImplementation(currentJs);
await new Promise((resolve) => setTimeout(resolve, 1000));
}
}
} catch (e) {
setIterationMessage('Iteration failed ' + errorMessage(e));
} finally {
setIsIterating(false);
}
setIsIterating(false);
};
const handleSave = async () => {