Skip to content

Meta: silence delayed TODOs - #9538

Merged
fregante merged 8 commits into
mainfrom
copilot/turn-expiring-todo-comments
May 20, 2026
Merged

fregante merged 8 commits into
mainfrom
copilot/turn-expiring-todo-comments

Conversation

Copilot AI commented May 20, 2026 •

Copy link
Copy Markdown
Contributor

Copilot AI changed the title Normalize dated TODOs to unicorn/expiring-todo-comments format Normalize dated TODOs and enable unicorn/expiring-todo-comments warnings May 20, 2026
Copilot AI requested a review from fregante May 20, 2026 08:16
Comment thread source/features/linkify-text.tsx Resolved
Comment thread eslint.config.js Resolved
Copilot AI requested a review from fregante May 20, 2026 08:41
@SunsetTechuila

SunsetTechuila commented May 20, 2026 •

Copy link
Copy Markdown
Contributor

This is much less readable for me. Anyway, what's the benefit? Feels like that rule that requires comments to begin with a capital letter

@fregante

Copy link
Copy Markdown
Member

The benefit is that we have a million TODO comments that cannot BE DONE today, completely overshadowing those that can. I had to disable the "todo" eslint rule because each eslint call would print 100 lines of noise.

At this point I'm not even sure what TODOs we have in the repo because the vast majority of them are just reminders for later this year.

What's the purpose of a comment you can read but can't act on? With this rule we'll actually be notified of the comment once it's ready to be acted on. They won't even be underlined yellow in the IDE, so you'll know you don't have to read them.

@fregante

fregante commented May 20, 2026 •

Copy link
Copy Markdown
Member

It is true that "Drop in October 2026" is better than "[2026-10-01]: Drop" but the former shows up as a warning in the IDE, taking your attention, the latter does not.

So in a way it's the opposite of the capitalization rule, because it reduces the noise.

If I look at the lint step now, I can see that there are 19 issues we can address today. I'd like to merge this PR and then immediately address them or postpone their dates.

@fregante fregante changed the title Normalize dated TODOs and enable unicorn/expiring-todo-comments warnings Meta: silence delayed TODOs May 20, 2026
@github-actions github-actions Bot added the meta Related to Refined GitHub itself label May 20, 2026
@fregante
fregante marked this pull request as ready for review May 20, 2026 14:09
}

// Legacy PR files view -- TODO: Drop after it is removed
// TODO [2027-01-01]: Drop after legacy PR files view is removed

@fregante fregante May 20, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also set "2027" as a date for legacy PRs since we certainly won't be able to drop it before then (today + 6 months).

When the comments expire, we can review and delete or postpone them again by changing 1 character.

The advantage is that our lint step now prints 0 lines (other than the expired comments that I will address in the followup PR)

Ain't that better?

@fregante
fregante merged commit b0395aa into main May 20, 2026
14 checks passed
@fregante
fregante deleted the copilot/turn-expiring-todo-comments branch May 20, 2026 14:13
Comment thread eslint.config.js
// https://github.com/refined-github/refined-github/issues/9496
// TODO: Too many. Too noisy. Re-enable after resolving some.
'no-warning-comments': 'off',
'unicorn/expiring-todo-comments': 'warn',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I just noticed this. This is great, I agree 👍

Date parser could be smarter, though.

@fregante

Copy link
Copy Markdown
Member

I ended up removing warnings altogether after this discussion: sindresorhus/eslint-plugin-unicorn#1207 (comment)

No more lint output, no more expiring-todo-comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

meta Related to Refined GitHub itself

Development

Successfully merging this pull request may close these issues.

3 participants