Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(app, app-shell, app-shell-odd): update electron version from 21 to 27 #13602

Closed
wants to merge 46 commits into from

Conversation

koji
Copy link
Contributor

@koji koji commented Sep 20, 2023

Overview

This is an experimental branch to update Electron version from v21 to v26
There is a big issue in this branch which is legacy OpenSSL provider.

There are a couple of approaches to solve that issue.

  1. use v16 LTS
  2. add flag
  3. upgrade to Webpack5 (currently we use Webpack4)

Right now, this branch is using option 1 since it's a very easy way to update Electron and run Desktop app.
However, this shouldn't be a solution because of this, nodejs/Release#908.

Currently this branch is using option2 with node 18.16.1.

Therefore, probably option 3 would be a good solution for us. But, this can be controversial since the app&ui team has been thinking of switching module bundler(webpack) to vite or something else.

The goal of this branch would be to merge into edge in 2023.

Current status

  • make setup-js
    • Mac
    • Ubuntu v22.04
    • Windows 11
  • make -C app dev
    • Mac
    • Ubuntu v22.04
    • Windows 11
  • Pass CI checks
    • check-js
  • update nodejs version (the version should be 18.16.1+)
  • decide a way to fix the above issue
  • To be added

Additional tasks
Once this branch fixes errors on PD and LL, I will create a new branch from this to update the Electron version since v26's life will end on 2/27/2024.
Also we would need to update a couple of packages that are related to Electron such as context-menu and etc.

Test Plan

Changelog

  • update Electron version from v21 to v27
  • update Electron-builder from v24.0.0 to v24.6.3

Review requests

Risk assessment

mid

@koji koji changed the title chore(app, app-shell): update electron version from 21 to 26 chore(app, app-shell, app-shell-odd): update electron version from 21 to 26 Sep 20, 2023
@codecov
Copy link

codecov bot commented Sep 20, 2023

Codecov Report

Merging #13602 (ff0bd88) into edge (20bc052) will decrease coverage by 0.35%.
Report is 132 commits behind head on edge.
The diff coverage is 44.96%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             edge   #13602      +/-   ##
==========================================
- Coverage   70.47%   70.12%   -0.35%     
==========================================
  Files        2480     2510      +30     
  Lines       70306    72802    +2496     
  Branches     8718     9657     +939     
==========================================
+ Hits        49548    51054    +1506     
- Misses      18606    19413     +807     
- Partials     2152     2335     +183     
Flag Coverage Δ
app 67.03% <61.95%> (-0.70%) ⬇️
components 60.62% <14.28%> (-1.97%) ⬇️
g-code-testing 96.44% <100.00%> (+<0.01%) ⬆️
hardware 56.85% <37.50%> (-0.06%) ⬇️
hardware-testing ∅ <ø> (∅)
labware-library 51.50% <ø> (ø)
notify-server 89.13% <ø> (ø)
protocol-designer 44.75% <ø> (-0.28%) ⬇️
react-api-client 65.73% <ø> (ø)
shared-data 75.13% <ø> (+1.55%) ⬆️
step-generation 86.76% <ø> (ø)
system-server 96.02% <ø> (ø)
update-server 63.51% <ø> (ø)
usb-bridge 76.88% <ø> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
api/src/opentrons/__init__.py 51.16% <ø> (ø)
api/src/opentrons/execute.py 54.23% <ø> (ø)
api/src/opentrons/hardware_control/__init__.py 100.00% <ø> (ø)
api/src/opentrons/hardware_control/__main__.py 0.00% <ø> (ø)
api/src/opentrons/hardware_control/api.py 82.42% <ø> (ø)
...entrons/hardware_control/backends/ot3controller.py 67.85% <ø> (ø)
...pentrons/hardware_control/backends/ot3simulator.py 86.44% <ø> (ø)
api/src/opentrons/hardware_control/ot3api.py 79.58% <ø> (+0.17%) ⬆️
...c/opentrons/hardware_control/protocols/__init__.py 100.00% <ø> (ø)
...entrons/hardware_control/protocols/calibratable.py 55.55% <ø> (ø)
... and 105 more

... and 120 files with indirect coverage changes

@koji koji requested a review from a team September 26, 2023 22:04
@koji
Copy link
Contributor Author

koji commented Oct 9, 2023

  • use nodejs 18 for all products
  • fix PD and LL CI errors
  • solve conflicts
  • update electron-context-menu
  • update nodejs v21

@koji koji changed the title chore(app, app-shell, app-shell-odd): update electron version from 21 to 26 chore(app, app-shell, app-shell-odd): update electron version from 21 to 27 Nov 29, 2023
@koji
Copy link
Contributor Author

koji commented Nov 29, 2023

note

node v21 has an issue on usb-detection installation which doesn't happen to v18

ryanthecoder and others added 19 commits December 4, 2023 17:51
…s to npm (#14077)

In order to support a single source of truth for applications outside of the monorepo (read:
"Protocol Library") that rely on fundamental components and geometries within the mono repo, add tag
based deploy actions that publish bundled artifacts to NPM.
* Starting Labware and Wells section only

Refactor code elements in the docstrings to use the monospace font. Multiple instances of authors using a single ` ` to note a code snipped, but this requires `` `` instead.

* More docstrings revisions

* Misspelled word in a comment

* Re-add anchor to robot_position.rst

Was removed accidentally. Used in other locations. This restores anchor links.

* Forgot to run black

All done! ✨ 🍰 ✨
1 file reformatted.

Removed trailing space after a comma.

* Update api/src/opentrons/protocol_api/labware.py

Co-authored-by: Ed Cormany <[email protected]>

* Update api/src/opentrons/protocol_api/labware.py

Co-authored-by: Ed Cormany <[email protected]>

* Update api/src/opentrons/protocol_api/labware.py

Co-authored-by: Ed Cormany <[email protected]>

* Update api/src/opentrons/protocol_api/labware.py

Co-authored-by: Ed Cormany <[email protected]>

* Link Wells and wells_by_name

* Changes from reviewers

* Fix ellipses

---------

Co-authored-by: Ed Cormany <[email protected]>
Fix bug that was causing ci to attempt the publish step of every pr build
* pass around mypy protocol instead of OT3API
* Explicit parameterization of config types
* Fix some tests with the protocol engine related to protocol changes
* Added a `FlexInstrumentConfigurer` for flex-specific configuration extensions
* Update test mocks to differentiate ot2/ot3 hardware
* Modifed `get_robot_type` to be parameterized on some singleton class types for robot models
* remove unnecessary TYPE_CHECKING import
* Add tip presence protocol functions to satisfy edits to tip manager
@koji
Copy link
Contributor Author

koji commented Dec 12, 2023

  • typescript 5.3.3

@koji koji removed the request for review from a team December 14, 2023 16:17
@koji koji closed this Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants