Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.

Upgrade to electron 9.3.5 #21777

Merged
merged 48 commits into from Mar 5, 2021
Merged

Upgrade to electron 9.3.5 #21777

merged 48 commits into from Mar 5, 2021

Conversation

sadick254
Copy link
Contributor

@sadick254 sadick254 commented Dec 1, 2020

This upgrades atom from 6.1.12 to 9.3.5

TODO

Issues to resolve

  • Failure due to node-abi not detecting abi for version 9.3.5 and runtime electron

Failing tests

Regressions to fix before merging

Known bugs resolved by this upgrade

Electron Upgrade Test Manifest

  • Review issues tagged with electron to see if any of them are fixed

  • Verify that you can collaborate with Teletype

    • Host using Atom's current stable release can collaborate with guest using Atom with the new version of Electron
    • Guest using Atom's current stable release can collaborate with host using Atom with the new version of Electron
    • Host and guest can collaborate when both are using Atom with the new version of Electron
    Steps
    1. Open a file
    2. Share a portal
    3. Have a guest join the portal
    4. When guest edits the text in the file, verify that the host sees those changes

Check for regressions experienced in previous upgrades

Text Input/Keybindings

See how to setup keyboard layouts.

  • IME not working (1.19.0-beta2: Cursor stucks at the first letter when using macOS Chinese IME #14911)

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Install an IME layout, for example Pinyin simplified
    2. Open Atom and use the layout you installed as the keyboard layout
    3. Example, if you picked Pinyin simplified type in zhongwenshuru

    Expected: in Pinyin simplified 中文输入 is expected

    gif

    Issues we've seen: Only shows latin first character and not every character typed.

    gif

  • macOS: Key binding with composition characters are ignored (key-mappings with alt don't suppress Mac OS composition characters anymore (atom-1.19) #15189)

    Repro steps
    1. Open your keymap.cson file and add the following:
      'atom-text-editor':
        # use hjkl; vim-like when pressing alt (word by word, paragraph by paragraph)
        # or alt (letter by letter)
        'alt-h': 'core:move-left'
        'alt-j': 'core:move-down'
        'alt-k': 'core:move-up'
        'alt-l': 'core:move-right'
    2. Save keymap.cson and reload atom.
    3. Try the new keymappings under ABC - Extended keyboard layout

    Expected: the keybindings work

    Issues we've seen: it types out the modified keys and ignores the key mapping

  • macOS: Composition characters mess up insertion point (Composition characters mess up insertion point #15344)

    Repro steps
    1. Open keymap.cson and add the following:
      'atom-text-editor':
        'alt-n': 'core:move-down'
        'alt-o': 'core:move-down'
    2. Have the following in your buffer:
      Foo
      Bar
      
    3. Have the cursor at the beginning of file(before F character) Type alt-n, then arrow right, then insert a character. Observe that the character is inserted at the beginning of the line (where the alt-n left you).
    4. Repeat steps using alt-o instead of alt-n.

    Expected: Both alt-o and alt-n behave the same

    Issues we've seen:
    bug

  • Ubuntu: Keystrokes involving ctrl resolve to the default layout instead of the active layout (Keystrokes involving ctrl on Linux resolve to the default layout instead of the active layout #13170)

    Repro steps

    This should be tested on Linux with gnome

    1. Install a Linux ditro with gnome, for example Ubuntu
    2. Install French AZERTY and English US QWERTY layouts
    3. Change the default layout to be French AZERTY
    4. Open Atom and switch to English US QWERTY layout
    5. Press ctrl-w

    Expected: core:close to dispatch (Or the keybinding-resolver to resolve to ctrl-w). Should be resolving to the keyboard layout that is chosen and not the OS default layout.

    Issues we've seen: core:undo dispatched because it was resolved as ctrl-z because AZERTY has Z where W is on QWERTY.

  • Other keyboard layouts on new Electron version

UI

  • tree-view drag image (Display the correct drag image on Electron >= 1.14 tree-view#1054)

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Open a project in Atom with multiple files and a few folders
    2. Drag a file into a folder

    Expected:
    image

    Issues we've seen:

    image

  • drag-and-drop indicator (Fix missing drop indicator on Electron >= 1.14 tree-view#1055, Fix missing drop indicator on Electron >= 1.4 tabs#426, Fix mistakenly shown docks drop indicator on Electron >= 1.4 tabs#437)

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Open Atom with a few folder projects on tree-view (you can do this on terminal in a directory that has existing folder and having a space between each folder. Example: atom folderA folderB folderC)
    2. Drag and drop all of the folders to reorder them on Atom

    Expected:
    The placeholder indicates where the folder/project is being dropped to.

    screen shot 2017-03-29 at 16 31 16

    Issues we've seen:
    No placeholder shows up after drag and dropping

    screen shot 2017-03-29 at 16 30 51

  • Large file rendering (Bad rendering after ~1 million lines #16591)

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Open a file that has over one million lines
    2. Scroll down to the bottom

    Expected: To not regress the number of lines that can be rendered. Rendering to be correct for lines past a certain point. Atom 1.25 can render around 800k to 1 million lines correctly.

    Issues we've seen: Increased number of lines rendered but bad rendering past a certain point

    bad renderer

  • Loss of subpixel AA when the cursor is at the end of long lines (Loss of subpixel AA on soft-wrapped line #16889, Don't break subpixel AA when cursor is at the end of longest line #16595)

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Open text-editor.js in Atom
    2. Copy the first 21 lines to a new untitled window
    3. Turn on soft wrapping and change language mode to javascript
    4. Resize the Window so it's soft wrapped
    5. On line 15 type a until the you reach the end of the window

    Expected: To not lose subpixel AA

    Issues we've seen: Loss of subpixel AA. Both when soft wrapping was enabled and disabled.

    subpixel aa loss softwrap

  • Scrolling horizontally shift + scroll wheel (Upgrade Electron to v1.6.x #12696 (comment))

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Open a file that has long lines
    2. Turn off soft wrapping and resize the window so you have a horizontal scrollbar
    3. Press shift and scroll in both directions using the mouse wheel

    Expected: File to scroll horizontally in both directions

    Issues we've seen: File does not scroll horizontally at all in any direction

  • Scrollbars misbehaving on the first file that is opened (Upgrade Electron to v1.6.x #12696 (comment))

    Repro steps
    1. Open Atom
    2. Open some file that has content enough to have a vertical scrollbar
    3. Close Atom
    4. Open Atom and look at the vertical scrollbar

    Expected: Scrollbar to be visible

    Issues we've seen: Scrollbar is not visible and is flickering when you are editing

  • Middle clicking on unsaved tab (1.19, Linux: Middle-clicking an unsaved tab causes entire desktop to be unresponsive to clicks #15197)

    • macOS
    • Ubuntu
    Repro steps
    1. Open Atom and open a new unsaved file.
    2. Make edits to the unsaved file and middle click on the tab.

    Expected:
    Clicking save/cancel or the options on the dialog works.

    Issues we've seen:
    The UI and the dialog is unable to receive mouse clicks. You can still choose options via Keyboard, but not mouse.

  • Linux: Atom scrolls even when not focused (Atom scrolls even when not focused #15482)

    Repro steps
    1. Open Atom with a large enough file that has a scrollbar
    2. Open a different application and place it over the Atom window
    3. Scroll with the mouse inside the other window
    4. Focus the Atom window

    Expected: Atom window should keep the original scroll position

    Issues we've seen: The Atom window scrolls after it is focused

Other

  • Deprecation warnings (Upgrade Electron to v1.6.x #12696 (comment))

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps

    This should be tested on macOS, Linux and Windows with community packages installed

    1. Open Atom
    2. Open the Developer tools console on the master branch and check for deprecation warnings
    3. Open the Developer tools console on the electron upgrade branch and check for deprecation warnings
    4. Compare the two outputs

    Expected: No new deprecation warnings

    Issues we've seen: New deprecation warnings both from core and community packages

  • Supported Versions of OS (Atom 1.19.0 crashes instantly after launching #15297)

    • macOS
    • Windows 10
    • Ubuntu
    Repro steps
    1. Check the list of supported platforms Electron Master
    2. Check what version is listed as minimum for each platform on https://atom.io and https://atom.io/faq

    Expected: https://atom.io and https://atom.io/faq to display the same versions as the Electron documentation

    Issues we've seen: macOS version support changed and https://atom.io and https://atom.io/faq was not updated

  • macOS : Native tabs (Native tabs on macOS #14711)

    Repro steps
    1. Open two atom windows on mac
    2. Go to View in menus and check Show Tab Bar
      screen shot 2017-06-03 at 5 10 32 pm
    3. Do this for both Atom windows.
    4. Drag one atom window to the other via tab bar

    Expected:
    Native Tab bar shows up and able to drag different windows to each other. Also make sure UI isn't messed up.

    Issues we've seen:
    Native Tab Bar doesn't work and messes up UI when enabled

  • Ubuntu with KDE: Menu uses 100% CPU (Globalmenu consumes 100% CPU and does not work electron/electron#8455, Menus not working in plasma 5.9 with global menu enabled #13885)

    Repro steps
    1. Install Atom on Ubuntu KDE. [instructions]
    2. Enable KDE plasma global menu: Right-click on the desktop -> Add Panel => Application Menu Bar. [demo]
    3. Start Atom.
    4. Try to use the desktop menu.

    Expected:
    Desktop menu items work

    Issues we've seen:
    Desktop menu items do nothing when you click on things.

  • macOS: Slovak QWERTZ (Slovak QWERTZ does not resolve keys correctly on macOS atom-keymap#223)

    Repro steps
    1. Install Slovak keyboard layout on mac
    2. Open keyboard viewer to see the keys are are suppose to show up and open keyboard resolver on atom.
    3. hit cmd+'.

    Expected: Resolves to cmd+' like it shows on keyboard viewer on mac.

    Issues we've seen: It resolves to ctrl+§

  • macOS: IME jump (1.20.0: Popup jump when using macOS Chinese IME #15696)

    Repro steps
    1. Install an IME layout, for example Chinese pinyin
    2. Type one character

    Expected:
    Expected the IME to be positioned at under the character you entered
    Issues we've seen: The IME window is in the top left corner. When you enter the second character it jumps to be positioned under the text

@mfonville
Copy link
Contributor

As noted in #21422 (comment) and a reminder I had put here: atom-community#75 (comment)

If you are upgrading electron to a version of 7 or higher, you can drop thelibgconf-2-4 dependency in resources/linux/debian/control.in

@aminya
Copy link
Contributor

aminya commented Dec 6, 2020

For Windows, Superstring error is fixed by: atom/superstring#91

@sadick254 sadick254 force-pushed the electron-upgrade-9.3.5 branch 3 times, most recently from a7db5fa to 973178d Compare December 10, 2020 15:02
@aminya
Copy link
Contributor

aminya commented Dec 10, 2020

By the way, probably at some point, you will encounter some errors that say electron-link is not able to bundle the app because of lazy requires. You will need to register a new version for the electron-link. My last merged PR is still awaiting registration.

https://github.com/atom/electron-link

which I think it would be better to merge atom/electron-link#31 before registration, as it tests electron-link for electron 9.

@sadick254
Copy link
Contributor Author

sadick254 commented Dec 10, 2020

@aminya Noted. I will look into it.

@aminya
Copy link
Contributor

aminya commented Dec 10, 2020

By the way, probably at some point, you will encounter some errors that say electron-link is not able to bundle the app because of lazy requires. You will need to register a new version for the electron-link. My last merged PR is still awaiting registration.

https://github.com/atom/electron-link

which I think it would be better to merge atom/electron-link#31 before registration, as it tests electron-link for electron 9.

I believe that the current error in the CI is the error that I am talking about.

Assigning a deferred module to a variable that was not declared in this scope is not supported!

This commit fixes that error:
atom/electron-link@bb32af3#diff-078c9280de7dec39154b2c81504ea9fffc9a241dfa6654f82688c09794fa1c65

@sadick254
Copy link
Contributor Author

@aminya Am afraid the error on the CI is not the one you are talking about. I have however published a new release for electron-link and included it on this PR. The build is throwing an error while dumping symbols.

@mfonville
Copy link
Contributor

I notice btw that in the bootstrap phase (at least on Linux) Python is on 2.7; shouldn't it be already be Python3 with these higher electron/apm/nmp versions?

@aminya
Copy link
Contributor

aminya commented Dec 10, 2020

I Am afraid the error on the CI is not the one you are talking about. I have however published a new release for electron-link and included it on this PR. The build is throwing an error while dumping symbols.

@sadick254 It was throwing the error on Windows. It is now gone. Windows does not have the minidump issue, and that's why it is ahead of other operating systems in the build script.


On Windows, less-node is throwing warnings/errors.

##[warning] The reference to the module is replaced with the lazy function, but it is assigned to "module" or "exports". In some cases the bundle might not work, which you should fix manually:
D:\a\1\s\out\app\node_modules\less\lib\less-node\fs.js

Probably my Less 3 PR will fix that:
atom/less-cache#17

@aminya
Copy link
Contributor

aminya commented Dec 10, 2020

Minidump error on Linux and MacOS will be probably fixed by #21792

@mfonville
Copy link
Contributor

Electron 9.4.0 is now also available with some (security) fixes

@aminya
Copy link
Contributor

aminya commented Dec 16, 2020

The current failure in Windows CI is because of the "debug" module in spellcheck package. I have opened an issue for it.

atom/spell-check#356

@aminya
Copy link
Contributor

aminya commented Dec 16, 2020

fswin issue in Linux/MacOS is because of winattr which is used in text-buffer. I made a PR which probably fixes it.
atom/text-buffer#336

@aminya
Copy link
Contributor

aminya commented Dec 16, 2020

Running the build locally on Windwos fails because of the old superstring which is because of the old whats-my-line in github package.

@sadick254 This commit is incomplete. You should also bump the version in package-dependencies
c9524e9

-	"github": "0.36.3",
+   "github": "0.36.6",

spell-check commit is also incomplete.
21766a3

-    "spell-check": "0.76.2",
+   "spell-check": "0.77.0",

@aminya
Copy link
Contributor

aminya commented Dec 16, 2020

Windows build in PR CI finished. However, one of the core main tests time-outs:

##[error] The 'core-main-process' test step finished with a non-zero exit code 
 You can run the test again using: 
	 D:/a/1/s/out/Atom Dev x64/atom-dev.exe --resource-path D:\a\1\s --test --main-process D:\a\1\s\spec\main-process

 1) AtomWindow
       creating a real window
         creates a real, properly configured BrowserWindow:
     Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (D:\a\1\s\spec\main-process\atom-window.test.js)
      at listOnTimeout (internal/timers.js:531:17)
      at processTimers (internal/timers.js:475:7)
  

I built Atom locally after applying the changes of this comment.
However, Atom Window does not open. The process exists in the task manager, which I had to kill manually.

browser


Also, Production CI fails to sign the executable due to a connection issue. Is the link still valid?

@aminya
Copy link
Contributor

aminya commented Dec 16, 2020

Downgrading to electron 7.3.3 gives a working Atom. However, I get these warnings when I launch Atom in dev mode:

(node:32076) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

and when I closed Atom:

Attempting to call a function in a renderer window that has been closed or released.
Function provided here: Object.<anonymous> (C:\Users\aminy\Documents\GitHub\JavaScript\@atom-ide-community\atom\node_modules\github\lib\worker.js:60:22
Remote event names: crashed, destroyed

Also, opening a project doesn't work.

@aminya
Copy link
Contributor

aminya commented Dec 16, 2020

app.allowRendererProcessReuse shuold be set to false in Electron 9, so we can keep using non-contet aware native modules.

Trying Electron 8.5.5 gives better warning messages about these native modules that should be updated. Pretty much all non N-api packages. If using NAN we should apply these changes like this: atom/node-keytar#182

This should be done before Electron 12 based on electron/electron#18397

❯ (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\scrollbar-style\build\Release\scrollbar-style-observer.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\text-buffer\node_modules\superstring\build\Release\superstring.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\pathwatcher\build\Release\pathwatcher.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\git-utils\build\Release\git.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-json\build\Release\tree_sitter_json_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\oniguruma\build\Release\onig_scanner.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\aminy\Documents\GitHub\JavaScript\@atom\spell-check\node_modules\spellchecker\build\Release\spellchecker.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\Users\aminy\.atom\packages\Hydrogen\node_modules\zeromq\build\Release\zmq.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-c\build\Release\tree_sitter_c_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-cpp\build\Release\tree_sitter_cpp_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-css\build\Release\tree_sitter_css_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-go\build\Release\tree_sitter_go_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-embedded-template\build\Release\tree_sitter_embedded_template_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-html\build\Release\tree_sitter_html_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-java-dev\build\Release\tree_sitter_java_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-javascript\build\Release\tree_sitter_javascript_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-jsdoc\build\Release\tree_sitter_jsdoc_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-regex\build\Release\tree_sitter_regex_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-python\build\Release\tree_sitter_python_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-ruby\build\Release\tree_sitter_ruby_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-rust\build\Release\tree_sitter_rust_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-bash\build\Release\tree_sitter_bash_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-typescript\build\Release\tree_sitter_tsx_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\tree-sitter-typescript\build\Release\tree_sitter_typescript_binding.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:31924) Electron: Loading non-context-aware native module in renderer: '\\?\C:\atom\out\Atom Dev x64\resources\app.asar.unpacked\node_modules\@atom\nsfw\build\Release\nsfw.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Feb 24, 2021

With the latest commit 78c1bed, I can open Atom when there is a blank projectRoots in .atom/storage/application.json. 🎉

I do see a couple of errors in any window launched with blank projectRoots, though:

Failed to load a language-hyperlink package grammar

Cannot read property 'id' of undefined in /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app.asar/node_modules/language-hyperlink/grammars/hyperlink.json

TypeError: Cannot read property 'id' of undefined
    at Function.startNextJob (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:915053)
    at SpellCheckTask.start (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:914555)
    at SpellCheckView.updateMisspellings (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:958275)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:957703
    at Function.simpleDispatch (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1182710)
    at Emitter.emit (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1184151)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:1:802120
    at Function.simpleDispatch (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1182710)
    at Emitter.emit (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1184151)
    at Text[user]LanguageMode.markTokenizationComplete (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:557198)
    at Text[user]LanguageMode.retokenizeLines (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:556151)
    at Text[user]LanguageMode.updateForInjection (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:555941)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:360694
    at Map.forEach (<anonymous>)
    at GrammarRegistry.grammarAddedOrUpdated (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:360299)
    at Function.simpleDispatch (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1182710)
    at Emitter.emit (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1184151)
    at GrammarRegistry.addGrammar (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:120788)
    at Grammar.activate (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:127970)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:3375172
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:362234
    at u (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:583651)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:584904
    at electron/js2c/asar.js:533:9
    at FSReqCallback.wrapper [as oncomplete] (fs.js:470:5)
  at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app.asar/node_modules/language-hyperlink/grammars/hyperlink.json:1:1
Failed to load a language-todo package grammar

Cannot read property 'id' of undefined in /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app.asar/node_modules/language-todo/grammars/todo.json

TypeError: Cannot read property 'id' of undefined
    at Function.startNextJob (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:915053)
    at SpellCheckTask.start (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:914555)
    at SpellCheckView.updateMisspellings (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:958275)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:957703
    at Function.simpleDispatch (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1182710)
    at Emitter.emit (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1184151)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:1:802120
    at Function.simpleDispatch (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1182710)
    at Emitter.emit (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1184151)
    at Text[user]LanguageMode.markTokenizationComplete (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:557198)
    at Text[user]LanguageMode.retokenizeLines (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:556151)
    at Text[user]LanguageMode.updateForInjection (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:555941)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:360694
    at Map.forEach (<anonymous>)
    at GrammarRegistry.grammarAddedOrUpdated (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:360299)
    at Function.simpleDispatch (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1182710)
    at Emitter.emit (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:1184151)
    at GrammarRegistry.addGrammar (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:120788)
    at Grammar.activate (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:14:127970)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:3375172
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:362234
    at u (/Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:583651)
    at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app/static/<embedded>:11:584904
    at electron/js2c/asar.js:533:9
    at FSReqCallback.wrapper [as oncomplete] (fs.js:470:5)
  at /Users/[user]/Downloads/9-projectRoots-fix/Atom Dev.app/Contents/Resources/app.asar/node_modules/language-todo/grammars/todo.json:1:1

These are in the language-hyperlink and language-todo packages. Any window where there was a valid project path/folder in projectRoots does not show those errors.

It's on the PATH and is the version that will be used without needing to do update-alternatives.
@sadick254 sadick254 marked this pull request as ready for review March 3, 2021 15:36
@mfonville
Copy link
Contributor

Electron went to 9.4.4:
#22003

@sadick254 sadick254 merged commit f4d832f into master Mar 5, 2021
@sadick254 sadick254 deleted the electron-upgrade-9.3.5 branch March 5, 2021 04:48
@aminya
Copy link
Contributor

aminya commented Mar 5, 2021

Thanks for the work! 🎉

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Mar 6, 2021

Wow! Electron 9 on master branch!! 🎉 🎉

@the-j0k3r
Copy link

the-j0k3r commented Mar 6, 2021

@UziTech interesting to observe effect on terminus/x-terminal as well as all built in Atom addons though.

congrats @ all involved in these upgrades and finally merging in.

@aminya
Copy link
Contributor

aminya commented Mar 6, 2021

interesting to observe effect on terminus/x-terminal

If we integrate #21927, there will be no issues regarding the native addon.

@the-j0k3r
Copy link

If we integrate #21927, there will be no issues

indeed but only if that PR is merged into master before master code becomes a stable release. so we hope it is indeed merged asap.

ericonr added a commit to ericonr/void-packages that referenced this pull request Apr 27, 2021
- still depends on nodejs 10, which will be EOL starting May 2021
- template is very out of date (current version is 1.56.0), which shows
  lack of interest for the package
- as seen in [1], depends on outdated electron9 (which void no longer
  provides)

[1] atom/atom#21777
ericonr added a commit to ericonr/void-packages that referenced this pull request Apr 27, 2021
- still depends on nodejs 10, which will be EOL starting May 2021
- template is very out of date (current version is 1.56.0), which shows
  lack of interest for the package
- as seen in [1], depends on outdated electron9 (which void no longer
  provides, if we wanted to use system electron), and that's a recent
  development

[1] atom/atom#21777
ericonr added a commit to void-linux/void-packages that referenced this pull request Apr 30, 2021
- still depends on nodejs 10, which will be EOL starting May 2021
- template is very out of date (current version is 1.56.0), which shows
  lack of interest for the package
- as seen in [1], depends on outdated electron9 (which void no longer
  provides, if we wanted to use system electron), and that's a recent
  development

[1] atom/atom#21777
Logarithmus pushed a commit to Logarithmus/void-packages that referenced this pull request May 5, 2021
- still depends on nodejs 10, which will be EOL starting May 2021
- template is very out of date (current version is 1.56.0), which shows
  lack of interest for the package
- as seen in [1], depends on outdated electron9 (which void no longer
  provides, if we wanted to use system electron), and that's a recent
  development

[1] atom/atom#21777
hazayan pushed a commit to hazayan/void-packages that referenced this pull request May 9, 2021
- still depends on nodejs 10, which will be EOL starting May 2021
- template is very out of date (current version is 1.56.0), which shows
  lack of interest for the package
- as seen in [1], depends on outdated electron9 (which void no longer
  provides, if we wanted to use system electron), and that's a recent
  development

[1] atom/atom#21777
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants