antfu-collective/sponsorkit

OpenCollective subscriptions don't expire

fb55 opened this issue ยท 4 comments

fb55 commented

Describe the bug

sponsorkit fetches the members of a collective on OpenCollective. This includes previous sponsors that are no longer active.

Additionally, the monthly amount is also off:

On OpenCollective, it is possible to change the amount associated with a tier on OpenCollective (unlike GitHub Sponsors, which requires tiers to be retired to change their amounts). The currently logic will return the current amount of the tier, not the amount actually payed by the sponsor.

If a sponsor didn't pay as part of a tier, then the total amount contributed by that sponsor is returned as the monthly price, which will lead to a much higher placement in the tiers.

The same applies to individual accounts (#32).

Reproduction

Fetch sponsors for https://opencollective.com/cheerio

System Info

sponsorkit@0.8.2

Used Package Manager

npm

Validations

  • Follow our Code of Conduct
  • Read the Contributing Guide.
  • Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
  • The provided reproduction is a minimal reproducible of the bug.
fb55 commented

My suggested workaround is to always use orders, and only include active ones. Here is the relevant call in Cheerio's current implementation:

https://github.com/cheeriojs/cheerio/blob/20b29983cf937d0ff700cb642cc0453b208e208e/scripts/fetch-sponsors.mts#L73-L97

Note that this only includes public information, so the OpenCollective API key could be dropped.

I've encountered a similar issue.
Until it's resolved, I have to maintain the sponsors table in readme manually and use this tool only for GitHub Sponsors ๐Ÿ˜•

This issue could be fixed in the latest version by #58.

Awesome ๐Ÿ˜Ž