• dgkf@lemmy.ml
    link
    fedilink
    arrow-up
    56
    ·
    11 months ago

    I’ve been there, but over the years I’ve gotten better at avoiding being in this situation.

    If you are implementing something for yourself, and merging it back upstream is just a bonus, then by all means jump straight to implementing.

    However, it’s emotionally draining to implement something and arrive at something you’re proud of only to have it ignored. So do that legwork upfront. File a feature request, open a discussion, join their dev chat - whatever it is, make sure what you want to do is valued and will be welcomed into the project before you start on it. They might even nudge you in a direction that you hadn’t considered before you started.

    Be a responsible dev and communicate before you do the work.

    • kelseybcool@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      11 months ago

      Only after a fork of the original project takes off and due to some new dependencies no longer supports the suggested feature.

  • rwhitisissle@lemmy.ml
    link
    fedilink
    arrow-up
    10
    ·
    11 months ago

    And this is why I don’t contribute. Or at least I’ll ask a question about whether or not something would be a desired feature and if I don’t get a clear yes or no by someone who can actually approve a PR, I. ain’t. coding. shit.

  • mumblerfish@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    11 months ago

    It is a bit sad that reviewing takes a long time. I have had the same thing for a project, someone on the team pings someone to do a review, 2 years later you get a review saying you should rebase because the PR is too old. I get why; it takes people and time to review. It is sad though.

    • emptiestplace@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      11 months ago

      It seems like you are implying this is an obvious optimization, regardless of context. Why do we not care what’s going on with b?

      • orgrinrt@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        11 months ago

        Yeah, the two aren’t equivalent and the original has more conditions than the new one, so without context this just doesn’t make sense in this example.

        A is “” only when B is also “”, otherwise we return f()

        In the new one we simply say that regardless of what B is, we’ll just call f(), entirely skipping the case where B == “”.

        Probably this specific condition checking was moved to the inner scope of f(), but this example does not tell us (who don’t know the context) that. Or maybe the check is redundant, but that also isn’t signaled in any way.

        Or then maybe I’m just oblivious to the optimization, in which case I can see why the maintainer would take their time figuring that out. It’s not anything obvious based on that alone, at least to me, and I would say I have some experience in this field.

        Edit: But yeah this is basically just semantics, I’m sure they gave apt description in the PR, so the context would be explained there and none of this really matters. I just like to ruminate about little things like this for some reason. Didn’t mean to imply they didn’t do a good PR, just that this specific example was either confusing or confused.

  • spaphy@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    11 months ago

    If that’s happening to you that’s crazy. GitHub is way too noisy though. I get 30 notifications on that apps notification widget though for just bullshit I didn’t even know I signed up for or snyk or some other garbage.

  • Omega_Haxors@lemmy.ml
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    11 months ago

    That’s the fucking worst, when you put all this work into a free and open project only for the lead to be like “nah don’t like it”

    Free and Open as in, free to do the work for them and Open for it to be rejected for almost no reason.