<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>
<ul dir="auto">
<li><strong>Electron Version:</strong>
<ul dir="auto">
<li>11.1.0</li>
</ul>
</li>
<li><strong>Operating System:</strong>
<ul dir="auto">
<li>Windows 10 x64 Bit (lots of different builds)</li>
</ul>
</li>
<li><strong>Last Known Working Electron version:</strong>
<ul dir="auto">
<li>Unknown</li>
</ul>
</li>
</ul>
<h3 dir="auto">Expected Behavior</h3>

<p dir="auto">Not to throw errors on boot.</p>
<h3 dir="auto">Actual Behavior</h3>

<p dir="auto">Throwing errors on startup.</p>
<h3 dir="auto">To Reproduce</h3>

<p dir="auto">No idea how to...I pushed an update to our users, and it seems like there was some kind of outage from our CDN for 10 minutes or so at the same time I pushed out the update.</p>



<h3 dir="auto">Screenshots</h3>

<p dir="auto"><a href="https://i.gyazo.com/thumb/1200/5210051076f1b041e7335ff180fcab67-png.jpg" rel="nofollow">https://i.gyazo.com/thumb/1200/5210051076f1b041e7335ff180fcab67-png.jpg</a></p>
<h3 dir="auto">Additional Information</h3>

<p dir="auto">Logs showing the error from one user:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="2021/01/01 17:13:02:459 Error: net::ERR_CONNECTION_RESET
    at SimpleURLLoaderWrapper.&lt;anonymous&gt; (electron/js2c/browser_init.js:105:6497)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)
2021/01/01 17:14:23:446 Error: net::ERR_CONNECTION_RESET
    at SimpleURLLoaderWrapper.&lt;anonymous&gt; (electron/js2c/browser_init.js:105:6497)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)
2021/01/01 17:14:24:933 Cannot download differentially, fallback to full download: Error: net::ERR_CONNECTION_RESET
    at SimpleURLLoaderWrapper.&lt;anonymous&gt; (electron/js2c/browser_init.js:105:6497)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)"><pre class="notranslate"><code class="notranslate">2021/01/01 17:13:02:459 Error: net::ERR_CONNECTION_RESET
    at SimpleURLLoaderWrapper.&lt;anonymous&gt; (electron/js2c/browser_init.js:105:6497)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)
2021/01/01 17:14:23:446 Error: net::ERR_CONNECTION_RESET
    at SimpleURLLoaderWrapper.&lt;anonymous&gt; (electron/js2c/browser_init.js:105:6497)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)
2021/01/01 17:14:24:933 Cannot download differentially, fallback to full download: Error: net::ERR_CONNECTION_RESET
    at SimpleURLLoaderWrapper.&lt;anonymous&gt; (electron/js2c/browser_init.js:105:6497)
    at SimpleURLLoaderWrapper.emit (events.js:315:20)
</code></pre></div>
<p dir="auto">I cannot find the code anywhere in the repo, but I guess it has something to do with the way things are packaged. Anyways it definitely seems like some kind of internet outage issue coupled with logic that does not handle connection errors? I don't see any of my code in the stack trace here, which is the weird part....or I would just catch and handle it myself.</p>
<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 <a href="https://www.github.com/electron/electron/issues">issue tracker</a> for a feature request that matches the one I want to file, without success.</li>
</ul>
<h3 dir="auto">Problem Description</h3>
<p dir="auto">If you're sending notification from the main process, theres no way to determine programmatically if the OS allows them to display.</p>
<h3 dir="auto">Proposed Solution</h3>
<p dir="auto">There should be a function or something one could run on start up to determine if notifications are allowed to display from the main process. I thought there was one, but I can't find any reference to it.</p>
<h3 dir="auto">Alternatives Considered</h3>
<p dir="auto">I can't find any other way to check if my app has permissions to send notifications on Mac or Windows. If y'all do please let me know.</p>
<h3 dir="auto">Additional Information</h3>
<p dir="auto">Please don't like me mdn docs for renderer process notifications permissions. I'm sending these from the main process.</p>