@calltelemetry/cli 0.14.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.
@@ -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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"}
@@ -1,22 +1,30 @@
1
- export declare function parseVersion(version: string): {
1
+ export interface ParsedVersion {
2
2
  major: number;
3
3
  minor: number;
4
4
  patch: number;
5
- } | null;
5
+ build?: number;
6
+ }
7
+ export declare function parseVersion(version: string): ParsedVersion | null;
6
8
  export declare function isVersionGte(version: string, target: string): boolean;
7
9
  /**
8
- * Compare two version strings with full pre-release support.
10
+ * Compare two version strings with 4-segment patch build and pre-release support.
9
11
  * Returns positive if a > b, negative if a < b, 0 if equal.
10
12
  *
11
- * Ordering: stable releases sort HIGHER than RCs of the same base version.
12
- * 0.8.6 > 0.8.6-rc99 > 0.8.6-rc49-jtapi.4 > 0.8.6-rc49-jtapi > 0.8.6-rc49 > 0.8.6-rc48
13
+ * Ordering: higher 4-segment core wins; for equal core, stable releases sort
14
+ * HIGHER than RCs of the same core version.
15
+ * 0.8.6.32 > 0.8.6.32-rc15 > 0.8.6.31 > 0.8.6 > 0.8.6-rc99
13
16
  */
14
17
  export declare function compareVersions(a: string, b: string): number;
15
18
  /** Strip branch-latest image tags to the X.Y.Z line they belong to. */
16
19
  export declare function normalizeReleaseIdentity(version: string): string;
20
+ /**
21
+ * True iff `current` is an installed 4-segment final release (`X.Y.Z.N`) and
22
+ * `target` is a pre-release RC (`X.Y.Z.N-rcM`) with the exact same 4-segment core.
23
+ */
24
+ export declare function isSameCoreFinalSupersedingRc(current: string, target: string): boolean;
17
25
  /**
18
26
  * True when installing `target` would move the appliance to an older release
19
- * line or an older RC on the same line.
27
+ * line/build or an older RC on the same core.
20
28
  *
21
29
  * A bare `X.Y.Z` current identity is a **line pin** (CT_RELEASE_VERSION /
22
30
  * branch_latest), not a customer final. Same-line `X.Y.Z-rcN` is therefore
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQpG;AAqCD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CASrE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAwB5D;AAKD,uEAAuE;AACvE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAW3E"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAYlE;AAsCD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CASrE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA2B5D;AAMD,uEAAuE;AACvE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBrF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAW3E"}
@@ -1,18 +1,23 @@
1
1
  export function parseVersion(version) {
2
- const match = version.match(/^(\d+)\.(\d+)\.(\d+)/);
2
+ const match = version.match(/^(\d+)\.(\d+)\.(\d+)(?:\.(\d+))?/);
3
3
  if (!match)
4
4
  return null;
5
- return {
5
+ const parsed = {
6
6
  major: parseInt(match[1], 10),
7
7
  minor: parseInt(match[2], 10),
8
8
  patch: parseInt(match[3], 10),
9
9
  };
10
+ if (match[4] !== undefined) {
11
+ parsed.build = parseInt(match[4], 10);
12
+ }
13
+ return parsed;
10
14
  }
11
15
  /**
12
16
  * Parse pre-release suffix from a version string.
13
17
  * Examples:
14
18
  * "0.8.6" -> null (stable)
15
19
  * "0.8.6-rc48" -> { rc: 48, suffix: null }
20
+ * "0.8.6.32-rc15" -> { rc: 15, suffix: null }
16
21
  * "0.8.6-rc49-jtapi" -> { rc: 49, suffix: "jtapi" }
17
22
  * "0.8.6-rc47-jtapi.4" -> { rc: 47, suffix: "jtapi.4" }
18
23
  */
@@ -55,25 +60,30 @@ export function isVersionGte(version, target) {
55
60
  return cmp >= 0;
56
61
  }
57
62
  /**
58
- * Compare two version strings with full pre-release support.
63
+ * Compare two version strings with 4-segment patch build and pre-release support.
59
64
  * Returns positive if a > b, negative if a < b, 0 if equal.
60
65
  *
61
- * Ordering: stable releases sort HIGHER than RCs of the same base version.
62
- * 0.8.6 > 0.8.6-rc99 > 0.8.6-rc49-jtapi.4 > 0.8.6-rc49-jtapi > 0.8.6-rc49 > 0.8.6-rc48
66
+ * Ordering: higher 4-segment core wins; for equal core, stable releases sort
67
+ * HIGHER than RCs of the same core version.
68
+ * 0.8.6.32 > 0.8.6.32-rc15 > 0.8.6.31 > 0.8.6 > 0.8.6-rc99
63
69
  */
64
70
  export function compareVersions(a, b) {
65
71
  const va = parseVersion(a);
66
72
  const vb = parseVersion(b);
67
73
  if (!va || !vb)
68
74
  return 0;
69
- // Compare base semver
75
+ // Compare base 3/4-segment core
70
76
  if (va.major !== vb.major)
71
77
  return va.major - vb.major;
72
78
  if (va.minor !== vb.minor)
73
79
  return va.minor - vb.minor;
74
80
  if (va.patch !== vb.patch)
75
81
  return va.patch - vb.patch;
76
- // Same base version — compare pre-release
82
+ const buildA = va.build ?? 0;
83
+ const buildB = vb.build ?? 0;
84
+ if (buildA !== buildB)
85
+ return buildA - buildB;
86
+ // Same core version — compare pre-release
77
87
  const preA = parsePreRelease(a);
78
88
  const preB = parsePreRelease(b);
79
89
  // Stable (no pre-release) sorts higher than any RC
@@ -91,6 +101,7 @@ export function compareVersions(a, b) {
91
101
  }
92
102
  const BRANCH_LATEST_SHA = /^(\d+\.\d+\.\d+)-stable-[0-9a-f]+$/i;
93
103
  const LINE_PIN = /^(\d+\.\d+\.\d+)$/;
104
+ const FOUR_SEGMENT_FINAL = /^\d+\.\d+\.\d+\.\d+$/;
94
105
  /** Strip branch-latest image tags to the X.Y.Z line they belong to. */
95
106
  export function normalizeReleaseIdentity(version) {
96
107
  const raw = String(version || '').trim();
@@ -99,9 +110,29 @@ export function normalizeReleaseIdentity(version) {
99
110
  return sha[1];
100
111
  return raw;
101
112
  }
113
+ /**
114
+ * True iff `current` is an installed 4-segment final release (`X.Y.Z.N`) and
115
+ * `target` is a pre-release RC (`X.Y.Z.N-rcM`) with the exact same 4-segment core.
116
+ */
117
+ export function isSameCoreFinalSupersedingRc(current, target) {
118
+ const from = String(current || '').trim();
119
+ const to = String(target || '').trim();
120
+ if (!FOUR_SEGMENT_FINAL.test(from))
121
+ return false;
122
+ if (!parsePreRelease(to))
123
+ return false;
124
+ const vf = parseVersion(from);
125
+ const vt = parseVersion(to);
126
+ if (!vf || !vt || vf.build === undefined || vt.build === undefined)
127
+ return false;
128
+ return (vf.major === vt.major &&
129
+ vf.minor === vt.minor &&
130
+ vf.patch === vt.patch &&
131
+ vf.build === vt.build);
132
+ }
102
133
  /**
103
134
  * True when installing `target` would move the appliance to an older release
104
- * line or an older RC on the same line.
135
+ * line/build or an older RC on the same core.
105
136
  *
106
137
  * A bare `X.Y.Z` current identity is a **line pin** (CT_RELEASE_VERSION /
107
138
  * branch_latest), not a customer final. Same-line `X.Y.Z-rcN` is therefore
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.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.14.0",
3
+ "version": "0.15.1",
4
4
  "description": "Call Telemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {