@@ -4,10 +4,12 @@
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
- Added `warnings.anthropicExtraUsage` and a `/settings` warnings submenu to suppress the Anthropic extra usage billing warning ([#3808](https://github.com/badlogic/pi-mono/issues/3808))
|
||||||
- Added `ctx.ui.setWorkingVisible()` so extensions can hide the built-in interactive working loader row without reserving layout space, plus a border-status editor example that moves working state into a custom editor border ([#3674](https://github.com/badlogic/pi-mono/issues/3674))
|
- Added `ctx.ui.setWorkingVisible()` so extensions can hide the built-in interactive working loader row without reserving layout space, plus a border-status editor example that moves working state into a custom editor border ([#3674](https://github.com/badlogic/pi-mono/issues/3674))
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed bash executor temp output streams leaking file descriptors when output was truncated by line count ([#3786](https://github.com/badlogic/pi-mono/issues/3786))
|
||||||
- Fixed extension `pi.setSessionName()` updates to refresh the interactive terminal title immediately ([#3686](https://github.com/badlogic/pi-mono/issues/3686))
|
- Fixed extension `pi.setSessionName()` updates to refresh the interactive terminal title immediately ([#3686](https://github.com/badlogic/pi-mono/issues/3686))
|
||||||
- Fixed `/tree` cancellation via `session_before_tree` leaving the session stuck in compaction state ([#3688](https://github.com/badlogic/pi-mono/issues/3688))
|
- Fixed `/tree` cancellation via `session_before_tree` leaving the session stuck in compaction state ([#3688](https://github.com/badlogic/pi-mono/issues/3688))
|
||||||
- Fixed Escape interrupt handling when extensions hide the built-in working loader row ([#3674](https://github.com/badlogic/pi-mono/issues/3674))
|
- Fixed Escape interrupt handling when extensions hide the built-in working loader row ([#3674](https://github.com/badlogic/pi-mono/issues/3674))
|
||||||
|
|||||||
@@ -110,15 +110,14 @@ export async function executeBashWithOperations(
|
|||||||
signal: options?.signal,
|
signal: options?.signal,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (tempFileStream) {
|
|
||||||
tempFileStream.end();
|
|
||||||
}
|
|
||||||
|
|
||||||
const fullOutput = outputChunks.join("");
|
const fullOutput = outputChunks.join("");
|
||||||
const truncationResult = truncateTail(fullOutput);
|
const truncationResult = truncateTail(fullOutput);
|
||||||
if (truncationResult.truncated) {
|
if (truncationResult.truncated) {
|
||||||
ensureTempFile();
|
ensureTempFile();
|
||||||
}
|
}
|
||||||
|
if (tempFileStream) {
|
||||||
|
tempFileStream.end();
|
||||||
|
}
|
||||||
const cancelled = options?.signal?.aborted ?? false;
|
const cancelled = options?.signal?.aborted ?? false;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -129,10 +128,6 @@ export async function executeBashWithOperations(
|
|||||||
fullOutputPath: tempFilePath,
|
fullOutputPath: tempFilePath,
|
||||||
};
|
};
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (tempFileStream) {
|
|
||||||
tempFileStream.end();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if it was an abort
|
// Check if it was an abort
|
||||||
if (options?.signal?.aborted) {
|
if (options?.signal?.aborted) {
|
||||||
const fullOutput = outputChunks.join("");
|
const fullOutput = outputChunks.join("");
|
||||||
@@ -140,6 +135,9 @@ export async function executeBashWithOperations(
|
|||||||
if (truncationResult.truncated) {
|
if (truncationResult.truncated) {
|
||||||
ensureTempFile();
|
ensureTempFile();
|
||||||
}
|
}
|
||||||
|
if (tempFileStream) {
|
||||||
|
tempFileStream.end();
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
output: truncationResult.truncated ? truncationResult.content : fullOutput,
|
output: truncationResult.truncated ? truncationResult.content : fullOutput,
|
||||||
exitCode: undefined,
|
exitCode: undefined,
|
||||||
@@ -149,6 +147,10 @@ export async function executeBashWithOperations(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tempFileStream) {
|
||||||
|
tempFileStream.end();
|
||||||
|
}
|
||||||
|
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user