Also, I am working on a PR for refactoring the travis and the CI process.
I have also set that all PR's need approval and should pass CI before being merged
Also, I am going to archive the clap_derive repo once I look over the existing issues and PRs and move them over to clap
And we need to plan for porting over the rest of structopt commits
Let's not lock nightly for clippy. We can remove that now
@DPC Any reasons for that? Shouldn't we have stable linting?
Also, What do you guys think about using http://bors.tech and https://dependabot.com
Stable is fine.
Bors is okay if you can set it up. Dependabot might be too noisy for now
Working on bors setup now.
I have made 2 milestones, 3.0 and 3.1 and will slowly triage issues
_slowly_
I'm getting a dozen clap notifications at a time :rolling_on_the_floor_laughing:
We live in exciting times :D
Btw, @CreepySkeleton I think we should open https://github.com/clap-rs/clap/issues/1387
Nevermind, I just saw that https://github.com/clap-rs/clap/issues/1569 is a duplicate of it
@CreepySkeleton Can you triage these 3 and see if you want to open them? https://github.com/clap-rs/clap/issues?q=label%3A%22W%3A+after+v3+release%22+is%3Aclosed. Thanks
And are you using the not sure
label as a personal marker of things you want to come back to?
And are you planning to work on https://github.com/clap-rs/clap/issues/1644? If not, please write what you meant by fixing the error messages in debug builds
Reading https://github.com/clap-rs/clap/issues/1485#issuecomment-581064984, looks like we should change the no_cargo
feature to cargo
and enable it by default. What do you think?
Yeah, not-sure
is some sort of "ugh, I don't get anything but I'll take another look later". You can take those issues if you want :slight_smile:
Regarding no-cargo
- good idea :+1:
Could you rename the label to P: CreepySkeleton
to mark it as your personal?
What do you think about renaming labels from L: name
to L-name
form? It's much easier to type label:C-subcommands
thanlabel:"C: subcommands"
.
Type where?
Btw, where are you using help wanted
lable? For easy stuff?
@CreepySkeleton Want your feedback on https://github.com/clap-rs/clap/issues/1603
type in github search
pasted image
help wanted
is for stuff where would like some help from others
good-first-issue
is for easy stuff
So, what about renaming labels? I would also propose to remove whitespace from all labels, e.g derive macros => derive-macros
It's easier to search by "Label" button than to write in search bar, isn't it? I know we are just bikesheding, but I really like the spaces in the labels :frown:
You don't need to do all that. On the right you can click the labels drop-down and choose what label you want to be filtered on
The thing is that sometimes I want more complex search queries, like -label:help-messages label:subcommand
, this cannot be achieved with drop-down lists AFAIK. I also use keyboard mostly and switching between it and the mouse is annoying.
It can :p yeah the mouse part is annoying though
You can do alt-click to exclude labels. But yeah, mouse is annoying
Btw, I am planning to get familiar with clap internals this weekend
I'd like if someone can work on the rustup aliasing issie
Yeah, I will be looking into how parsing happens and figure out the best way for this
What do you think about making different templates for issues and PRs? Like https://github.com/rust-lang/cargo/issues/new/choose
@DPC @pksunkara
Sure
I'm okay with it. Though we have a good template already just have to put it in the GitHub template
@CreepySkeleton Let's push for an alpha release soon. What are the important stuff left?
Wait
@pksunkara
?
I'll do the release in a few days. Need to go through it and do some checks. Also it will be a beta and not a alpha
Not a beta please. We still need to change yaml API which would be breaking
And what checks are we talking about?
It's fine if we break things.
@DPC What are the checks you were taking about? Is there something going in background we are not aware of?
Nope
Also, why do you insist on beta?
Just want to go through it once
I'm really hesitant to call it beta, honestly. Maybe, pre-beta?
We always had a beta in mind since months. I don't see much stuff changing to ask for an alpha release
We should do one final alpha release and then go with rc directly afterwards
then there is no difference between that and a beta
As long as we agree that we can break things if necessary, then I don't mind the beta. I want to finish this off before next CLI WG meeting
Sorry for the disappearance, I was hospitalized and had no access to the internet :frown: I'm getting back to work.
Holy crap, I hope you're alright now!
Sorry for the disappearance
Do you need to apologize? x)
@CreepySkeleton Hey, don't worry about it. You should take as much time as you need. :slight_smile:
@CreepySkeleton no issues. We understand. This is open source people disappear all the time :sweat_smile:
@CreepySkeleton Hope you recover soon. Take as much time as you need.
Come on, guys! I'm not dead yet, you won't get rid of me that easy!
@pksunkara don't release the beta yet.. wait :D
Wait for what? Please describe
as i said i need to check through things..
I don't get why you are being mysterious :wink:. Please tell us what things you want to check
nothing mysterious ;) just routine checks to see if we haven't missed anything or we can push more things into the beta :slight_smile:
@DPC We most definitely have missed something, but I don't see much point in postponing over and over. It's not like we're setting the API in stone and obligating to keep it from now on forever; I think we're just testing "the rough shape of it" and getting feedback.
@pksunkara Why did you want to push the release before the next meeting?
So, we can say clap is alive
And yes, I am already writing milestone for beta.2
Do they doubt it? :slight_smile:
No, but just things to tick off and call progress
Would it be fine for me to participate in the meeting without a microphone & camera? I'm curious what's going on out there.
Yup, it should be.
Most of it looks good to me. Though I don't see why we need another beta. I'm just trying to reduce the process here
A prerelease every 2 weeks should be okay
Uh not really
@CreepySkeleton Do you think you can finish this first and we can get it merged? https://github.com/clap-rs/clap/pull/1739. I want to start on the panicking prog-bugs. Also, what's the status of lifetimes PR? Are you stuck on something?
Workin' on it
I actually understand why Kevin didn't want to continue maintaining clap. There are so many people creating issues without reading the documentation.
that's not the reason :D
You know, I don't share this feeling. There's been about 20 such lost souls throughout the last 3 months which is almost none. Looking back at those issues, I have even been so nice to write descriptive answers instead of mere GTFO links to the doc, a clear indication that they never left me frustrated or otherwise upset. Well, except for few select ones where I put a sort of "AARG!!! will it ever end?" style jokes, but that was mostly because I was tired due to certain reasons unrelated to opensource and needed some place to blow off the steam to.
So, if you ever feel like that again, just tell them to fuck off employing all sorts of colorful epithets - it really helps, mind you - and then I'll come, riding a white horse (this is not a reference to cocaine!) and I'll save the day. Or I'll just come up with a few epithets of my own. We'll see.
The way that you're talking about foss maintenance makes me incredibly uncomfortable @CreepySkeleton . If you're in this kind of space where you want to "tell them to fuck off employing all sorts of colorful epithets" I really feel that you might want to step down from your position as maintainer.
It's not the user's fault if docs are not immediately accessible. And from experience, the clap docs are not great. There's a lot of it, but that's a problem because it makes people feel drowned in information.
Basically: there's a lot of toxicity in the dev space, and rust so far has been a good community because people understood that they were talking to people on the other end with feelings of their own. If you're not able to see that and make sure that your responses are friendly, even if you feel a bit frustrated, this project is going to go to nhit real fast.
Kevin wasn't able to maintain clap anymore because of time constraints, not because of the community. Maybe don't frame your own issues in a way that projects on someone else
Are there certain examples we could add? Could we trim down the issue templates into something more digestible (probably that mostly fits into the box on load so it doesn't seem so daunting)?
Times are super tough for everyone (and maybe a little harder for open source maintainers) and I want to make sure the rust cli space stays awesome
One solution regarding this I have been thinking is (other than the general documentation updates) updating the github issue template to include some links to some functions in docs (ex: conflicts, unless, etc..)
I think that might help, I can take a look and put in a PR to maybe clean up the templates and add links
This reply is going to be somewhat bitter, intentionally so. I do think that hate and near constant wishing to swear at people are essential and very useful parts of my mindset, and I want to try to explain to you the reasoning behind it. You may find it impolite, but every time I stay silent, someone else speaks in my place, so here we go!. Buckle up.
Communication between people is full of misunderstanding, and this is especially true for multinational communities. People talk different languages, they have different cultural backgrounds - oftentimes mutually offensive ones. The worst thing is, people don't make much effort to prevent it.
Look: we are in FOOS world. People come here with various goals: some want to learn and develop their own skills, some strive for the glory and fame as creator of the brand new Linux, lots of people just have fun because they like to code. The list is not exhaustive, but what unites all of these goals is that they are well intended. Jerks that want to troll or sabotage others' work do exist, but they are extremely rare, like, 0.1% or something. So, imagine you saw something that looks offensive to you. What is the the most sensible course of action, considering that the ill intend is very unlikely?
I think you should ask him "Dude, I'm not sure I get it right. Mind explaining what you meant, exactly?" Agreed?
Now listen. I'm 21, I've had a computer since 14. How many times do you think I've observed people in the Internet act this way? I mean, before they snap at each other. 19 times. Only ninety times in seven years. Yes, I've been counting, I've been spending a lot of time throughout these years online, in a huge variety of places. But, you may ask, what do people do instead?
They jump to conclusions.
Just look at the comment above: spacekookie had read my commit about imaginary scenario when I would want to tell people to fuck off (and I also suggested pksunkara to do the same since I think it helps cool down), she extrapolated it to the point that I was going to really do that, and she ended up with a polite suggestion to check if I want to keep performing as maintainer. Wonderful.
You know what, people? Here is the deal: pick any of my comments in the clap repo - there are plenty of them - and, if it happens to contain personal insults, I'll step down effectively immediately. I'll still be sending PRs against clap, I'll still be participating in clap-related topics. The only difference will be that you won't be being offended by a maintainer anymore, weren't you?
Now, let me get to my hate and my wishing to "tell people to fuck off".
It's genuine. I hate a lot of things from the bottom of my black wicket heart. And it's fine - no, it's splendid! - as long as this hate is tamed.
People are driven by emotions. They keep us going, keep us entertained, make us do something. Everybody experiences that - don't you wink at me, anonymous! You do, too. There is some kind of emotional drive behind most of my comments. What do you think I was thinking when I was writing those comments? "Kids should not be allowed in internet", or something along the lines. This one was backed by "WTF dude, are you blind or something? The doc is few clicks away". That issue was totally about "You're fucking reincarnation of Goldberg". See the point? That was what I was thinking, seriously (maybe not literally, but the intent is correct). Now follow those links and see what I actually wrote. Note that I try to ask again whenever I'm not sure I understood the problem.
To make this clear: I wasn't offended by any of those comments, not at all. The "first thought contains profanity" state is normal for me; it triggers hundred times each day. Actually, I've conducted a survey of sorts among my friends (which employed some amount of alcohol) and I've found that many of them feel the same; it's not just me. It's normal to feel miffed when you hear some nonsense (or you think so); what really matters is whether you react harshly or suppress the initial impulse and direct you emotions into something constructive.
"Creepy, why don't you work on your temper?" Why would I? What's the problem? Hate is the brightest emotion I've even known. It is also free. Hate is what makes my comments so elaborative because I hate ignorance and I understand it won't dissolve on it's own and I try enlightening people with all my might.
Do you know how I found my way to FOSS world? I was upset about proc macro 'structopt' panicked with "...", go figure out in which line of 200 it is
messages. With time, I started to hate them, sincerely, and this hate eventually turned into "I want it fixed no matter what". structopt
got nice error messages, others got proc-macro-error
- nice proc macro errors for minimal effort, I redirected my hate somewhere else. Everybody's happy, and all thanks to hate. Without being constantly kicked by a strong emotion, I wouldn't make up my courage to go open source.
Let's glue it together.
People complain that dev community is toxic (it's not just you, I've heard it a lot) and they tend to explain it with the lack of politeness. Like, using "thanks" extensively and replacing "What didn't you get?" with "Could you please explain what you didn't understand?" will magically improve the situation. Well yes, to some extent. But kind words will never fill the emptiness and lack of concern behind them. Does it help you when you hear "thanks to contacting our support!"? I bet not much since you need a solution to a problem, not "thanks".
When you see that some user posts weird stuff you find inappropriate, sinking your first impulse into reply will likely worsen the situation, and resorting to punishing will hurt immensely (recall the ActiX drama, which was based on misunderstanding). Give people some fucking credit! They probably didn't mean that bad. This is why projects "go to shit real fast", not because "responses aren't friendly", not only.
Dear God, I'm very dissatisfied with this humanity. Elon Musk, how much for a ticket to the moon?
please stop
@DPC It's been a month. Can I go ahead with the release now?
@pksunkara let's reduce number of open issues for 3.0 then we can: https://github.com/clap-rs/clap/milestone/76
@CreepySkeleton Hey, could you prioritise the public API thingy PR? Thanks.
Which one do you mean: delifetimizing (delifetiming? delifetimization?) or the interpolation API?
Will get to it on 10 (if I'm lucky) or on 11 (if not)
interpolation API (the getters/viewers)
@CreepySkeleton Hey, do you have any idea how to fix the String
to &str
problem in this PR? https://github.com/clap-rs/clap/pull/1813
I tried a lot of ways, but couldn't
(Too little, too late, I know)
Well, theoretically speaking, we could leak the String
, converting it to &'static str
, and wrap it with lazy_static!
so using clap_app
in loops doesn't leak unrestrained amount of memory. Just like it's done in structopt
@pksunkara Hey, have you removed your criterion
fork? clap
kind of depends on it :oops:
Hmm, it's still there, but cargo check claims it isn't
Nevermind, cargo clean
resolved this problem
On local computer?
Yes, on my local machine.
@CreepySkeleton Do you know if mingw is important? We are testing both msvc and mingw on windows. I am wondering if I can remove mingw testing because it takes too much time on CI
Would testing msvc be enough to understand that our library works on windows?
@pksunkara Mingw is important for many people building windows executables from Linux
yeah i'd leave it as it is, don't want to miss an important bug
Looks like Kevin is back. :party_ball:
@CreepySkeleton Can we look into https://github.com/jakobhellermann/cargo-watt/issues/3 so that we can use watt for clap_derive?
We need to get the syn
's watt
feature merged first, and then proc_macro_error
needs to add watt
feature which should enable syn
's watt
and replace proc_macro
with proc_macro2
I vaguely recall David said that watt is more a proof-of-concept that a real production-ready framework and it's not quite ready; but yeah, I can see the appeal. I'm not against it, but if we are going to try to live on the edge, we are going to need some extensive testing - on numerous platforms - before deciding it's mature enough and proceeding with 3.0 release.
For the record, we don't really need cargo watt
for that. It's just nice tooling that would help us to develop and release.
And the question of nightly-only features from proc_macro
stands. They simply don't exist in wasm (yet).
This breaks all nightly builds with watt.
I don't really see a dedicated feature as a viable long term solution. See https://github.com/jakobhellermann/cargo-watt/issues/3#issuecomment-634250108
Incidentally, there's some work on cross-shell completions out there: https://github.com/openautocomplete/openautocomplete
Very immature and work in progress though
We may also have to replace yaml-rust
with a fork, if it comes out. https://github.com/chyh1990/yaml-rust/issues/160
@CreepySkeleton Hey, I think this should be public. Can you confirm? It is being used by ArgMatches::indices_of
Yes, it should. And it is, isn't it?
No, It is not
Have anybody out there ever used Error::info
field?
@CreepySkeleton Let's get v3-docs
PR merged, then https://github.com/clap-rs/clap/pull/1998 and then https://github.com/clap-rs/clap/pull/1940.
And then we will do https://github.com/clap-rs/clap/pull/1976
@pksunkara So what about the "Refactor" PR?
Let's resolve it this week
@CreepySkeleton Are you working on any PRs right now? I am thinking of finalizing the Vec
issue in derive and the related multiple
issues
Am not, and won't be until the mid of September or something. I'm limited to just participating in discussions right now due to time constraints.
What do you mean by multiple
issues?
I mean the multiple_occurrences
and multiple_values
related issues
Well, how far are we from 3.0 stable?
The 3.x tracking issue haven't been updated for a while.
Check the 3.0 milestone
All of them needs to be done for 3.0 release
Ah I see.