diff --git a/packages/desktop/src/index.js b/packages/desktop/src/index.js index ca08863cd..931eb7d32 100644 --- a/packages/desktop/src/index.js +++ b/packages/desktop/src/index.js @@ -369,7 +369,8 @@ class Interpreter { node.innerHTML = value; break; default: - if (value == "false") { + // https://github.com/facebook/react/blob/8b88ac2592c5f555f315f9440cbb665dd1e7457a/packages/react-dom/src/shared/DOMProperty.js#L352-L364 + if (value == "false" && name != "capture" && name != "download") { node.removeAttribute(name); } else { node.setAttribute(name, value); diff --git a/packages/web/src/dom.rs b/packages/web/src/dom.rs index 280e285a5..e9cf66af2 100644 --- a/packages/web/src/dom.rs +++ b/packages/web/src/dom.rs @@ -348,7 +348,8 @@ impl WebsysDom { } } _ => { - if value == "false" { + // https://github.com/facebook/react/blob/8b88ac2592c5f555f315f9440cbb665dd1e7457a/packages/react-dom/src/shared/DOMProperty.js#L352-L364 + if value == "false" && ((name != "capture") && (name != "download")) { if let Some(el) = node.dyn_ref::() { let _ = el.remove_attribute(name); }