refactor: update token generation method and improve maxSessions validation

- Changed the token generation method to use slice instead of substr for better readability.
- Enhanced maxSessions validation in the settings update handler to check for undefined values and ensure the input is a number before processing.
This commit is contained in:
SuperComboGamer
2025-12-20 23:20:31 -05:00
parent 39b21830dc
commit 8f5e782583
4 changed files with 12 additions and 4 deletions

View File

@@ -54,7 +54,7 @@ export function getTokenData(
export function generateToken(): string {
return `term-${Date.now()}-${Math.random()
.toString(36)
.substr(2, 15)}${Math.random().toString(36).substr(2, 15)}`;
.slice(2, 17)}${Math.random().toString(36).slice(2, 17)}`;
}
/**

View File

@@ -25,7 +25,15 @@ export function createSettingsUpdateHandler() {
const terminalService = getTerminalService();
const { maxSessions } = req.body;
if (typeof maxSessions === "number") {
// Validate maxSessions if provided
if (maxSessions !== undefined) {
if (typeof maxSessions !== "number") {
res.status(400).json({
success: false,
error: "maxSessions must be a number",
});
return;
}
if (!Number.isInteger(maxSessions)) {
res.status(400).json({
success: false,

View File

@@ -233,7 +233,7 @@ export class TerminalService extends EventEmitter {
return null;
}
const id = `term-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
const id = `term-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
const { shell: detectedShell, args: shellArgs } = this.detectShell();
const shell = options.shell || detectedShell;

View File

@@ -579,7 +579,7 @@ export function TerminalView() {
return {
type: "split",
id: persisted.id || `split-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
id: persisted.id || `split-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`,
direction: persisted.direction,
panels: childPanels,
size: persisted.size,