Handle contributor API failures with Effect#17

merged
main
effect-error-handling
opened18d agobySscreen-gd
View on GitHubRepository sync pausedPR last imported 8d ago

What changed

  • Add Effect TS to both package lockfiles.
  • Handle GitHub contributors request, HTTP, JSON, and schema failures through Effect while preserving the existing unavailable state.
  • Validate contributor data before rendering and log failures on the server.

Verification

  • npm run build
  • npx tsc --noEmit
  • node --test --experimental-strip-types lib/github-contributors.test.mjs (Node 24)
  • git diff --check

Effect handles this external data boundary. It does not automatically catch unrelated React or browser errors.

Checks

All checks passed
Sscreen-gdopened·18d ago
V

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated
External image colReady ReadyPreviewSep 26, 2026 2:21am UTC
C

[!WARNING]

Review limit reached

Next included review available in 6 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 5d629421-91fd-447b-acc0-190e24a92e4d

📥 Commits

Reviewing files that changed from the base of the PR and between 7d2a2221496bb601a3ee86ac7209cc36f8992437 and 6987b509414a5f39395a55abf789a1d1fd90baa9.

⛔ Files ignored due to path filters (2)
  • package-lock.json is excluded by !**/package-lock.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • app/contributors/page.tsx
  • lib/github-contributors.test.mjs
  • lib/github-contributors.ts
  • package.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.