DEV Community

Yusufhan Sacak
Yusufhan Sacak

Posted on

I shipped a fix. The PR got closed. And that’s exactly how open source works sometimes 🙂

Recently, I worked on an open-source contribution where I:

  • Fixed a real production issue
  • Added unit tests
  • Handled edge cases
  • Opened a clean, production-safe PR

…and it still got closed.

Not because the code was wrong.

But because product + growth decisions beat engineering.

That’s open source in real companies.

PR for context:
https://github.com/triggerdotdev/trigger.dev/pull/3014


The problem

The issue looked simple:

A user deletes their last organization
…but they still receive marketing emails.

Root cause:

Their contact remains in Loops (the marketing platform).

From an engineering perspective, the solution felt obvious:

If a user has zero organizations → remove them from Loops.

So I implemented exactly that:

  • Added deleteContact() to LoopsClient
  • Wired it into the org deletion flow
  • Guarded it so it only runs when the last org is deleted
  • Treated 404 as success (contact already gone)
  • Added unit tests
  • Covered edge cases

Clean. Deterministic. Production-safe.


The result?

PR closed 😄

Not due to code quality.

The maintainer explained:

Deleting an organization is not the same as deleting a user.
Marketing should be tied to the user, not the organization.
They don’t yet have a full automated account deletion flow.

And then the most startup sentence ever:

We currently do this manually when users contact us.

🙂


What actually happened

I assumed:

System exit → no more emails.

They’re operating on:

Org deleted ≠ user deleted ≠ lead lost.

This wasn’t an engineering disagreement.

It was a product + growth decision.

Classic SaaS.


Important distinction

This wasn’t a bad PR.

This was a:

Product decision override.

The code was fine.
Tests were there.
Edge cases handled.

But the funnel mattered more.


The real win

Even without a merge, I gained:

  • Experience navigating a production codebase
  • External API integration
  • Testable client abstraction
  • Edge-case driven design
  • Maintainer feedback
  • A glimpse into startup product reality

That’s value.


Takeaway

Open source isn’t just about code.

Sometimes you learn:

  • How GDPR gets postponed
  • How growth beats engineering
  • How a “bug” can be intentional behavior

And that’s part of the journey.


TL;DR

I fixed the bug.
The PR was closed.
It was a product call.

Still 100% worth it.

Top comments (0)