@calltelemetry/cli 0.15.0 → 0.15.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.
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export declare const VERSION = "0.15.0";
2
+ export declare const VERSION = "0.15.1";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export const VERSION = '0.15.0';
2
+ export const VERSION = '0.15.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useComposeLogs.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useComposeLogs.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,SAAM,GACT;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAyFA"}
1
+ {"version":3,"file":"useComposeLogs.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useComposeLogs.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,SAAM,GACT;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAyGA"}
@@ -5,11 +5,16 @@ export function useComposeLogs(service, tail = 200) {
5
5
  const [lines, setLines] = useState([]);
6
6
  const [isRunning, setIsRunning] = useState(false);
7
7
  const procRef = useRef(null);
8
+ // Bumped whenever the active stream is stopped or the component unmounts.
9
+ // `start()` is async (compose detection + execa), so a stop() that lands
10
+ // while detection is in flight must prevent the process from being spawned.
11
+ const generationRef = useRef(0);
8
12
  const serviceRef = useRef(service);
9
13
  const tailRef = useRef(tail);
10
14
  serviceRef.current = service;
11
15
  tailRef.current = tail;
12
16
  const stop = useCallback(() => {
17
+ generationRef.current += 1;
13
18
  if (procRef.current) {
14
19
  procRef.current.kill();
15
20
  procRef.current = null;
@@ -20,9 +25,13 @@ export function useComposeLogs(service, tail = 200) {
20
25
  stop();
21
26
  if (!serviceRef.current)
22
27
  return;
28
+ const generation = generationRef.current;
23
29
  setLines([]);
24
30
  setIsRunning(true);
25
31
  const composeCmd = await detectComposeCommand();
32
+ // stop()/unmount won the race with compose detection: never spawn.
33
+ if (generation !== generationRef.current)
34
+ return;
26
35
  const tailStr = String(tailRef.current);
27
36
  let proc;
28
37
  if (composeCmd === 'docker compose') {
@@ -40,8 +49,11 @@ export function useComposeLogs(service, tail = 200) {
40
49
  });
41
50
  }
42
51
  procRef.current = proc;
52
+ const isCurrent = () => procRef.current === proc;
43
53
  let buffer = '';
44
54
  proc.stdout.on('data', (chunk) => {
55
+ if (!isCurrent())
56
+ return;
45
57
  buffer += chunk.toString();
46
58
  const parts = buffer.split('\n');
47
59
  buffer = parts.pop();
@@ -54,6 +66,8 @@ export function useComposeLogs(service, tail = 200) {
54
66
  });
55
67
  // Also capture stderr (compose sometimes writes there)
56
68
  proc.stderr.on('data', (chunk) => {
69
+ if (!isCurrent())
70
+ return;
57
71
  buffer += chunk.toString();
58
72
  const parts = buffer.split('\n');
59
73
  buffer = parts.pop();
@@ -65,6 +79,9 @@ export function useComposeLogs(service, tail = 200) {
65
79
  }
66
80
  });
67
81
  proc.then(() => {
82
+ // A newer start() or stop() replaced this process; ignore its completion.
83
+ if (!isCurrent())
84
+ return;
68
85
  if (buffer.length > 0) {
69
86
  setLines(prev => [...prev, buffer]);
70
87
  }
@@ -74,6 +91,7 @@ export function useComposeLogs(service, tail = 200) {
74
91
  }, [stop]);
75
92
  useEffect(() => {
76
93
  return () => {
94
+ generationRef.current += 1;
77
95
  if (procRef.current) {
78
96
  procRef.current.kill();
79
97
  procRef.current = null;
@@ -1 +1 @@
1
- {"version":3,"file":"useComposeLogs.js","sourceRoot":"","sources":["../../../src/ui/hooks/useComposeLogs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useComposeLogs.js","sourceRoot":"","sources":["../../../src/ui/hooks/useComposeLogs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "Call Telemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {