pulsar-edit / pulsar

A Community-led Hyper-Hackable Text Editor
https://pulsar-edit.dev
Other
3.21k stars 137 forks source link

Clean Up Available Installable Packages #813

Open iamh2o opened 10 months ago

iamh2o commented 10 months ago

Have you checked for existing feature requests?

Summary

Overview

I find it confusing to find packages to use with pulsar both via the pulsar Package Installer && via https://web.pulsar-edit.dev/ . Cleaning up how packages are presented and how they may be filtered would be a great improvement.

Pulsar Editor Package Installer

The options when searching via the Install Packages tool are a mixture of working, broken and abandoned packages. The #downloads for each package includes the atom downloads, and makes this (usually very useful) information misleading & unhelpful.

New packages, which may beat the pants off of the old Atom packages, must seriously struggle to be noticed as they compete with these often huge numbers.

https://web.pulsar-edit.dev/

The packages here suffer the same issues described above.

What benefits does this feature provide?

Benefits

Any alternatives?

Suggested Additions:

Other examples:

A Worked Example

Installing a terminal package

Search for terminal in the pulsar package manager.

This package might work, but I'd prefer to choose something the pulsar community folks are actively using. This does not seem it.

Note: this same package is also the first returned when you open https://web.pulsar-edit.dev/packages

And So On

the same situation, to varying degrees, presents when searching for most add-on packages (in my brief experience so far).

iamh2o commented 10 months ago

and thank you again for pulsar, I'm getting back into the groove w/it!

asiloisad commented 10 months ago

a filters like Show only Made for Pulsar, Hide broken etc. will be great improvment for users. Also, a tick to report faster broken packages will be helpful to mark broken packages faster.

confused-Techie commented 10 months ago

Thanks a ton for contributing!

One thing I'd like to make clear that seems it isn't, the packages available on the PPR (Pulsar Package Registry) Website, otherwise https://web.pulsar-edit.dev, are the same exact packages available via the actual Pulsar program.

You mention that it is confusing to have to use both, but you would never have to use both. They have the exact same set of data, one is just available to anyone with an internet connection and one is available within Pulsar. Is it possible this isn't made clear?

On the topic of a mixture of broken, working, and archived packages: I do agree that this isn't ideal at all. But to help understand why we haven't just gone and removed these packages, I'll elaborate further. When we started the Pulsar project, especially my role in the team, was a complete archival of every single package that was ever published to Atom. Keeping these packages alive and intact was and is a major priority. But unfortunately, with the sunset of Atom, and the age of many packages, this means that many we inherited were already broken. Then when Atom was sunset a great deal were archived. Making matters worse, as we upgrade the underlying technologies of Pulsar (Such as NodeJS, Chromium, and Electron) things may break further, causing what were functional packages to fail.

All of this means is that we do have a real issue of broken, and archived packages on our hands. But because these packages are so close (Sometimes being just a line or two of a change in code to be working again) it seems wrong to just boot them from the platform, which could mean someone having the same idea down the line having to rewrite everything from scratch.

But still, obviously this is an issue. But we will address how we are attempting to resolve this soon.

Lastly, to talk about Pulsar created packages being dismissed. I do agree that the download counts could be seen as impassible, but I'd disagree on the download count being included from the Atom days as "misleading", since while in some cases this means the package is broken, in many more cases this isn't true. The download count points to a helpful, functional package just like it would. Carrying over it's legacy.

What we are trying to do to fix this issues:

Alright, so I've commented on a few of your points, agreeing with most issues, and pointing out the rational for why we haven't gone nuclear. But lets talk about what we are trying to do to fix this.

Boosting Pulsar made Packages

You may notice that when browsing the PPR (either on the web or within Pulsar) some packages display special badges on them. One such badge is the "Made for Pulsar" badge, which is a special badge given to any package that was developed specifically for Pulsar, in a way we hope points out how special it is. An example of this badge can be seen on smooth-scroll.

Additionally, in an attempt to boost Pulsar made packages over in our Discord, we have a channel backend-notifications whose only purpose is to show when a new package is published, or a new version is made.

Indicating Broken Packages

Very similarly to the above, we also utilize badges to show when a package is broken. There are a few different badges that can be used to indicate if the package has been archived, is broken, or if there is a simple way to fix it, links to documentation detailing how to do so. Examples of this can be seen on busy-signal and hydrogen.

Fixing Community Packages

Like I briefly alluded to. The ultimate hope is that when someone finds a broken package, they would take the initiative to fork this package, fix the broken pieces, and republish it to Pulsar. This has already occurred in a few instances, most notably x-terminal-reloaded.

But we realized that this was a big ask, and just wasn't happening as much as we had hoped. This is why we have recently introduced the pulsar-cooperative program. Which in short is a way for community members to be able to report broken packages, have a small team of maintainers worry about publishing, versioning, and long term maintenance of the git repository, meanwhile allowing the community the ability to make bug fixes or implement new features in their favourite package, even if abandoned, or archived.

What else can we do?

But otherwise commenting on your suggestions to see what more can be done.

I do think the ability to filter packages is a good one. Letting people only see the packages (or package versions) made specifically for Pulsar should be the next thing to add, and would be a good feature request over on the PPR's source package-backend.

Also, like what @asiloisad has mentioned being able to filter packages based on status, such as broken is a great idea, again another fantastic thing to add as a feature request over in the appropriate repo.

Lastly, you mentioned resetting the download count. This does seem like a really interesting idea. Although I'll add unfortunately, the current download count for any packages that were originally published to Atom, and have since been downloaded to Pulsar have a mixed download count. Meaning that if we did do a full reset, we would lose factual downloads of packages post Pulsar. So while interesting, I do see some major pitfalls. Although this doesn't mean we can't start tracking these independently, or considering I still have the original Atom archives, it may be possible to determine the difference in downloads, to only show downloads that have occurred on Pulsar, albeit very difficult.

One possibility that feels like a good compromise to me, is to allow filtering based on three possibilities (when it comes to download count)

Where we default to Pulsar downloads only, as this does seem like it'd provide the most value.

Lastly, @asiloisad mentioned this, and it has been brought up before, a good system of allowing the community to moderate may be the most valuable thing to place time in when it comes to this space. As that would allow the community to determine when a package is broken, or archived, and this would be something I'm rather interested in pursuing.


But please let me know your thoughts further, or feel free to create any feature requests for the above if they don't exist when you read this. But if there's other solutions we haven't yet considered, I'm interesting in what options the community feels may exist. Thanks again for contributing

asiloisad commented 10 months ago

@confused-Techie thank you very much for keep alive all old packages of atom store, they are essential for pulsar after all 🍺 I know a filters has been mention up long time ago, but it will be a game changler while searching for this one package 🙂

iamh2o commented 9 months ago

Holy smokes :: I very much appreciate the quite thorough response @confused-Techie !

Is it possible this isn't made clear?