@pixelbyte-software/pixcode 1.54.4 → 1.54.6

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.
package/dist/index.html CHANGED
@@ -35,7 +35,7 @@
35
35
 
36
36
  <!-- Prevent zoom on iOS -->
37
37
  <meta name="format-detection" content="telephone=no" />
38
- <script type="module" crossorigin src="/assets/index-CsGmhCrj.js"></script>
38
+ <script type="module" crossorigin src="/assets/index-DJ_KIN2W.js"></script>
39
39
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DB6V5Fl1.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CIYNS698.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-C7tpxJl7.js">
@@ -88,7 +88,17 @@ function resolveMonacoAssetsPath() {
88
88
  import { c } from './utils/colors.js';
89
89
  // Server port is logged after binding in startServer() — avoid leaking
90
90
  // env configuration to stdout on every import.
91
- import pty from 'node-pty';
91
+ // node-pty is a native module — use dynamic require so the server doesn't
92
+ // crash on startup if it isn't compiled (allow-scripts blocking, etc.)
93
+ let pty;
94
+ try {
95
+ pty = require('node-pty');
96
+ }
97
+ catch (e) {
98
+ console.warn('[WARN] node-pty native module not available. Terminal/shell features will be disabled.');
99
+ console.warn('[WARN] Run: npm install -g --allow-scripts=better-sqlite3,node-pty @pixelbyte-software/pixcode');
100
+ pty = null;
101
+ }
92
102
  import mime from 'mime-types';
93
103
  import { getProjects, getSessions, renameProject, deleteSession, deleteProject, extractProjectDirectory, clearProjectDirectoryCache, searchConversations } from './projects.js';
94
104
  import { queryClaudeSDK, abortClaudeSDKSession, isClaudeSDKSessionActive, getActiveClaudeSDKSessions, resolveToolApproval, getPendingApprovalsForSession, reconnectSessionWriter } from './claude-sdk.js';
@@ -4115,6 +4125,10 @@ function handleShellConnection(ws, request) {
4115
4125
  // already sandboxed, so the flag is safe to use.
4116
4126
  ...(isRunningAsRoot ? { IS_SANDBOX: '1' } : {}),
4117
4127
  };
4128
+ if (!pty) {
4129
+ ws.send(JSON.stringify({ type: 'error', message: 'Terminal not available — node-pty native module is not installed. Run: npm install -g --allow-scripts=better-sqlite3,node-pty @pixelbyte-software/pixcode' }));
4130
+ return;
4131
+ }
4118
4132
  shellProcess = pty.spawn(shell, shellArgs, {
4119
4133
  name: 'xterm-256color',
4120
4134
  cols: termCols,