Skip to content

docs: fix broken star history chart in README - #3293

Open
FaintFlower wants to merge 1 commit into
ultraworkers:mainfrom
FaintFlower:fix/star-history-chart
Open

docs: fix broken star history chart in README#3293
FaintFlower wants to merge 1 commit into
ultraworkers:mainfrom
FaintFlower:fix/star-history-chart

Conversation

@FaintFlower

Copy link
Copy Markdown

The README star history chart is currently broken due to the GitHub stargazer API restrictions. This switches the chart to a working alternative at star-history.dera.page, restoring the visual so the project's growth is displayed correctly again.

The star history chart in the README is currently broken because the GitHub stargazer API is restricting access. Point the chart at the dea.page mirror so it renders reliably again.
@1716775457damn

Copy link
Copy Markdown

Good fix — the GitHub stargazer API limitation does break the chart silently. Swapping to the dera.page alternative restores the visual without maintaining our own data pipeline. One thing worth verifying: the alternative service may have some cache delay before it picks up new stars, so the chart could briefly lag for a few days after this merges. That's an acceptable trade-off for a stable README badge.

@1716775457damn

Copy link
Copy Markdown

Reasonable fix, and the diagnosis matches: the stargazers endpoint requires auth and is aggressively rate-limited, which is why these charts tend to fail intermittently rather than hard-fail — pinning to a renderer that handles that is the pragmatic call.

One thing worth considering for the longer term: an externally-hosted SVG turns every README render into a third-party request, so the chart breaks again whenever that host has an outage or rotates its URL scheme, and it exposes viewer IPs to it. Generating the chart on a schedule in a workflow and committing the image into the repo (or rendering via gh chart) keeps it on GitHub's CDN behind a relative path — no runtime dependency, and no re-break the next time a community instance changes hands.

Not a blocker for this PR, just worth tracking if it breaks a second time.

@1716775457damn

Copy link
Copy Markdown

One practical follow-up on the external-renderer dependency, whichever way this lands: the chart URL embeds the repo path, so a future rename or transfer of this repo silently turns the chart into a broken image with no CI signal at all.

Two cheap guards, in increasing order of effort:

  1. Give the image real alt text plus a caption with the plain repo name, so a failed render degrades to readable text instead of an empty box.
  2. Add a scheduled workflow that requests the chart URL and opens an issue when it stops returning 200 with an image content type. That turns the README looks broken and someone notices months later case into an actionable signal, and it also catches the host rotating its URL scheme, which is more likely than a full outage.

If the chart is later generated and committed locally, the same check can assert the committed asset is not stale.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants