pulsar icon indicating copy to clipboard operation
pulsar copied to clipboard

Update jasmine to 2.x (one packages first)

Open kiskoza opened this issue 1 year ago • 2 comments

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, ~~reliable~~ jasmine1 runner. There's only one package I switched over to the new jasmine2, it's the archive-view package with only 21 test cases. Baby steps for achievable goals :smile:

I've run the package specs both in a non-headless mode and from the terminal, had no problems on Linux.

kiskoza avatar Sep 05 '24 20:09 kiskoza

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

confused-Techie avatar Sep 06 '24 00:09 confused-Techie

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 avatar Sep 15 '24 23:09 savetheclocktower

@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 avatar Feb 20 '25 11:02 2colours

@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.

savetheclocktower avatar Feb 20 '25 20:02 savetheclocktower

@2colours I'm not actively working on this PR nor #990. feel free to pick up the conversation and/or use any of my commits, I'm not planning to rebase it as long as it'll be just ignored again :(

kiskoza avatar Feb 21 '25 09:02 kiskoza

@2colours I'm not actively working on this PR nor #990. feel free to pick up the conversation and/or use any of my commits, I'm not planning to rebase it as long as it'll be just ignored 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 ppm that have gathered dust. But @2colours is also proof that that work does eventually get merged!

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.

savetheclocktower avatar Feb 21 '25 16:02 savetheclocktower

@savetheclocktower I didn't want to sound demanding or too bitter and, most of all, thanks for your detailed response. I know that the open source maintainers' life could be hard and always keep in mind that your work is always appreciated.

kiskoza avatar Feb 25 '25 17:02 kiskoza

@savetheclocktower I didn't want to sound demanding or too bitter and, most of all, thanks for your detailed response. I know that the open source maintainers' life could be hard and always keep in mind that your work is always appreciated.

I've been on the other side of it many times, so I know exactly what you mean.

If you do bless us with further contributions, feel free to ping us on Discord whenever you feel like they haven't been acknowledged. Nobody on the Pulsar team will think that that's odd or demanding or needy; it's just something that happens once in a while to get things unstuck. The worst we can say is “we'll get to it when we can,” but more often we'll probably say something like “right, I was going to review that weeks ago but then I just… didn't.”

You've probably seen that #990 is set to land in a day or so (the 1.126 release process has already begun and I'll land it as soon as the release is finished), so I'm going to close this PR as unnecessary.

savetheclocktower avatar Feb 25 '25 17:02 savetheclocktower