Issue 1:
Preflight Checklist

I have read the Contributing Guidelines for this project.

I agree to follow the Code of Conduct that this project adheres to.

I have searched the issue tracker for an issue that matches the one I want to file, without success.

Issue Details

Electron Version:

6.0.8

Node Version:

12.10.0

Npm Version:

6.10.3

Operating System:

Windows 10 (1903) x64

Last Known Working Electron version:

N/A

I have also run npm i -g windows-build-tools, and am using a .npmrc file with the following contents:

runtime = electron
target = 6.0.8
target_arch = x64
disturl = https://atom.io/download/electron
build_from_source = true

Expected Behavior

The nodegit package can be installed and used.

Actual Behavior

The build crashes saying that checksums for win-x64/node.lib do not match (43f611616154f667fe1101315834923cd06699bb7b4cb273bf780142ed6f0b44 == d5a48e83d9c112a2db16ccf08406b381ea9e86f86b44a2d13712afd84842834d)

> nodegit@0.26.0 install D:\dev\startup\git-interface-2\electron\node_modules\nodegit
> node lifecycleScripts/preinstall && node lifecycleScripts/install

[nodegit] Running pre-install script
[nodegit] Running install script
node-pre-gyp
info it worked if it ends with ok
node-pre-gyp verb cli [
node-pre-gyp verb cli 'C:\\Program Files\\nodejs\\node.exe',
node-pre-gyp verb cli 'D:\\dev\\startup\\git-interface-2\\electron\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp',
node-pre-gyp verb cli 'install',
node-pre-gyp verb cli '--fallback-to-build'
node-pre-gyp verb cli ]
node-pre-gyp info using node-pre-gyp@0.13.0
node-pre-gyp
info using node@12.10.0 | win32 | x64
node-pre-gyp verb command install []
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp info build requesting source compile
node-pre-gyp verb command build [ 'rebuild' ]
gyp
info it worked if it ends with ok
gyp
verb cli [
gyp verb cli 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli 'C:\\Users\\mjerr\\AppData\\Roaming\\nvm\\v12.10.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli 'clean'
gyp verb cli ]
gyp info using node-gyp@5.0.3
gyp info using node@12.10.0 | win32 | x64
gyp verb command clean []
gyp verb clean
removing "build" directory
gyp info ok

gyp
info it worked if it ends with ok
gyp verb
cli [
gyp verb cli 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli 'C:\\Users\\mjerr\\AppData\\Roaming\\nvm\\v12.10.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli 'configure',
gyp verb cli '--fallback-to-build',
gyp verb cli '--module=D:\\dev\\startup\\git-interface-2\\electron\\node_modules\\nodegit\\build\\Release\\nodegit.node',
gyp verb cli '--module_name=nodegit',
gyp verb cli '--module_path=D:\\dev\\startup\\git-interface-2\\electron\\node_modules\\nodegit\\build\\Release',
gyp verb cli '--napi_version=4',
gyp verb cli '--node_abi_napi=napi',
gyp verb cli '--napi_build_version=0',
gyp verb cli '--node_napi_label=electron-v6.0',
gyp verb cli '--python=C:\\Users\\mjerr\\.windows-build-tools\\python27\\python.exe'
gyp verb cli ]
gyp info using node-gyp@5.0.3
gyp info using node@12.10.0 | win32 | x64
gyp verb command configure []
gyp verb download using dist-url https://atom.io/download/electron
gyp verb find Python
checking Python explicitly set from command line or npm configuration
gyp verb find Python - "--python=" or "npm config get python" is "C:\Users\mjerr\.windows-build-tools\python27\python.exe"
gyp verb find Python - executing "C:\Users\mjerr\.windows-build-tools\python27\python.exe" to get executable path
gyp
verb find Python - executable path is "C:\Users\mjerr\.windows-build-tools\python27\python.exe"
gyp verb find Python - executing "C:\Users\mjerr\.windows-build-tools\python27\python.exe" to get version
gyp
verb find Python - version is "2.7.15"
gyp info find Python using Python version 2.7.15 found at "C:\Users\mjerr\.windows-build-tools\python27\python.exe"
gyp verb get node dir compiling against --target node version: 6.0.8
gyp verb command install [ '6.0.8' ]
gyp verb download
using dist-url https://atom.io/download/electron
gyp verb install input version string "6.0.8"
gyp verb install installing version: 6.0.8
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp
verb install version not already installed, continuing with install 6.0.8
gyp verb ensuring nodedir is created C:\Users\mjerr\AppData\Local\node-gyp\Cache\6.0.8
gyp verb created nodedir C:\Users\mjerr\AppData\Local\node-gyp\Cache\6.0.8
gyp http GET https://atom.io/download/electron/v6.0.8/node-v6.0.8-headers.tar.gz
gyp http
200 https://atom.io/download/electron/v6.0.8/node-v6.0.8-headers.tar.gz
gyp verb extracted file from tarball node_headers/include/node/common.gypi
gyp verb extracted file from tarball node_headers/include/node/config.gypi
gyp verb extracted file from tarball node_headers/include/node/js_native_api.h
gyp verb extracted file from tarball node_headers/include/node/js_native_api_types.h
gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform-export.h
gyp verb extracted file from tarball node_headers/include/node/libplatform/libplatform.h
gyp
verb extracted file from tarball node_headers/include/node/libplatform/v8-tracing.h
gyp verb extracted file from tarball node_headers/include/node/node.h
gyp verb extracted file from tarball
node_headers/include/node/node_api.h
gyp verb extracted file from tarball node_headers/include/node/node_api_types.h
gyp verb extracted file from tarball node_headers/include/node/node_buffer.h
gyp verb extracted file from tarball node_headers/include/node/node_object_wrap.h
gyp verb extracted file from tarball node_headers/include/node/node_version.h
gyp verb extracted file from tarball node_headers/include/node/uv/aix.h
gyp verb extracted file from tarball node_headers/include/node/uv/android-ifaddrs.h
gyp verb extracted file from tarball node_headers/include/node/uv/bsd.h
gyp verb extracted file from tarball node_headers/include/node/uv/darwin.h
gyp verb extracted file from tarball node_headers/include/node/uv/errno.h
gyp verb extracted file from tarball node_headers/include/node/uv/linux.h
gyp verb extracted file from tarball node_headers/include/node/uv/os390.h
gyp verb extracted file from tarball node_headers/include/node/uv/posix.h
gyp verb extracted file from tarball node_headers/include/node/uv/stdint-msvc2008.h
gyp verb extracted file from tarball node_headers/include/node/uv/sunos.h
gyp verb extracted file from tarball node_headers/include/node/uv/threadpool.h
gyp verb extracted file from tarball node_headers/include/node/uv/tree.h
gyp
verb extracted file from tarball node_headers/include/node/uv/unix.h
gyp verb extracted file from tarball node_headers/include/node/uv/version.h
gyp verb extracted file from tarball node_headers/include/node/uv/win.h
gyp verb extracted file from tarball node_headers/include/node/uv.h
gyp verb extracted file from tarball node_headers/include/node/v8-internal.h
gyp verb extracted file from tarball node_headers/include/node/v8-platform.h
gyp verb extracted file from tarball node_headers/include/node/v8-profiler.h
gyp verb extracted file from tarball node_headers/include/node/v8-testing.h
gyp verb extracted file from tarball node_headers/include/node/v8-util.h
gyp verb extracted file from tarball node_headers/include/node/v8-value-serializer-version.h
gyp verb extracted file from tarball node_headers/include/node/v8-version-string.h
gyp verb extracted file from tarball node_headers/include/node/v8-version.h
gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-posix.h
gyp verb extracted file from tarball node_headers/include/node/v8-wasm-trap-handler-win.h
gyp verb extracted file from tarball node_headers/include/node/v8.h
gyp verb extracted file from tarball node_headers/include/node/v8config.h
gyp verb extracted file from tarball node_headers/include/node/zconf.h
gyp verb extracted file from tarball node_headers/include/node/zlib.h
gyp verb content checksum
node-v6.0.8-headers.tar.gz 88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b
gyp verb tarball done parsing tarball
gyp verb on Windows; need to download `node.lib`...
gyp verb ia32 node.lib dir C:\Users\mjerr\AppData\Local\node-gyp\Cache\6.0.8\ia32
gyp verb ia32 node.lib url https://atom.io/download/electron/v6.0.8/win-x86/node.lib
gyp verb x64 node.lib dir C:\Users\mjerr\AppData\Local\node-gyp\Cache\6.0.8\x64
gyp verb x64 node.lib url https://atom.io/download/electron/v6.0.8/win-x64/node.lib
gyp verb check download content checksum, need to download `SHASUMS256.txt`...
gyp verb checksum url https://atom.io/download/electron/v6.0.8/SHASUMS256.txt
gyp http GET https://atom.io/download/electron/v6.0.8/SHASUMS256.txt
gyp verb streaming ia32 node.lib to: C:\Users\mjerr\AppData\Local\node-gyp\Cache\6.0.8\ia32\node.lib
gyp http GET https://atom.io/download/electron/v6.0.8/win-x86/node.lib
gyp verb streaming x64 node.lib to: C:\Users\mjerr\AppData\Local\node-gyp\Cache\6.0.8\x64\node.lib
gyp http GET https://atom.io/download/electron/v6.0.8/win-x64/node.lib
gyp http 200
https://atom.io/download/electron/v6.0.8/win-x64/node.lib
gyp http 200
https://atom.io/download/electron/v6.0.8/SHASUMS256.txt
gyp verb checksum data {"node-v6.0.8.tar.gz":"88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b","node-v6.0.8-headers.tar.gz":"88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b","iojs-v6.0.8.tar.gz":"88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b","iojs-v6.0.8-headers.tar.gz":"88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b","node.lib":"d89e722d388e9bd3a7233782149de343cfaefae4b341d634fc3d6232ed77adfa","x64/node.lib":"d5a48e83d9c112a2db16ccf08406b381ea9e86f86b44a2d13712afd84842834d","win-x86/iojs.lib":"d89e722d388e9bd3a7233782149de343cfaefae4b341d634fc3d6232ed77adfa","win-x64/iojs.lib":"d5a48e83d9c112a2db16ccf08406b381ea9e86f86b44a2d13712afd84842834d","win-x86/node.lib":"d89e722d388e9bd3a7233782149de343cfaefae4b341d634fc3d6232ed77adfa","win-x64/node.lib":"d5a48e83d9c112a2db16ccf08406b381ea9e86f86b44a2d13712afd84842834d"}
gyp
http 200 https://atom.io/download/electron/v6.0.8/win-x86/node.lib
gyp verb content checksum win-x64/node.lib 43f611616154f667fe1101315834923cd06699bb7b4cb273bf780142ed6f0b44
gyp verb content checksum win-x86/node.lib d89e722d388e9bd3a7233782149de343cfaefae4b341d634fc3d6232ed77adfa
gyp verb download contents checksum {"node-v6.0.8-headers.tar.gz":"88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b","win-x64/node.lib":"43f611616154f667fe1101315834923cd06699bb7b4cb273bf780142ed6f0b44","win-x86/node.lib":"d89e722d388e9bd3a7233782149de343cfaefae4b341d634fc3d6232ed77adfa"}
gyp verb validating download checksum for node-v6.0.8-headers.tar.gz (88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b == 88e97b101dab40d44f92a28c0c8d60ef23fd4ee34197f72df4c2d9bf5092835b)
gyp verb validating download checksum for win-x64/node.lib (43f611616154f667fe1101315834923cd06699bb7b4cb273bf780142ed6f0b44 == d5a48e83d9c112a2db16ccf08406b381ea9e86f86b44a2d13712afd84842834d)
gyp WARN install got an error, rolling back install

To Reproduce

I have created a minimum repo that reproduces the error:

https://github.com/MikeJerred/nodegit-test

I am using Windows 10 (1903), with node v12.10.0, npm v6.10.3 and have the windows-build-tools npm package installed.

$ git clone https://github.com/MikeJerred/nodegit-test
$ npm install

Issue 2:
Electron version: 1.2.0, 1.2.1, 1.2.2

Operating system: Windows

If you start an browser window in fullscreen and then attempt to toggle to windowed mode, the window will just black out and become unresponsive. Attempting to toggle back again still results in a black screen.

However, if you start the window in windowed mode and then toggle to fullscreen, it works as expected.

This maybe related to the fixes made to the fullscreen API in 1.2.x. It only occurs on Windows. It does not happen on 1.1.3.

You can reproduce easily with the electron-api-demos application and 1.2.2.

https://github.com/electron/electron-api-demos

Update window-options to set fullscreen: true

https://github.com/electron/electron-api-demos/blob/master/main.js#L22

var windowOptions = {
width: 1080,
minWidth: 680,
height: 840,
title: app.getName(),
fullscreen: true
}

Start the application and hit F11 to switch to windowed mode and you'll get a black screen.