fix: improve Windows managed OpenCode shutdown and launch behavior (#844)
* fix: windows shutdown and restart orphaned cleanup * fix: launch managed OpenCode directly on Windows Unwrap OpenCode wrappers to launch directly on Windows, improving shutdown reliability and avoid orphans. * fix: restore desktopNotifyEnabled in health snapshot --------- Signed-off-by: Dr. Zed <142888684+DocterZed@users.noreply.github.com> Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
committed by
GitHub
co-authored by
Bohdan Triapitsyn
parent
a3d73a8b67
commit
636dcd5314
@@ -20,7 +20,9 @@ type OpenChamberHealthSnapshot = {
|
||||
lastOpenCodeError?: unknown;
|
||||
opencodeBinaryResolved?: unknown;
|
||||
opencodeBinarySource?: unknown;
|
||||
opencodeShimInterpreter?: unknown;
|
||||
opencodeLaunchBinary?: unknown;
|
||||
opencodeLaunchArgs?: unknown;
|
||||
opencodeLaunchWrapperType?: unknown;
|
||||
nodeBinaryResolved?: unknown;
|
||||
bunBinaryResolved?: unknown;
|
||||
};
|
||||
@@ -32,7 +34,9 @@ type OpenChamberOpencodeResolution = {
|
||||
source?: unknown;
|
||||
detectedNow?: unknown;
|
||||
detectedSourceNow?: unknown;
|
||||
shim?: unknown;
|
||||
launchBinary?: unknown;
|
||||
launchArgs?: unknown;
|
||||
launchWrapperType?: unknown;
|
||||
node?: unknown;
|
||||
bun?: unknown;
|
||||
};
|
||||
@@ -273,10 +277,20 @@ export const buildOpenCodeStatusReport = async (): Promise<string> => {
|
||||
openChamberOpencodeResolution && typeof openChamberOpencodeResolution.source === 'string'
|
||||
? openChamberOpencodeResolution.source
|
||||
: (openChamberHealth && typeof openChamberHealth.opencodeBinarySource === 'string' ? openChamberHealth.opencodeBinarySource : '');
|
||||
const shim =
|
||||
openChamberOpencodeResolution && typeof openChamberOpencodeResolution.shim === 'string'
|
||||
? openChamberOpencodeResolution.shim
|
||||
: (openChamberHealth && typeof openChamberHealth.opencodeShimInterpreter === 'string' ? openChamberHealth.opencodeShimInterpreter : '');
|
||||
const launchBinary =
|
||||
openChamberOpencodeResolution && typeof openChamberOpencodeResolution.launchBinary === 'string'
|
||||
? openChamberOpencodeResolution.launchBinary
|
||||
: (openChamberHealth && typeof openChamberHealth.opencodeLaunchBinary === 'string' ? openChamberHealth.opencodeLaunchBinary : '');
|
||||
const launchWrapperType =
|
||||
openChamberOpencodeResolution && typeof openChamberOpencodeResolution.launchWrapperType === 'string'
|
||||
? openChamberOpencodeResolution.launchWrapperType
|
||||
: (openChamberHealth && typeof openChamberHealth.opencodeLaunchWrapperType === 'string' ? openChamberHealth.opencodeLaunchWrapperType : '');
|
||||
const launchArgs =
|
||||
openChamberOpencodeResolution && Array.isArray(openChamberOpencodeResolution.launchArgs)
|
||||
? openChamberOpencodeResolution.launchArgs.filter((value): value is string => typeof value === 'string')
|
||||
: (openChamberHealth && Array.isArray(openChamberHealth.opencodeLaunchArgs)
|
||||
? openChamberHealth.opencodeLaunchArgs.filter((value): value is string => typeof value === 'string')
|
||||
: []);
|
||||
const node =
|
||||
openChamberOpencodeResolution && typeof openChamberOpencodeResolution.node === 'string'
|
||||
? openChamberOpencodeResolution.node
|
||||
@@ -310,7 +324,9 @@ export const buildOpenCodeStatusReport = async (): Promise<string> => {
|
||||
lines.push(`- detected-now: ${detectedNow}`);
|
||||
lines.push(`- detected-source: ${detectedSourceNow || '(n/a)'}`);
|
||||
}
|
||||
lines.push(`- shim: ${shim || '(n/a)'}`);
|
||||
lines.push(`- launch-binary: ${launchBinary || '(n/a)'}`);
|
||||
lines.push(`- launch-wrapper: ${launchWrapperType || '(n/a)'}`);
|
||||
lines.push(`- launch-args: ${launchArgs.length ? launchArgs.join(' ') : '(none)'}`);
|
||||
lines.push(`- node: ${node || '(n/a)'}`);
|
||||
lines.push(`- bun: ${bun || '(n/a)'}`);
|
||||
if (!openChamberOpencodeResolution && openChamberOpencodeResolutionResult.error) {
|
||||
|
||||
Reference in New Issue
Block a user