feat: improve error handling in terminal settings retrieval and enhance path normalization

- Wrapped the terminal settings retrieval in a try-catch block to handle potential errors and respond with a 500 status and error details.
- Updated path normalization logic to skip resolution for WSL UNC paths, preventing potential issues with path handling in Windows Subsystem for Linux.
- Enhanced unit tests for session termination to include timer-based assertions for graceful session killing.
This commit is contained in:
SuperComboGamer
2025-12-20 23:35:03 -05:00
parent 820f43078b
commit f504a00ce6
3 changed files with 30 additions and 11 deletions

View File

@@ -8,14 +8,23 @@ import { getErrorMessage, logError } from "../common.js";
export function createSettingsGetHandler() {
return (_req: Request, res: Response): void => {
const terminalService = getTerminalService();
res.json({
success: true,
data: {
maxSessions: terminalService.getMaxSessions(),
currentSessions: terminalService.getSessionCount(),
},
});
try {
const terminalService = getTerminalService();
res.json({
success: true,
data: {
maxSessions: terminalService.getMaxSessions(),
currentSessions: terminalService.getSessionCount(),
},
});
} catch (error) {
logError(error, "Get terminal settings failed");
res.status(500).json({
success: false,
error: "Failed to get terminal settings",
details: getErrorMessage(error),
});
}
};
}