claude-remote-cli 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@
11
11
  <meta name="apple-mobile-web-app-capable" content="yes" />
12
12
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
13
13
  <meta name="theme-color" content="#1a1a1a" />
14
- <script type="module" crossorigin src="/assets/index-BEffbpai.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-BRH8jV0L.js"></script>
15
15
  <link rel="stylesheet" crossorigin href="/assets/index-w5wJhB5f.css">
16
16
  </head>
17
17
  <body>
@@ -483,11 +483,14 @@ async function main() {
483
483
  });
484
484
  // POST /sessions
485
485
  app.post('/sessions', requireAuth, async (req, res) => {
486
- const { repoPath, repoName, worktreePath, branchName, claudeArgs, yolo, agent, useTmux, needsBranchRename, branchRenamePrompt } = req.body;
486
+ const { repoPath, repoName, worktreePath, branchName, claudeArgs, yolo, agent, useTmux, cols, rows, needsBranchRename, branchRenamePrompt } = req.body;
487
487
  if (!repoPath) {
488
488
  res.status(400).json({ error: 'repoPath is required' });
489
489
  return;
490
490
  }
491
+ // Sanitize optional terminal dimensions
492
+ const safeCols = typeof cols === 'number' && Number.isFinite(cols) && cols >= 1 && cols <= 500 ? Math.round(cols) : undefined;
493
+ const safeRows = typeof rows === 'number' && Number.isFinite(rows) && rows >= 1 && rows <= 200 ? Math.round(rows) : undefined;
491
494
  const resolvedAgent = agent || config.defaultAgent || 'claude';
492
495
  const name = repoName || repoPath.split('/').filter(Boolean).pop() || 'session';
493
496
  const baseArgs = [
@@ -580,6 +583,8 @@ async function main() {
580
583
  displayName: name,
581
584
  args: baseArgs,
582
585
  useTmux: useTmux ?? config.launchInTmux,
586
+ ...(safeCols != null && { cols: safeCols }),
587
+ ...(safeRows != null && { rows: safeRows }),
583
588
  });
584
589
  res.status(201).json(repoSession);
585
590
  return;
@@ -604,6 +609,8 @@ async function main() {
604
609
  args,
605
610
  configPath: CONFIG_PATH,
606
611
  useTmux: useTmux ?? config.launchInTmux,
612
+ ...(safeCols != null && { cols: safeCols }),
613
+ ...(safeRows != null && { rows: safeRows }),
607
614
  });
608
615
  writeMeta(CONFIG_PATH, {
609
616
  worktreePath: sessionRepoPath,
@@ -647,6 +654,8 @@ async function main() {
647
654
  args,
648
655
  configPath: CONFIG_PATH,
649
656
  useTmux: useTmux ?? config.launchInTmux,
657
+ ...(safeCols != null && { cols: safeCols }),
658
+ ...(safeRows != null && { rows: safeRows }),
650
659
  needsBranchRename: isMountainName || (needsBranchRename ?? false),
651
660
  branchRenamePrompt: branchRenamePrompt ?? '',
652
661
  });
@@ -662,12 +671,15 @@ async function main() {
662
671
  });
663
672
  // POST /sessions/repo — start a session in the repo root (no worktree)
664
673
  app.post('/sessions/repo', requireAuth, (req, res) => {
665
- const { repoPath, repoName, continue: continueSession, claudeArgs, yolo, agent, useTmux } = req.body;
674
+ const { repoPath, repoName, continue: continueSession, claudeArgs, yolo, agent, useTmux, cols, rows } = req.body;
666
675
  if (!repoPath) {
667
676
  res.status(400).json({ error: 'repoPath is required' });
668
677
  return;
669
678
  }
670
679
  const resolvedAgent = agent || config.defaultAgent || 'claude';
680
+ // Sanitize optional terminal dimensions
681
+ const safeCols = typeof cols === 'number' && Number.isFinite(cols) && cols >= 1 && cols <= 500 ? Math.round(cols) : undefined;
682
+ const safeRows = typeof rows === 'number' && Number.isFinite(rows) && rows >= 1 && rows <= 200 ? Math.round(rows) : undefined;
671
683
  // Multiple sessions per repo allowed (multi-tab support)
672
684
  const name = repoName || repoPath.split('/').filter(Boolean).pop() || 'session';
673
685
  const baseArgs = [
@@ -688,6 +700,8 @@ async function main() {
688
700
  displayName: name,
689
701
  args,
690
702
  useTmux: useTmux ?? config.launchInTmux,
703
+ ...(safeCols != null && { cols: safeCols }),
704
+ ...(safeRows != null && { rows: safeRows }),
691
705
  });
692
706
  res.status(201).json(session);
693
707
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-remote-cli",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "Remote web interface for Claude Code CLI sessions",
5
5
  "type": "module",
6
6
  "main": "dist/server/index.js",