<h3 dir="auto">Preflight Checklist</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the <a href="https://github.com/electron/electron/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> for this project.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I agree to follow the <a href="https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md">Code of Conduct</a> that this project adheres to.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the issue tracker for an issue that matches the one I want to file, without success.</li>
</ul>
<h3 dir="auto">Issue Details</h3>
<p dir="auto">MenuItem's label cannot be changed once it's appended to a Menu, despite other properties taking effect as usual.</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="let electron = require(&quot;electron&quot;);
let menu = new electron.remote.Menu();
let item = new electron.remote.MenuItem({label:&quot;one!&quot;});
item.label = &quot;two!&quot;;
menu.append(item);
item.label = &quot;three!&quot;;
item.enabled = false; // (to verify that other properties can be changed)
menu.popup();"><pre class="notranslate"><span class="pl-k">let</span> <span class="pl-s1">electron</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">"electron"</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">let</span> <span class="pl-s1">menu</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-s1">electron</span><span class="pl-kos">.</span><span class="pl-c1">remote</span><span class="pl-kos">.</span><span class="pl-c1">Menu</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">let</span> <span class="pl-s1">item</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-s1">electron</span><span class="pl-kos">.</span><span class="pl-c1">remote</span><span class="pl-kos">.</span><span class="pl-c1">MenuItem</span><span class="pl-kos">(</span><span class="pl-kos">{</span><span class="pl-c1">label</span>:<span class="pl-s">"one!"</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">item</span><span class="pl-kos">.</span><span class="pl-c1">label</span> <span class="pl-c1">=</span> <span class="pl-s">"two!"</span><span class="pl-kos">;</span>
<span class="pl-s1">menu</span><span class="pl-kos">.</span><span class="pl-en">append</span><span class="pl-kos">(</span><span class="pl-s1">item</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">item</span><span class="pl-kos">.</span><span class="pl-c1">label</span> <span class="pl-c1">=</span> <span class="pl-s">"three!"</span><span class="pl-kos">;</span>
<span class="pl-s1">item</span><span class="pl-kos">.</span><span class="pl-c1">enabled</span> <span class="pl-c1">=</span> <span class="pl-c1">false</span><span class="pl-kos">;</span> <span class="pl-c">// (to verify that other properties can be changed)</span>
<span class="pl-s1">menu</span><span class="pl-kos">.</span><span class="pl-en">popup</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">shows "two!" rather than "three!"; menu item appears disabled - only label change takes no effect.</p>
<ul dir="auto">
<li><strong>Electron Version:</strong>
<ul dir="auto">
<li>7.0.0-beta.4, same effect on 6.0.9 and 4.2.8</li>
</ul>
</li>
<li><strong>Operating System:</strong>
<ul dir="auto">
<li>Windows 10 (18362)</li>
</ul>
</li>
<li><strong>Last Known Working Electron version:</strong>
<ul dir="auto">
<li>(doesn't seem like there's one)</li>
</ul>
</li>
</ul>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto">A menu showing "three!"</p>
<h3 dir="auto">Actual Behavior</h3>
<p dir="auto">A menu showing "two!"</p>
<h3 dir="auto">To Reproduce</h3>
<p dir="auto"><a href="https://gist.github.com/YellowAfterlife/25b6d98c01f3e479469489067dc08ef6">fiddle gist</a></p>
<h3 dir="auto">Screenshots</h3>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/731492/64996338-59ab7f80-d8e6-11e9-8966-bd21673b4de0.png"><img src="https://user-images.githubusercontent.com/731492/64996338-59ab7f80-d8e6-11e9-8966-bd21673b4de0.png" alt="image" style="max-width: 100%;"></a></p>
<h3 dir="auto">Additional Information</h3>
<p dir="auto">Is this a limitation like <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="38968194" data-permission-text="Title is private" data-url="https://github.com/electron/electron/issues/527" data-hovercard-type="issue" data-hovercard-url="/electron/electron/issues/527/hovercard" href="https://github.com/electron/electron/issues/527">#527</a>? Could add a note to documentation if so.</p>
<ul dir="auto">
<li>Electron Version: 1.8.7</li>
<li>Operating System (Platform and Version): MacOS</li>
<li>Last known working Electron version: 1.8.6</li>
</ul>
<p dir="auto"><strong>Expected Behavior</strong><br>
Electron.framework doesn't include the use of private APIs and can be approved on the Apple App Store</p>
<p dir="auto"><strong>Actual behavior</strong><br>
Electron.framework includes the use of private APIs and cannot be approved on the Apple App Store</p>
<p dir="auto"><strong>Additional Information</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Guideline 2.5.1 - Performance - Software Requirements


Your app uses or references the following non-public APIs:

-Symbol: _CGDisplayUsesForceToGray
From framework: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics

-Symbol: __CFIsObjC
From framework: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
In binary: Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework

The use of non-public APIs is not permitted on the App Store, because it can lead to a poor user experience should these APIs change."><pre class="notranslate"><code class="notranslate">Guideline 2.5.1 - Performance - Software Requirements


Your app uses or references the following non-public APIs:

-Symbol: _CGDisplayUsesForceToGray
From framework: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics

-Symbol: __CFIsObjC
From framework: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
In binary: Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework

The use of non-public APIs is not permitted on the App Store, because it can lead to a poor user experience should these APIs change.
</code></pre></div>