<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ankur Dubey</title>
    <description>The latest articles on DEV Community by Ankur Dubey (@ragedpanda).</description>
    <link>https://dev.to/ragedpanda</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1058631%2F2d84724d-8124-4507-bd6a-010c80f8dcf7.jpeg</url>
      <title>DEV Community: Ankur Dubey</title>
      <link>https://dev.to/ragedpanda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ragedpanda"/>
    <language>en</language>
    <item>
      <title>Stop fixing GitHub issues someone already fixed</title>
      <dc:creator>Ankur Dubey</dc:creator>
      <pubDate>Thu, 22 Oct 2026 18:48:38 +0000</pubDate>
      <link>https://dev.to/ragedpanda/stop-fixing-github-issues-someone-already-fixed-3m1m</link>
      <guid>https://dev.to/ragedpanda/stop-fixing-github-issues-someone-already-fixed-3m1m</guid>
      <description>&lt;p&gt;You find an issue that looks open. No assignee, no linked PR, a clear bug report. You spend an evening on a fix, open a PR, and then learn that someone else already has one waiting in review.&lt;/p&gt;

&lt;p&gt;This happens a lot, and it isn't carelessness. A GitHub issue page doesn't reliably tell you whether anyone is working on the issue. It misses that work in at least five ways.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The PR never links to the issue
&lt;/h3&gt;

&lt;p&gt;An issue page lists a PR only if the PR says "Fixes #80" or the author links it by hand. Many PRs do neither. The issue looks untouched while a fix sits in review.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The project moved
&lt;/h3&gt;

&lt;p&gt;Libraries often move into a monorepo or a new org. The old issue stays open, the fixes are opened in the new repository, and the old issue page can't see them.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Claims live in the comments
&lt;/h3&gt;

&lt;p&gt;People write "I'd like to work on this" or &lt;code&gt;/assign&lt;/code&gt; without ever being assigned. You only find out by reading the whole thread.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The maintainers already said no
&lt;/h3&gt;

&lt;p&gt;Somewhere in the thread there's "won't fix", "duplicate of #…", or a label like &lt;code&gt;needs discussion&lt;/code&gt; that blocks outside work for now.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. The project doesn't take outside PRs
&lt;/h3&gt;

&lt;p&gt;The issue is free, but nobody outside the core team has had a PR merged in a year. Your fix will sit there.&lt;/p&gt;

&lt;h3&gt;
  
  
  A real example
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/date-fns/tz/issues/80" rel="noopener noreferrer"&gt;date-fns/tz#80&lt;/a&gt;: &lt;code&gt;tzOffset&lt;/code&gt; gets the sign wrong for offsets between -01:00 and 00:00. On the issue page it looks open and free. In fact:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the project has moved to &lt;code&gt;date-fns/date-fns&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;two open PRs there already fix it (&lt;a href="https://github.com/date-fns/date-fns/pull/4314" rel="noopener noreferrer"&gt;#4314&lt;/a&gt; and &lt;a href="https://github.com/date-fns/date-fns/pull/4279" rel="noopener noreferrer"&gt;#4279&lt;/a&gt;), and neither mentions issue #80;&lt;/li&gt;
&lt;li&gt;the last outside PR was merged 14 months ago.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of that shows up on the issue page. Checking by hand means searching PRs in two repositories, reading every comment and looking at the merge history, for every issue you're considering. Most people skip it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Automating the check
&lt;/h3&gt;

&lt;p&gt;I wrote &lt;a href="https://github.com/RagedPanda/gh-claimcheck" rel="noopener noreferrer"&gt;gh-claimcheck&lt;/a&gt;, a GitHub CLI extension that runs these checks and gives a verdict: &lt;strong&gt;GO&lt;/strong&gt;, &lt;strong&gt;CAUTION&lt;/strong&gt; or &lt;strong&gt;SKIP&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ gh claimcheck date-fns/tz#80
! An open PR looks like the same fix
  date-fns/date-fns#4314: Fix tzOffset returning the wrong sign for sub-hour western offsets
! An open PR looks like the same fix
  date-fns/date-fns#4279: fix(tz): correct tzOffset sign for negative offsets of less than an...
! Project has moved to date-fns/date-fns
! The last outside PR was merged 14 months ago
✓ Issue is open
✓ Nobody is assigned

CAUTION An open PR looks like the same fix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It looks at linked and referencing PRs, PRs with similar titles (ranked by how close they are), "moved to" notices in the README, claims in comments, maintainer pushback, blocking and welcoming labels, who wrote the last 40 merged PRs, and the project's contributing guide and AI policy. Your own claims and PRs never count against you.&lt;/p&gt;

&lt;p&gt;It's read-only: it never comments, assigns or opens anything, and it uses your existing &lt;code&gt;gh&lt;/code&gt; login.&lt;/p&gt;

&lt;h3&gt;
  
  
  Finding issues, not just checking them
&lt;/h3&gt;

&lt;p&gt;Two commands go the other way and look for issues that pass:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Beginner-friendly Go issues that come out GO&lt;/span&gt;
gh claimcheck find &lt;span class="nt"&gt;--good-first-issue&lt;/span&gt; &lt;span class="nt"&gt;--lang&lt;/span&gt; go &lt;span class="nt"&gt;--go-only&lt;/span&gt;

&lt;span class="c"&gt;# Open, unclaimed issues in the libraries your project already uses&lt;/span&gt;
gh claimcheck deps &lt;span class="nt"&gt;--check&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;deps&lt;/code&gt; reads your manifests and lock files (npm, PyPI, Go modules, Cargo, Maven/Gradle, RubyGems, Composer, pub, Hex, NuGet, Swift, GitHub Actions, Docker and more), finds each library's GitHub repository, and searches them. This is often the best place to contribute: you already know the library, and you can test the fix in your own app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limits
&lt;/h3&gt;

&lt;p&gt;Claim and pushback detection read plain-English comments, and title matching is fuzzy. A CAUTION means "go and look", not "don't". When in doubt, ask on the issue; maintainers almost always prefer that.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try it
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gh extension &lt;span class="nb"&gt;install &lt;/span&gt;RagedPanda/gh-claimcheck
gh claimcheck &amp;lt;issue-url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's MIT licensed, written in Go, with prebuilt binaries for macOS, Linux and Windows. Issues and PRs are welcome, and false positives are especially useful to report.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>go</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
