@pixelbyte-software/pixcode 1.41.1 → 1.41.2

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-xttxkI5U.js"></script>
38
+ <script type="module" crossorigin src="/assets/index-BC6Knu5B.js"></script>
39
39
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-D7WwDXvu.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CzYAOTxS.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-CJZjLICi.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelbyte-software/pixcode",
3
- "version": "1.41.1",
3
+ "version": "1.41.2",
4
4
  "description": "Self-hosted AI coding agent control room for Claude Code, Cursor CLI, OpenAI Codex, Gemini CLI, Qwen Code, and OpenCode with chat, files, shell, Git, orchestration, API keys, Telegram, MCP, plugins, themes, and desktop/server deployment.",
5
5
  "type": "module",
6
6
  "main": "dist-server/server/index.js",
@@ -47,7 +47,9 @@ assert.ok(
47
47
  );
48
48
 
49
49
  assert.ok(
50
- mainContent.includes('useChangedFilesMonitor(selectedProject, changeAwareness, latestMessage, changeTrackingMode)'),
50
+ mainContent.includes('useChangedFilesMonitor(selectedProject')
51
+ && mainContent.includes('latestMessage')
52
+ && mainContent.includes('changeTrackingMode'),
51
53
  'MainContent should pass latestMessage into the changed-files monitor.',
52
54
  );
53
55
 
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env node
2
+
3
+ import assert from 'node:assert/strict';
4
+ import { existsSync, readFileSync } from 'node:fs';
5
+
6
+ const refreshUtilPath = 'src/utils/runStateRefresh.ts';
7
+ assert.ok(existsSync(refreshUtilPath), 'Run state refresh utility should exist.');
8
+
9
+ const refreshUtil = readFileSync(refreshUtilPath, 'utf8');
10
+ const chatRealtime = readFileSync('src/components/chat/hooks/useChatRealtimeHandlers.ts', 'utf8');
11
+ const chatSession = readFileSync('src/components/chat/hooks/useChatSessionState.ts', 'utf8');
12
+ const chatInterface = readFileSync('src/components/chat/view/ChatInterface.tsx', 'utf8');
13
+ const changedFilesHook = readFileSync('src/hooks/useChangedFilesMonitor.ts', 'utf8');
14
+ const orchestrationPage = readFileSync('src/components/orchestration/OrchestrationPage.tsx', 'utf8');
15
+ const runPanel = readFileSync('src/components/orchestration/workflows/WorkflowRunPanel.tsx', 'utf8');
16
+
17
+ assert.ok(
18
+ refreshUtil.includes('PIXCODE_RUN_STATE_REFRESH_EVENT') && refreshUtil.includes('dispatchRunStateRefresh'),
19
+ 'Run state refresh utility should expose a stable browser event and dispatcher.',
20
+ );
21
+
22
+ assert.ok(
23
+ chatRealtime.includes('onSessionSettled') && chatRealtime.includes('dispatchRunStateRefresh'),
24
+ 'Chat realtime handlers should dispatch and callback on completion/failure so persisted messages are rehydrated.',
25
+ );
26
+
27
+ assert.ok(
28
+ chatSession.includes('refreshActiveSessionMessages') && chatSession.includes('refreshActiveSessionMessages,'),
29
+ 'Chat session state should expose its canonical server refresh path to realtime handlers.',
30
+ );
31
+
32
+ assert.ok(
33
+ chatInterface.includes('handleSessionSettled') && chatInterface.includes('refreshActiveSessionMessages'),
34
+ 'Chat interface should refresh the active session when a run settles.',
35
+ );
36
+
37
+ assert.ok(
38
+ changedFilesHook.includes('PIXCODE_RUN_STATE_REFRESH_EVENT') && changedFilesHook.includes("run-state"),
39
+ 'Changed-files monitor should refresh on canonical run-state events.',
40
+ );
41
+
42
+ assert.ok(
43
+ orchestrationPage.includes('mergeRunSnapshot') && orchestrationPage.includes('dispatchRunStateRefresh'),
44
+ 'Orchestration page should merge run snapshots and dispatch terminal refresh events.',
45
+ );
46
+
47
+ assert.ok(
48
+ runPanel.includes('onRunSnapshot') && runPanel.includes('onRunSnapshot?.(nextRun)'),
49
+ 'Workflow run panel should push run snapshots back to the parent list.',
50
+ );
51
+
52
+ console.log('run state refresh smoke passed');