The C1 fix (a45db52a) shipped with no committed test: the defect lives in
js/, and this repo has no JavaScript test surface - no package.json, no
eslint config, no tsconfig - so nothing in CI could notice a reinstatement
of the false "default channel" message. ruff covers only Python.
Rather than add a JS toolchain, the guard shells out to `node` and drives
the SHIPPED client modules (CustomNodesManager.installNodes,
uninstallNodes) through a stubbed 404, then reads the string that reached
app.ui.dialog.show() - the sink the user actually reads. Only the network
and the browser are stood in for; the client code that runs is the real
file, reached through a symlink under --preserve-symlinks so nothing is
copied.
The same predicate runs against both arms, so this is a guard rather than
a tautology: it must pass on the current client and FAIL on the client as
it was at 14de6304, on the false lead specifically. Verified by mutation
too - reinstating either 404 branch turns both GREEN nodes red.
Every node skips with a reason when `node` is absent, so a node-less
runner is not broken by this file.
11 lines
428 B
JavaScript
11 lines
428 B
JavaScript
// Stand-in for ComfyUI's `scripts/ui.js`, for tests/test_batch_404_dialog_guard.py.
|
|
// Import-time surface only — the guard never exercises these.
|
|
export function $el(tag, props = {}, children = []) {
|
|
return { tag, props, children, style: {}, classList: { add() {}, remove() {} } };
|
|
}
|
|
export class ComfyDialog {
|
|
constructor() { this.element = { style: {}, classList: { add() {}, remove() {} } }; }
|
|
show() {}
|
|
close() {}
|
|
}
|