-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Current status ofreact-select
, how you can contribute and what the future looks like.
#3910
Comments
I know its less than ideal, but given the radio silence on this and other issues do we as the community make a temporary fork? I absolutely love this project as it has been a life saver at work and I'd hate to see it rot. |
There are already a lot of people that fork the library to get their features in. For example one of the forks is actually used by Grafana and therefore has a lot of weekly downloads. I think making a temporary fork is the good way to go for now. It would stop people having to fork the library themselves and it would continue the development of the project. When the current maintainers start being active again we could contribute back to this original project and stop the temporary fork. It should be made clear from the start that the fork is temporary. How can we make a temporary fork work for everyone? Are there examples of libraries that have been at this stage before so we can learn from their experiences? Who wants to contribute to this? |
Sadly I have to agree with you, there does not seem to be another way. Actually I have already started working on setting up a fork yesterday after @BrandonKowalski's message. It turns out it's a lot more complicated than just forking it, changing the name and running Check out my fork
My main goals:
I will post this in more detail as soon as possible, just wanted to post a quick heads up here so you know I'm already working on the solution. Also any discussion is welcome on the Issues page on my repo, come over, check it out, share your thoughts, lets build this together! |
Good to hear that you already started the work. I wanted to nominate you already as the one to kick off this process, but I didn't want to put you on a spot where you had to do some work while maybe you didn't want to or didn't have time for it. I will have a look and open an issue if I think there is something that is worth discussing. |
Woo! Please let me know how I can help. I total agreement with @Tirzono on merging back to mainline once it becomes active again. |
It looks like there's some activity now again from the maintainers. This pull request got merged: This is good news, because it would be great if we don't have to fork the library. I am not sure if the maintainers are aware of this issue thread, so I'm pinging them here: @JedWatson @mitchellhamilton |
Oh wow, that'd be great news. Hopefully they'll jump on the rest of the PRs, especially your focus-bugfix, which is a long-awaiting fix. |
Hey everyone! Thanks for your patience and being considerate in bringing this up. This is the best part about OSS community. Rest assured, there's going to be more activity in the repo going forward. As to how you can help — there are an overwhelming amount of issues in the repo at the moment. We are getting through them one at a time. A handful of issues are either legacy version issues that's already been fixed or users asking for directions in implementation or clarification about the docs. If you find any issue that could be closed, feel free to tag me in the issue and I'd be happy to jump in and close. We could use as much help as possible to get the stale issues out of the way. |
Thank you for you reply @flexdinesh, I tagged you in one of my pull requests. Out of curiosity: did you join the react-select team recently or are you taking over stuff? I am happy to see some activity. If that would mean we don't need a fork at all then I would be even more happy. |
Hey @Tirzono, I just joined the team recently and will be helping other maintainers maintain this amazing lib. Feel free to tag/nudge me in issues and PRs and I'd be happy to help wherever I can. re: tag — I saw the PR. I'm still catching up on stuff. I'll get to it as soon as I can. 🤞 |
Happy to hear you are helping the other maintainers. There's no rush on the PR, feel free to look at it whenever you have time. If you need any help (such as help with reviewing) then don't hesitate to ask, as I think more people would be willing to have a (first) look at current open PR's. Thank you for spending your time on this awesome library 🙏 |
@flexdinesh Would it be possible to get this issue pinned, so that others can easily find it and know where things are at? Currently the state of the issues/etc makes it feel unmaintained, but if this was pinned it would be easier to know that it's just in a state of flux/catching up. I'll also link this comment from @razh here for visibility: #3720 (comment)
|
react-select
still maintained? How can we contribute?react-select
, how you can contribute and what the future looks like.
Hey @0xdevalias! It's a good idea and we've edited the title and pinned the issue now. We can use this to track maintenance status moving forward. |
👋 Hi everyone, I wanted to introduce @bladey who's also started helping get issues and PRs into shape with @flexdinesh, @gwyneplaine and myself. You might notice we have several hundred less open today than we did yesterday, and will keep working through them to wrestle things under control. Something I've noticed over time with react-select is people do get in and help ❤️ but it's a challenging project and people tend to burn out after a while because of the sheer volume of issues, support, and complexity. So we're hoping that with a few of us now to pass the baton between, we can do a better job of staying on top of things. In terms of plans from here, @mitchellhamilton contributed a significant rewrite of our tests not too long ago which was blocking some updates we'd like to make (hello hooks) and now we're making a concerted effort to review all the current open issues and PRs before we embark on any major code changes that would invalidate fixes people have contributed already. When that's done, I'm really keen to get into the core and start teasing out the complicated logic into a cleaner hooks-based implementation which will probably result in a new major version with some other improvements we've got planned (including shipping an unstyled select without the default theme, some performance improvements, and other ideas that we'll experiment with) Another thing is the website and docs are... pretty comprehensive, but hard to comprehend. So that's on the radar to improve. And finally flow is starting to feel like maybe not the best choice at this point in time, and I suspect that while we're refactoring the project to use hooks we'll probably look at converting to TypeScript. So I hope that gives everyone a good update on what we're planning to do. As we get closer to getting issues and PRs down to a really small number, we'll open issues for discussion about the next series of changes I've described. (we did this "triage then evolve" process for v1 before v2 as well, thanks to a herculean effort by @gwyneplaine, and it was exhausting but effective) In the meanwhile, with regards to:
It's really tricky unless you've got all the context. Some things that seem safe and obvious aren't, so when we assess an issue or PR we're really starting from scratch reviewing it every time unless they come from someone we know has a lot of experience working on the project. However, there are a lot of things more advanced users can help us do to keep things in check, providing detailed comments on pull requests, and solving issues that already have answers. What the project needs more than anything else is open source gardeners - people who can help us keep things under control and spend our time on the most important issues and PRs (which are currently lost in the noise) For example, tonight I resolved several including #3775 which I'm sure many people could have done just as good a job on, especially people who are experienced with the project. A great example of helpful gardening is @razh's comment on #3720 explaining the reason a lifecycle warning issue has been closed, and @eugene1g's comment on #4036 pointing at the same. This sort of thing is really helpful 🎉 Every issue that we go to review that already has a correct solution, or PR that has a comprehensive explanation of what's going on, is a small but meaningful win and lets us focus on pushing the project forward. |
Oops, did not actually mean to close this, I've been pressing that button a lot tonight 😅 I might leave it closed though as hopefully I've answered enough, and everyone can see the activity has picked up after some time away. We'll leave it pinned for a while though, and don't take the close as me shutting down the conversation. |
@JedWatson @bladey Per #3389, I've started working on porting this project to TypeScript. You can see the progress I've made so far here: master...Methuselah96:typescript (Edit: now here: master...Methuselah96:typescript-final). I'll open a PR when it's ready. |
@JedWatson @bladey I'm thinking that it will make sense to convert the Also would you prefer one large PR that converts the entire |
Thank you both @JedWatson and @bladey for closing most of the issues. It was something that made it hard to identify existing issues vs implementation questions/feature requests. As someone who has played a role as a very minor part time role as an open source gardener, I have been wondering if there would be community interest in having some kind of gallery or cookbook for different I read so many requests for things I have personally had to solve (floating labels, checkbox multi-select, multi-select displayed as sorted comma separated single value ty for the long awaited index prop btw, making a selected option text editable, group filtering, nested lookup options, etc...) That said, are there considerations for something like a react-select gallery where people can showcase certain styles, solutions, or functionality in a collective manner? This could possibly help manage the influx of questions and feature requests while helping fellow developers from reimplementing the wheel.js or simply moving on to try a different fork/repo instead. If not, would there be any objections to open sourcing this so that the community can share what they build? |
@ebonow I love that idea! we should definitely add that as a page to the site (could probably replace/expand on the current "experimental" section of the advanced page) |
@JedWatson What would you think about giving @ebonow Triage permissions to help keep the issues clean? He's been consistently active and has shown that he knows his way around the library. |
I would be happy to help triage. Additionally, it is somewhat ironic that I was composing a post of discussing when we can expect a new update. There are several known issues regarding bugs, feature requests, and documentation clarifications. I have a list I would love to share and get feedback on that I compiled from the many pages of existing issues, but most importantly, the last release was 6 months ago this week and it should be possible to schedule the time to make a minor version bump whether it be 3.1.1 or 3.2. Either way, a roadmap would go a long way in knowing what's actually being addressed/ignored and when. Also, it's not clear how far underway version 4 is, and no doubt that replacing Flow/Class components with Typescript/hooks is not an easy undertaking, but having a WIP branch should make it possible to add any new features to both existing and future versions. That's all to say, I am happy to help and keep this project moving forward. |
@ebonow Thanks for all your hard work on the issues so far and I agree with everything you said. @JedWatson First of all, I want to thank you for building react-select and also for your status update above. I mean nothing but respect for the work you’ve done and recognize that you have no obligation to the community to continue working on this project. The plans that you’ve listed above sound really good and @bladey did a great job of cleaning up the issues to make them more manageable. However, it seems most important at the moment to continue support for the current version of react-select and release critical patches that allow users to continue using the latest version without issues or having to fork their own version. In order to do this, there needs to be someone with Write privileges and the ability to publish the package who could consistently devote just a couple of hours a week or even a month to merge in and release the most critical bugs and feature requests. If it would be helpful, the community could help compile and vote on the most critical issues/PRs to get through in the next release and this would hopefully make it very easy to publish a release and only include the most important fixes. Lastly, I understand that this project is funded by Thinkmill and Atlassian. It seems like the only people who have Write privileges are people who work at Thinkmill. Do you ever plan to allow community members to become maintainers? |
It has been a while. How about cutting a release? |
@JedWatson Is there any plan? There are people who would like to help, but they have no reply. In your talk, you say you don't understand why people can not be just nice to each other, why they blame you. But you know... it's pretty hard to be nice when somebody creates library you start to use and then when you have problem the author's reactions are as slow as turtles or none at all. You're stuck and can do nothing but hacking existing code – but even if you know how. That's frustrating and just step away from not being nice. I understand you have family and it's good you do not exchange it for work. I do have family too and it's really time consuming. I know I could not do anything beside my regular job, so I understand the cause of this state. But couldn't you just pass the project to people who have time for it? Or at least the technical management of the project? It would save time and energy of many and "niceness" would be a secondary effect undoubtedly. Thanks for considering. |
EDIT: 🎉 I've archived the fork now that we've got some momentum in this repo and Jed is involved again. Sorry for the disturbance! |
@Methuselah96 It´s nice that you are trying to keep this active, but spamming every open issue / PR is not the way to spread the message. |
@Rall3n My apologies if the comments on the open issues/PRs were not helpful. My goal was to post in issues and PRs where many people seem frustrated with the lack of a solution and were asking for updates (which only turned out to be about 22 (out of 328) issues and 12 (out of 79) PRs; I did not post it in every open issue/PR). I didn't know how else to spread the message except to add it as a comment in the places where it seemed relevant, since not everyone is subscribed to this issue or the repository as a whole and are likely only subscribed to the issues they care about. |
Happy Anniversary! It's been one year since this issue was created. It was this thread that opened up a conversation that has led to where we are today. I return to this because I am proud of the work that's been done and relate to the frustration and confusion that so many had. Ultimately, it was Jed's reply that had me become more active. So it's with this irony of dates, that I come to return bearing what stands as the current status of react-select:
And there is still work to be done.
Thank you @JedWatson for being receptive and making time to allow this to continue to grow. I know we're all excited to see where this goes. @bladey , @Rall3n , @Methuselah96 thank you all for your support, issue replies, PRs, and collaboration! To the community, thank you for being patient. Looking forward to co-creating! |
Thank you for all your hard work @ebonow! |
Right now we have 97 open pull requests, some important bugfixes, some interesting new features.
Among these pull requests there are numerous that have been open for more than about half a year, without any sort of feedback. See #3666 (feature), #3633 (bugfix), #3669 (bugfix) just to name a few. In the meanwhile, there was a single (refactoring) PR accepted in December, and we didn't get even a patch release out for 4 months (see npm).
These pull requests would also close down many of the 1200+ open issues, some of which are repeated bug reports. (About issues that we already have fixes for, standing in the PR queue for months.)
I understand that maintaining high-usage open source projects is hard, and it takes a lot of time.
Therefore I would like ask the question: How can we help?
It looks like PRs are not helping much, comments and reactions on them neither. I really would like to get this project going as it is essential for myself, my company, and in my opinion the React community as a whole.
I am trying to avoid having to fork the project, because that creates a hard division line, but right now it seems like this is our only option to move forward, hence my question here. If you are in the need of a maintainer, I can happily help, and I'm sure other experienced engineers can, too. Or if we can provide support in a different way, let us know, I believe many of us are open to contribute, just not finding the means right now.
The text was updated successfully, but these errors were encountered: