Issue Type: Bug
I use a program called Witch, on my Mac, to navigate between windows. It is useful for jumping to a specific VS Code window. The window's title appears in Witch, which is usually the workspace for that window.
However, since upgrading to VS Code 1.40.0, all window titles only appear as "(Untitled)". Was there a change regarding this recently? Perhaps related to Electron? This issue seems to affect any Mac app that relies on OS accessibility features to access a window's title.
To reproduce this issue, you must be using VSC 1.40, and have at least two windows open in VSC. Their titles will then appear as "(Untitled)" in any of a number of Mac accessibility apps, including Witch. I already tested with all extensions disabled. I tested with latest Insiders as of 2019-11-08. The issue does not exist in VSC 1.39.2.
This setting must be enabled to cause this issue:
"window.newWindowDimensions": "maximized"
I'm on MacOS 10.14.6 (18G1012).
Screenshot:

VS Code version: Code 1.40.0 (86405ea23e3937316009fc27c9361deee66ffbf5, 2019-11-06T17:09:34.601Z)
OS version: Darwin x64 18.7.0
@deepak1556 we do give the window a title here:
I am not sure why "Untitled" would show up, but possibly a E6 regression in this case.
@garyking do you see the same with other electron app, e.g. try Electron Fiddle: https://electronjs.org/fiddle
Also seeing the same regression, except I'm using Contexts instead of Witch.
@OliverJAsh @garyking do you see the same when you run a different Electron application such as Electron Fiddle: https://electronjs.org/fiddle
The title seems to work with that ("Hello World 2!"):

Also seeing this with Contexts on MacOS 10.15.1. It began after upgrading to 1.40.0 yesterday.

Version: 1.40.0
Commit: 86405ea23e3937316009fc27c9361deee66ffbf5
Date: 2019-11-06T17:09:34.601Z
Electron: 6.1.2
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Darwin x64 19.0.0
Also, seeing this with my hammerspoon scripts. began with 1.40.0
In the Mac Accessibility API, Witch retrieves the AXTitle property, which contains the window title. It seems like, in the case of VSC, the AXTitle property is blank. Other Electron apps, including Fiddle and Atom, have a proper AXTitle value for their windows.
I assume that screen readers used by the blind, etc. will also have trouble navigating VSC windows, because of this issue.
I'm seeing this in Witch too.
We do set the title in VSCode in 2 places:
window.title element : https://github.com/microsoft/vscode/blob/33e5678363c20a7ac6665cc88752ee00fc83cc0d/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts#L215I am not sure if there is a third place where we have to call something. What I wonder: are maybe certain characters not allowed in this value for screen readers? Dos it reproduce if you configure window.title to a fixed value such as: "window.title": "vSCode"
Dos it reproduce if you configure window.title to a fixed value such as:
"window.title": "vSCode"
I just tried that with the title foo and I can still reproduce this bug.
Adding "help wanted" if someone wants to chime in and has an idea.
Is AXTitle set anywhere? That's what Witch uses.
Well, if so it would need to be some API that we can use. I do not recall any explicit API in Electron that would set this but would assume the window title would just work.
Electron sources are here: https://github.com/atom/electron but they depend on all of Chromium too....
I had this bug with Contexts, my other applications were fine. I reverted to 1.39 and it's working again. I confirm that this bug was introduced by 1.40.
If someone has time, please consider finding the VSCode commit that introduced this bug, using git bisect. I currently have Node 12 installed, and am unable to setup nvm, so I can't build a VSC version older than 1.40.
@garyking you should be able to by just changing our error in the build scripts, I think it would still work.
I removed the check for the installed Node version in build/npm/preinstall.js, but building 1.39.2 showed a lot of errors.
Can you share?
Here's what I did:
1.39.2 tag in Git.preinstall.js:const majorNodeVersion = parseInt(/^(\d+)\./.exec(process.versions.node)[1]);
if (majorNodeVersion < 8 || majorNodeVersion >= 11) {
console.error('\033[1;31m*** Please use node >=8 and <11.\033[0;0m');
err = true;
}
yarn install.Results of that:
gary@gary-mac:~/Downloads/Unsorted/cloned/vscode$ y
yarn install v1.19.1
$ node build/npm/preinstall.js
[1/4] π Resolving packages...
[2/4] π Fetching packages...
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] π Linking dependencies...
warning " > @microsoft/[email protected]" has unmet peer dependency "tslib@^1.9.3".
warning " > [email protected]" has incorrect peer dependency "xterm@^3.14.0".
warning " > [email protected]" has incorrect peer dependency "xterm@^3.14.0".
[4/4] π¨ Building fresh packages...
$ node build/npm/postinstall.js
Installing dependencies in extensions...
$ yarn
yarn install v1.19.1
warning package.json: No license field
warning [email protected]: No license field
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
[4/4] π¨ Building fresh packages...
$ node ./postinstall
[##] 2/2removed '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/node_modules/typescript/lib/tsc.js'
removed '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/node_modules/typescript/lib/tsserverlibrary.d.ts'
removed '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/node_modules/typescript/lib/tsserverlibrary.js'
removed '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/node_modules/typescript/lib/typescriptServices.d.ts'
removed '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/node_modules/typescript/lib/typescriptServices.js'
β¨ Done in 0.61s.
Installing dependencies in remote...
$ yarn
yarn install v1.19.1
warning package.json: No license field
warning [email protected]: No license field
[1/4] π Resolving packages...
[2/4] π Fetching packages...
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "darwin" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] π Linking dependencies...
warning " > @microsoft/[email protected]" has unmet peer dependency "tslib@^1.9.3".
warning " > [email protected]" has incorrect peer dependency "xterm@^3.14.0".
warning " > [email protected]" has incorrect peer dependency "xterm@^3.14.0".
[4/4] π¨ Building fresh packages...
β¨ Done in 20.23s.
Installing dependencies in remote/web...
$ yarn
yarn install v1.19.1
warning package.json: No license field
warning ../package.json: No license field
warning [email protected]: No license field
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
warning " > @microsoft/[email protected]" has unmet peer dependency "tslib@^1.9.3".
warning " > [email protected]" has incorrect peer dependency "xterm@^3.14.0".
warning " > [email protected]" has incorrect peer dependency "xterm@^3.14.0".
[4/4] π¨ Building fresh packages...
β¨ Done in 0.74s.
Installing dependencies in extensions/configuration-editing...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.21s.
Installing dependencies in extensions/css-language-features...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
warning [email protected]: The engine "vscode" appears to be invalid.
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
$ cd server && yarn install
yarn install v1.19.1
warning ../../package.json: No license field
[1/5] π Validating package.json...
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 1.06s.
β¨ Done in 2.27s.
Installing dependencies in extensions/debug-auto-launch...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.21s.
Installing dependencies in extensions/debug-server-ready...
$ yarn
yarn install v1.19.1
warning package.json: No license field
warning ../package.json: No license field
warning [email protected]: No license field
[1/5] π Validating package.json...
warning [email protected]: No license field
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.29s.
Installing dependencies in extensions/emmet...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
warning " > [email protected]" has unmet peer dependency "mocha@>=2.2.5".
[5/5] π¨ Building fresh packages...
β¨ Done in 1.61s.
Installing dependencies in extensions/extension-editing...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.41s.
Installing dependencies in extensions/git...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
warning [email protected]: The engine "vscode" appears to be invalid.
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.63s.
Installing dependencies in extensions/git-ui...
$ yarn
yarn install v1.19.1
warning package.json: No license field
warning ../package.json: No license field
warning [email protected]: No license field
[1/5] π Validating package.json...
warning [email protected]: No license field
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.19s.
Installing dependencies in extensions/grunt...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.30s.
Installing dependencies in extensions/gulp...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.32s.
Installing dependencies in extensions/html-language-features...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
warning [email protected]: The engine "vscode" appears to be invalid.
warning [email protected]: The engine "vscode" appears to be invalid.
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
$ cd server && yarn install
yarn install v1.19.1
warning ../../package.json: No license field
[1/5] π Validating package.json...
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 1.01s.
β¨ Done in 1.67s.
Installing dependencies in extensions/image-preview...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
success Already up-to-date.
β¨ Done in 0.12s.
Installing dependencies in extensions/jake...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.22s.
Installing dependencies in extensions/json-language-features...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
warning [email protected]: The engine "vscode" appears to be invalid.
warning [email protected]: The engine "vscode" appears to be invalid.
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
$ cd server && yarn install
yarn install v1.19.1
warning ../../package.json: No license field
[1/5] π Validating package.json...
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.43s.
β¨ Done in 1.12s.
Installing dependencies in extensions/markdown-language-features...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
warning [email protected]: The engine "vscode" appears to be invalid.
[4/5] π Linking dependencies...
warning " > [email protected]" has unmet peer dependency "mocha@>=2.2.5".
[5/5] π¨ Building fresh packages...
[1/2] β fsevents
warning Error running install script for optional dependency: "/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents: Command failed.
Exit code: 1
Command: node install
Arguments:
Directory: /Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using [email protected]
node-pre-gyp info using [email protected] | darwin | x64
node-pre-gyp info check checked for \"/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64/fse.node\" (not found)
node-pre-gyp http GET https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-electron-v4.2-darwin-x64.tar.gz
node-pre-gyp http 404 https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-electron-v4.2-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-electron-v4.2-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (electron-v4.2 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-electron-v4.2-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(undefined): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-electron-v4.2-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (electron-v4.2 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http Connection closed while downloading tarball file
gypgyp info it worked if it ends with ok
info it worked if it ends with ok
gyp info using [email protected]
gyp info gypusing [email protected] | darwin | x64
info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info ok
gyp info ok
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info find Python using Python version 2.7.16 found at \"/usr/bin/python\"
gyp info find Python using Python version 2.7.16 found at \"/usr/bin/python\"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args '/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/gary/Library/Caches/node-gyp/4.2.10',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/gary/Library/Caches/node-gyp/4.2.10/<(target_arch)/node.lib',
gyp info spawn argsgyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args '/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/build/config.gypi',
gyp '-Dmodule_root_dir=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info info spawn args '-I',
gyp info spawn args '/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/gary/Library/Caches/node-gyp/4.2.10',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/gary/Library/Caches/node-gyp/4.2.10/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info ok
gyp info ok
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
SOLINK_MODULE(target) Release/.node
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
CXX(target) Release/obj.target/fse/fsevents.o
CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
../../nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
return node::MakeCallback(
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:178:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note: expanded from macro 'NODE_DEPRECATED'
__attribute__((deprecated(message))) declarator
^
In file included from ../fsevents.cc:6:
../../nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
return node::MakeCallback(
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:178:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
In file included from /Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: ../fsevents.cc:6:
../../nan/nan.h:854note: expanded from macro 'NODE_DEPRECATED':
18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
__attribute__((deprecated(message))) declarator
return node::MakeCallback( ^
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note: expanded from macro 'NODE_DEPRECATED'
__attribute__((deprecated(message))) declarator
^
In file included from ../fsevents.cc:6:
../../nan/nan.h:854:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
return node::MakeCallback(
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
In file included from ../fsevents.cc:6:
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",../../nan/nan.h
:^869
:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note return node::MakeCallback(
^: expanded from macro 'NODE_DEPRECATED'
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:164:1: note: 'MakeCallback' has been explicitly marked deprecated here __attribute__((deprecated(message))) declarator
^
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note: expanded from macro 'NODE_DEPRECATED'
__attribute__((deprecated(message))) declarator
^
In file included from ../fsevents.cc:6:
../../nan/nan.h:869:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
return node::MakeCallback(
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:164:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note: expanded from macro 'NODE_DEPRECATED'
__attribute__((deprecated(message))) declarator
^
In file included from ../fsevents.cc:6:
../../nan/nan.h:1648:31: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
return scope.Escape(node::MakeCallback(
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:178:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note: expanded from macro 'NODE_DEPRECATED'
__attribute__((deprecated(message))) declarator
^
In file included from ../fsevents.cc:6:
../../nan/nan.h:1648:31: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
return scope.Escape(node::MakeCallback(
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:178:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/gary/Library/Caches/node-gyp/4.2.10/include/node/node.h:95:20: note: expanded from macro 'NODE_DEPRECATED'
__attribute__((deprecated(message))) declarator
^
In file included from ../fsevents.cc:85:
../src/methods.cc:14:12: warning: 'Call' is deprecated [-Wdeprecated-declarations]
handler->Call(3, argv);
^
../../nan/nan.h:1567:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value>
^
../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
In file included from ../fsevents.cc:85:
../src/methods.cc:14:12: warning: 'Call' is deprecated [-Wdeprecated-declarations]
handler->Call(3, argv);
^
../../nan/nan.h:1567:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value>
^
../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
5 warnings generated.
5 warnings generated.
rm: ./Release/.deps/Release/obj.target/fse/fsevents.o.d.raw: No such file or directory
make: *** [Release/obj.target/fse/fsevents.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:196:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command \"/usr/local/Cellar/node/12.12.0/bin/node\" \"/usr/local/Cellar/node/12.12.0/libexec/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"build\" \"--fallback-to-build\" \"--module=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64/fse.node\" \"--module_name=fse\" \"--module_path=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64\"
gyp ERR! cwd /Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents
gyp ERR! SOLINK_MODULE(target) Release/fse.node
node -v v12.12.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'node-gyp build --fallback-to-build --module=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64/fse.node --module_name=fse --module_path=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:210:5)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1021:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
node-pre-gyp ERR! System Darwin 18.7.0
node-pre-gyp ERR! command \"/usr/local/Cellar/node/12.12.0/bin/node\" \"/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp\" \"install\" \"--fallback-to-build\"
node-pre-gyp ERR! cwd /Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents
node-pre-gyp ERR! node -v v12.12.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok
Failed to execute 'node-gyp build --fallback-to-build --module=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64/fse.node --module_name=fse --module_path=/Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64' (1)
COPY /Users/gary/Downloads/Unsorted/cloned/vscode/extensions/markdown-language-features/node_modules/fsevents/lib/binding/Release/electron-v4.2-darwin-x64/fse.node
TOUCH Release/obj.target/action_after_build.stamp
gyp info ok"
β¨ Done in 17.77s.
Installing dependencies in extensions/merge-conflict...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.42s.
Installing dependencies in extensions/npm...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.36s.
Installing dependencies in extensions/php-language-features...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.20s.
Installing dependencies in extensions/typescript-language-features...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
warning [email protected]: The engine "vscode" appears to be invalid.
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 1.02s.
Installing dependencies in extensions/vscode-api-tests...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
warning " > [email protected]" has unmet peer dependency "mocha@>=2.2.5".
[5/5] π¨ Building fresh packages...
β¨ Done in 1.67s.
Installing dependencies in extensions/vscode-colorize-tests...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
warning " > [email protected]" has unmet peer dependency "mocha@>=2.2.5".
[5/5] π¨ Building fresh packages...
β¨ Done in 1.22s.
Installing dependencies in extensions/vscode-test-resolver...
$ yarn
yarn install v1.19.1
warning ../package.json: No license field
[1/5] π Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] π Resolving packages...
[3/5] π Fetching packages...
[4/5] π Linking dependencies...
[5/5] π¨ Building fresh packages...
β¨ Done in 0.99s.
Installing dependencies in build...
$ yarn
yarn install v1.19.1
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
[4/4] π¨ Building fresh packages...
$ npm run compile
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672844229-0.6910136786308694/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] compile /Users/gary/Downloads/Unsorted/cloned/vscode/build
> tsc -p tsconfig.build.json
β¨ Done in 9.71s.
Installing dependencies in test/automation...
$ yarn
yarn install v1.19.1
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
[4/4] π¨ Building fresh packages...
$ npm run compile
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672854299-0.8133417062740111/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] compile /Users/gary/Downloads/Unsorted/cloned/vscode/test/automation
> npm run copy-driver && npm run copy-driver-definition && tsc
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672854299-0.8133417062740111/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] copy-driver /Users/gary/Downloads/Unsorted/cloned/vscode/test/automation
> cpx src/driver.js out/
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672854299-0.8133417062740111/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] copy-driver-definition /Users/gary/Downloads/Unsorted/cloned/vscode/test/automation
> node tools/copy-driver-definition.js
β¨ Done in 7.61s.
Installing dependencies in test/smoke...
$ yarn
yarn install v1.19.1
warning package.json: No license field
warning [email protected]: No license field
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
[4/4] π¨ Building fresh packages...
$ npm run compile
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672861747-0.26346690742833623/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] compile /Users/gary/Downloads/Unsorted/cloned/vscode/test/smoke
> yarn --cwd ../automation compile && tsc
yarn run v1.19.1
$ npm run copy-driver && npm run copy-driver-definition && tsc
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672862418-0.6067824699223323/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] copy-driver /Users/gary/Downloads/Unsorted/cloned/vscode/test/automation
> cpx src/driver.js out/
npm WARN lifecycle The node binary used for scripts is /var/folders/d_/zgsjht515tdf44dsqc9cdb000000gn/T/yarn--1573672862418-0.6067824699223323/node but npm is using /usr/local/Cellar/node/12.12.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
> [email protected] copy-driver-definition /Users/gary/Downloads/Unsorted/cloned/vscode/test/automation
> node tools/copy-driver-definition.js
β¨ Done in 5.27s.
β¨ Done in 11.69s.
Installing dependencies in /Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch...
$ yarn
yarn install v1.19.1
[1/4] π Resolving packages...
[2/4] π Fetching packages...
[3/4] π Linking dependencies...
[4/4] π¨ Building fresh packages...
warning Error running install script for optional dependency: "/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents: Command failed.
Exit code: 1
Command: node install
Arguments:
Directory: /Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using [email protected]
node-pre-gyp info using [email protected] | darwin | x64
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp ERR! install error
node-pre-gyp ERR! stack Error: Unsupported target version: 12.12.0
node-pre-gyp ERR! stack at get_runtime_abi (/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/versioning.js:173:23)
node-pre-gyp ERR! stack at Object.module.exports.evaluate (/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/versioning.js:295:19)
node-pre-gyp ERR! stack at install (/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/lib/install.js:216:31)
node-pre-gyp ERR! stack at Object.self.commands.<computed> [as install] (/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/lib/node-pre-gyp.js:52:37)
node-pre-gyp ERR! stack at run (/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp:82:30)
node-pre-gyp ERR! stack at Object.<anonymous> (/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp:134:1)
node-pre-gyp ERR! stack at Module._compile (internal/modules/cjs/loader.js:956:30)
node-pre-gyp ERR! stack at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
node-pre-gyp ERR! stack at Module.load (internal/modules/cjs/loader.js:812:32)
node-pre-gyp ERR! stack at Function.Module._load (internal/modules/cjs/loader.js:724:14)
node-pre-gyp ERR! System Darwin 18.7.0
node-pre-gyp ERR! command \"/usr/local/Cellar/node/12.12.0/bin/node\" \"/Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp\" \"install\" \"--fallback-to-build\"
node-pre-gyp ERR! cwd /Users/gary/Downloads/Unsorted/cloned/vscode/build/lib/watch/node_modules/fsevents
node-pre-gyp ERR! node -v v12.12.0
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
node-pre-gyp ERR! not ok
Unsupported target version: 12.12.0"
info This module is OPTIONAL, you can safely ignore this error
β¨ Done in 2.55s.
β¨ Done in 198.96s.
./scripts/code.sh.gary@gary-mac:~/Downloads/Unsorted/cloned/vscode$ ./scripts/code.sh
[14:21:37] Using gulpfile ~/Downloads/Unsorted/cloned/vscode/gulpfile.js
[14:21:37] Starting 'electron'...
[14:21:37] Starting clean-electron ...
[14:21:37] Finished clean-electron after 89 ms
[14:21:37] Starting electron ...
[14:21:40] Finished electron after 3859 ms
[14:21:40] Finished 'electron' after 3.96 s
[14:21:42] Syncronizing built-in extensions...
[14:21:42] You can manage built-in extensions with the --builtin flag
[14:21:42] Downloading extension: [email protected] ...
[14:21:42] Downloading extension: [email protected] ...
[14:21:42] [marketplace] [email protected] βοΈ
[14:21:42] [marketplace] ms-vscode.node-debug βοΈ
[14:21:43] [marketplace] ms-vscode.node-debug2 βοΈ
./.build/electron/Code - OSS.app/Contents/MacOS/Electron[8229]: ../../third_party/electron_node/src/node_file.cc:897:void node::fs::InternalModuleStat(const FunctionCallbackInfo<v8::Value> &): Assertion `args[0]->IsString()' failed.
1: 0x10c15e515 node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
2: 0x10c15d039 node::AddPromiseHook(v8::Isolate*, void (*)(v8::PromiseHookType, v8::Local<v8::Promise>, v8::Local<v8::Value>, void*), void*) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
3: 0x10c191db6 node::DecodeWrite(v8::Isolate*, char*, unsigned long, v8::Local<v8::Value>, node::encoding) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
4: 0x10849f0a8 v8::internal::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, v8::internal::BasicBlockProfiler const&) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
5: 0x1084689bd v8::internal::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, v8::internal::BasicBlockProfiler const&) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
6: 0x108467fca v8::internal::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, v8::internal::BasicBlockProfiler const&) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
7: 0x108daf9ce v8::internal::Parser::BuildIteratorCloseForCompletion(v8::internal::ZoneList<v8::internal::Statement*>*, v8::internal::Variable*, v8::internal::Expression*, v8::internal::IteratorType) [/Users/gary/Downloads/Unsorted/cloned/vscode/.build/electron/Code - OSS.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
8: 0x20b70f5886a6
9: 0x20b70f5886a6
Received signal 6
[0x0001091edb0c]
[0x0001091ed9f1]
[0x7fff74444b5d]
[0x7ffee9d50ea0]
[0x7fff742fe6a6]
[0x00010c15e522]
[0x00010c15d039]
[0x00010c191db6]
[0x00010849f0a8]
[0x0001084689bd]
[0x000108467fca]
[0x000108daf9ce]
[0x20b70f5886a6]
[0x20b70f5886a6]
[end of stack trace]
Abort trap: 6
gary@gary-mac:~/Downloads/Unsorted/cloned/vscode$
@garyking all the steps look ok, i think you have the sources already compiled since I don't see any compile step in ./scripts/code.sh step ? the error seems to point to incorrect module loading. can you run git clean -xfd and rerun steps 1-5 again ?
@deepak1556 Thanks that fixed it. It still takes about 10 minutes to build, each time I check out a commit, but it's better than nothing...
@bpasero This bug was introduced in this commit: https://github.com/microsoft/vscode/commit/23956cc5e22616a90e01fa639d12b920ea77566d
I'm not sure if the bug was introduced by the Electron upgrade, or any of the other changes made in the commit, but that's beyond my expertise at this point...
@garyking thanks for verifying this is due to the Electron 6 update. I am still open to suggestions how to fix this then, given it is not coming from VSCode's own sources.
I assume the issue is a combination of things with VSC and Electron, since the issue does not reproduce in other Electron apps.
In the meantime, you can use ^W to switch windows inside of VSCode.
I use Contexts so suffer as well... BUT I used to use HyperSwitch - reinstalled and tested it - still shows the correct titles with VSC 1.4.
So, either Witch and Contexts should do whatever HyperSwitch does or someone has to nose dive into Electron V4-V6 diffs.. including Chromiums libs.. π±
Have same problem with Contexts.
This appears to be a regression upstream with Electron. I have submitted https://github.com/electron/electron/pull/21462 with a potential fix, so hopefully that can land, be backported, and then we can update VS Code with the fixed version.
To summarise the problem, Electron's AtomNSWindow implements accessibilityAttributeValue to provide various accessibility info to the OS, including window titles.
Chromium 75 changed to Apple's newer accessibility API for window titles in the super class that AtomNSWindow inherits from. macOS still supports both the old and new style APIs, but it will prefer the new style if it is implemented. This means the Electron window title is being ignored because the newer API at the Chromium level has taken precedence.
This is a regression that has been present since Electron 6.0.0 (the first release including the Chromium change above).
@jryans thanks a lot β€οΈ
@jryans Thank You! One thing I can't figure out is how one application (Hyper-Switch) is able to show the titles and another (Contexts and more..) cannot.
If it's OSX that ignores the titles - all external applications should not be able to access this information.
Any idea?
Hard to be sure without reversing each app... but at least on my system, the window title was correct in window managers such as the built-in Mission Control view but empty via accessibility APIs. So, Contexts and other affected apps are presumably using accessibility, while HyperSwitch must be using some other data source perhaps like Mission Control does.
@yoadsn
Accessibility API (NSAccessibilityTitleAttribute)isn't the only way to get window title. There is also CGWindowListCopyWindowInfo which does report correct title of vscode windows and may be probably used by HyperSwitch.
@yoadsn
Accessibility API (NSAccessibilityTitleAttribute)isn't the only way to get window title. There is alsoCGWindowListCopyWindowInfowhich does report correct title of vscode windows and may be probably used by HyperSwitch.
The problem with that method is that it doesn't allow interactions with the windowβclosing, minimizing, etc. must be done via Accessibility. So for our app Witch, it's a non-solution, unfortunately.
-rob.
@rg-manytricks Huge fan of your app - use it constantly - hoping the upstream fix resolves this. It's really frustrating.
confirm, seeing titles in the latest insider build.
FWIW, this also affects conditional activation groups in BetterTouchTool.
Most helpful comment
Also seeing the same regression, except I'm using Contexts instead of Witch.