<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">Electron Version</h3>
<p dir="auto">11.3.0</p>
<h3 dir="auto">What operating system are you using?</h3>
<p dir="auto">Windows</p>
<h3 dir="auto">Operating System Version</h3>
<p dir="auto">Windows 10 version 20H2 - build 19042.870</p>
<h3 dir="auto">What arch are you using?</h3>
<p dir="auto">x64</p>
<h3 dir="auto">Last Known Working Electron version</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto">Calling <code class="notranslate">BrowserWindow.setBounds()</code> (or <code class="notranslate">BrowserWindow.setSize()</code>) before calling <code class="notranslate">BrowserWindow.show()</code> should show the window with correct size without showing transition flashing between previous size and the new size.</p>
<h3 dir="auto">Actual Behavior</h3>
<p dir="auto">The window <em>flashes</em> from the previous lower size to the new higher size (not viceversa).</p>
<h3 dir="auto">Testcase Gist URL</h3>
<p dir="auto"><a href="https://gist.github.com/xpirt/4e3e92fcd866fcf812c49d8439b6f6d2">https://gist.github.com/xpirt/4e3e92fcd866fcf812c49d8439b6f6d2</a></p>
<p dir="auto">This has been tested on Windows 10 and macOS (although here seems to be less noticeable, more with transparency enabled).</p>
<p dir="auto">The window show a flash tranisition between previous size (<code class="notranslate">height: 200</code>) to new one (<code class="notranslate">height: 600</code>). This seems to happen only from a lower size to a higher one. In fact, from <code class="notranslate">height: 600</code> to <code class="notranslate">height: 200</code> the transition flash does not seem to occur.<br>
The gist test I've created registers a global shortcut <code class="notranslate">Ctrl(Cmd)+Shift+T</code> that shows/hides the window changing its bounds before toggling the visibility.</p>
<p dir="auto">(For flash I mean a few milliseconds you can see the previous window size and right after the new size gets applied)</p>
<h1 dir="auto">TypeScript definitions for electron are a mess.</h1>
<p dir="auto">Dear ladies and gentlemen.</p>
<p dir="auto">Recently I tried to start a TypeScript project using the electron framework. For that purpose<br>
I started a new TypeScript / node.js project from scratch and installed the electron npm<br>
package as well as the electron typedefinitions.<br>
Unfortunately the electron typedefinitions are in a disastrous state. The compiler stopped<br>
counting the errors in the electron typedefinitions at 99.<br>
It appears that no one ever considered to test the type definition.<br>
I also figured out that the latest electron typedefinition is the one for the electron<br>
framework "1.4.38" while the latest electron framework shows a release number of "1.6.10".<br>
You should really consider to make typedefinitions an integral part of your framework.<br>
That way you wouldn't release a new framework version without a matching typedefinition.<br>
(That typedefinition should be tested of course.)<br>
If you want to make it perfect, make the tyepdefinition also an integral part of your npm<br>
package. That way no one has ever to wonder where the right typedefinition four your<br>
framework can be found.</p>
<p dir="auto">Below is a picture of the compiler output after installing the electron typedefinitions.</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/9468599/26523924/4cf279ee-4313-11e7-8f20-10ae8dbca47e.png"><img src="https://cloud.githubusercontent.com/assets/9468599/26523924/4cf279ee-4313-11e7-8f20-10ae8dbca47e.png" alt="VS Code Electron project" style="max-width: 100%;"></a></p>
<p dir="auto">Your framework might be a respected piece of software in the JavaScript community,<br>
but for a programmer who has a strong focus on code quality our framework is a<br>
no go. I guess most TypeScript programmers chose to use TypeScript because they<br>
have a strong focus on code quality like I.<br>
I'm not writing this to diminish your work. I haven't enough experience with your<br>
framework to be qualified for a meaningful opinion. But I can tell you this. If<br>
want to make your framework shiny, give the TypeScript integration more attention.</p>
<p dir="auto">Kind regards, Lord Saumagen.</p>