-
-
Notifications
You must be signed in to change notification settings - Fork 145
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
Update jasmine to 2.x (one packages first) #1089
base: master
Are you sure you want to change the base?
Conversation
Pro: * Less code to maintain & update * run-package-tests was unused Con: * Lost the formatting
Pro: * Less code to maintain
…ored jasmine * only the vendored version got used during the tests * don't need to require jasmine multiple times Clean up vendored jasmine to make it easier to upgrade Remove checks about global jasmine as we're not setting it anymore
Co-authored-by: Andrew Dupont <[email protected]>
While I haven't dived into this yet, I truly appreciate your grace in understanding the difficulties of reviewing the larger PRs. Obviously I wish we could review and merge your initial one, baby steps may be the best way to move things forward. And I'm more than happy to take a look at this one, but of course would want to lean on @savetheclocktower's pretty expert view at finding the choke points that will bit us later. Although if this is all based off your previous work, it's possible you two have already ironed that out |
I put this one on the back burner for the reasons explained here, but I'm on a newer laptop these days and should try again. Thanks for opening this PR; I'll get to it when I can. |
@savetheclocktower @kiskoza any updates on this one? I think it's a very important overhaul topic, the PR seems kinda stale at the moment. |
@2colours I got pretty far on reviewing #990, but was derailed by the reproducible crash in the tests and then never found my way back to it. I'd suggest checking out #990 and seeing if you can get the entire spec suite to run in Jasmine 2. EDIT: I don't mean to make it your problem — just suggesting something that could help move it along. I've always got ten Pulsar-related things I could be working on, so at the moment I can't predict when I'll be able to give this my full attention again. |
@kiskoza, you have every right to feel bitter about how long this has taken. I'm trying to work on a dozen things at once and somehow thought that I was blocked on giving your PR further review; in fact, it was that crash I was experiencing that led me to put #990 aside for a while, at which point I got distracted by other tasks. Shortly after the last activity on #990, I got a new Apple Silicon Mac and discovered that a performance bug we thought we'd worked around for all Mac users back in 2023 was actually still affecting Apple Silicon macOS users. The only real fix is to upgrade Electron, so I decided to shift most of my attention to the other project I'd been neglecting: upgrading Pulsar to Electron 30+. This is something that will benefit everyone, something that I had unfairly been leaving to @mauricioszabo to keep in a holding pattern — but it was never going to get done unless more than one of us was working on it at once. It's going to make Pulsar so much faster in general, but especially in startup time, and it'll only get harder to do the longer we put it off. You could probably make the same argument about upgrading from Jasmine 1, and I'd agree with you — hence my dilemma. All the active contributors to Pulsar have their specializations, and some of them do things that I'd hate to have to do myself, so I'm appreciative. But right now I'm the only core contributor that routinely works on the main codebase of the app, and it's stressful to have that responsibility and to try to keep lots of people happy at once. I know that, regardless of the reason why, it doesn't feel good to spend effort to produce something that languishes for months and appears to be unappreciated; perhaps it helps just a bit to know that the reason is not malice or even apathy but simply that there aren't enough hours in the day. You were very gracious to issue a gentle reminder in Discord back in July; that's what got me to give #990 some attention soon after. As silly as it might seem, the “drop gentle reminders in Discord” system is probably the most successful system we've had so far to ensure that routine work like PR review doesn't get procrastinated. @2colours knows this better than anyone, and has their own legitimate gripes about contributions to I appreciate your fearlessness in confronting the creakiest code in the entire codebase: the load-bearing code that supports all the specs that we rely on to know whether or not we've broken stuff. I want you to know that your work will be used in some way, even if you disavow #990 or hand it off to someone else. Even if we were to decide to bite the bullet and jump straight to Jasmine 5, I'd still routinely refer to #990 to see how you or I addressed a particular challenge. I swear to you that we'd be thrilled to keep you as an occasional contributor despite this ongoing saga. And I'll revisit #990 to see if I can still reproduce that crash in the spec suite, and to work around it one way or another in order to unblock that PR's review. |
I have a feeling that my other PR (#990) is too big to be reviewed easily with its +3k/-3k line change, so I had the idea of making it more incremental with smaller chunks of code. Of course, in the end we will need to merge that too, but let's see what can we achieve this way.
This time I only included the refactoring around the runners, but kept the atom-core on the old,
reliablejasmine1 runner. There's only one package I switched over to the new jasmine2, it's thearchive-view
package with only 21 test cases. Baby steps for achievable goals 😄I've run the package specs both in a non-headless mode and from the terminal, had no problems on Linux.