You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This recent saga with libiconv on macOS illustrated that, up until now, we'd been building Pulsar with the version of superstring that the Atom folks most recently published to NPM — not the version from our fork against which we've applied a number of commits.
When we pointed Pulsar at the head of our fork's master branch, a number of issues were revealed, including very consistent crashes of Pulsar's renderer process during editor and package tests. When we assembled an alternative branch — one consisting of all our changes minus anything that affected the core superstring source code — and built Pulsar against that, all our problems went away.
So some of these commits caused breakages in Pulsar. We didn't know at the time, but we were bound to discover it eventually. This strongly suggests that it's not enough for us to run superstring’s own tests to prove that it works; we should also be running some smoke tests against Pulsar to prove that a proposed change will not regress Pulsar's behavior.
What benefits does this feature provide?
The immediate benefit is that it reveals much sooner in the process whether a change to superstring will cause a regression in Pulsar.
The medium-term benefit is much larger: at some point we'll need to have a version of superstring that can run in the most recent version of Electron. That requires a migration to N-API (see #10). At that point it's not just about regressions! It's about threading the needle of being able to support both Electron 12 and Electron ~30 (and climbing) with one version of superstring — or, if that's not possible, maintaining two different versions at once.
Either way, this work will necessitate a second set of Pulsar smoke tests in CI: one that tests against an experimental version of Pulsar built against a recent version of Electron.
Any alternatives?
I don't really see a way around this. The status quo is an alternative — one in which we don't find out how a given change affects Pulsar until later in the process — but that feels self-evidently worse.
Other examples:
No response
The text was updated successfully, but these errors were encountered:
I can at least say @mauricioszabo appears to be fairly comfortable working with various dependencies (such as superstring) as git repo URL dependencies, off of specific "working (WIP) branches" of repositories as needed. This may be the "status quo" you were alluding to.
As long as master of superstring remains intended for current Pulsar master, and we PR changes intended for current Pulsar master promptly (or manually test such things before merging here?) then that should cover it.
Have you checked for existing feature requests?
Summary
This recent saga with
libiconv
on macOS illustrated that, up until now, we'd been building Pulsar with the version ofsuperstring
that the Atom folks most recently published to NPM — not the version from our fork against which we've applied a number of commits.When we pointed Pulsar at the head of our fork's
master
branch, a number of issues were revealed, including very consistent crashes of Pulsar's renderer process during editor and package tests. When we assembled an alternative branch — one consisting of all our changes minus anything that affected the coresuperstring
source code — and built Pulsar against that, all our problems went away.So some of these commits caused breakages in Pulsar. We didn't know at the time, but we were bound to discover it eventually. This strongly suggests that it's not enough for us to run
superstring
’s own tests to prove that it works; we should also be running some smoke tests against Pulsar to prove that a proposed change will not regress Pulsar's behavior.What benefits does this feature provide?
The immediate benefit is that it reveals much sooner in the process whether a change to
superstring
will cause a regression in Pulsar.The medium-term benefit is much larger: at some point we'll need to have a version of
superstring
that can run in the most recent version of Electron. That requires a migration to N-API (see #10). At that point it's not just about regressions! It's about threading the needle of being able to support both Electron 12 and Electron ~30 (and climbing) with one version ofsuperstring
— or, if that's not possible, maintaining two different versions at once.Either way, this work will necessitate a second set of Pulsar smoke tests in CI: one that tests against an experimental version of Pulsar built against a recent version of Electron.
Any alternatives?
I don't really see a way around this. The status quo is an alternative — one in which we don't find out how a given change affects Pulsar until later in the process — but that feels self-evidently worse.
Other examples:
No response
The text was updated successfully, but these errors were encountered: