@@ -987,21 +987,10 @@ export function updateSelectedUcComponentState(state, data) {
987987}
988988
989989/**
990- * Apply a Studio WebSocket UC component update .
990+ * Merge a Studio component tree snapshot into local state .
991991 *
992- * Studio's "updateComponents" notification carries a full tree snapshot. After
993- * a successful install, Studio has been observed to emit a follow-up snapshot
994- * that re-marks the just-installed leaf with isSelected:false, which used to
995- * make the missing-component warning flicker back.
996- *
997- * The fix is to treat Studio's WS updates as ADD-ONLY for the local selection
998- * set:
999- * - leaves with isSelected:true -> upserted (Studio can ADD)
1000- * - leaves with isSelected:false -> ignored (Studio cannot remove)
1001- * - leaves not mentioned at all -> left alone (no wipe)
1002- *
1003- * ucComponents (the catalog used for labels / metadata) is always merged so
1004- * we keep accumulating entries.
992+ * Add-only for selectedUcComponents: leaves with isSelected:true are upserted,
993+ * isSelected:false is ignored. ucComponents (the catalog) is always merged.
1005994 *
1006995 * @param {* } state
1007996 * @param {any[] } treeLeaves Flattened list of leaf nodes from Studio's tree.
@@ -1038,10 +1027,8 @@ export function applyUcComponentUpdate(state, treeLeaves) {
10381027
10391028/**
10401029 * Track which cluster ids ZAP has successfully asked Studio to install (or
1041- * uninstall) components for. The missing-component warning is gated by this
1042- * list: if ZAP just told Studio to install for a cluster and got a 2xx back,
1043- * later Studio WebSocket noise cannot flicker the warning back on for that
1044- * cluster.
1030+ * uninstall) components for. Consumed by the missing-component warning gate
1031+ * in common-mixin.js.
10451032 *
10461033 * @param {* } state
10471034 * @param {{ clusterId: any, added: boolean } } payload
0 commit comments