mattyandClaude Opus 5.5 32b088a2d8 Next.js 16.4.0: clear published security advisories
next 16.3.6 -> 16.4.0, eslint-config-next 16.3.6 -> 16.4.0 (exact pins kept).
React unchanged at 19.2.8 (satisfies next 16.4.0 peer range ^19.0.0).

Advisories cleared: 6 against next 16.0.0-16.3.7, none critical:
- high: SSRF in Image Optimization
- moderate: cache poisoning of SSG/ISR pages (self-hosted)
- moderate: SSG/ISR cross-user content substitution and persistent DoS
- moderate: use cache fill leaking Draft Mode content
- moderate: metadata image routes dynamicParams bypass
- low: dev server MCP endpoint information disclosure

Verification: tsc, eslint and next build clean before and after; next start
served / 200, /favicon.ico 200, /_next/image 200, unknown route 404, no
server errors. Chrome at 1280 and 390: no horizontal overflow, no console
errors. npm audit --omit=dev: no next advisories remain.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015TH5RRwUukmnBav9aoro9S
2026-10-09 23:52:19 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00
2026-09-29 14:47:51 +00:00

FediFund

Donations for fediverse instances. One-off gifts and monthly support in one place, a live funding goal on your instance, and supporter badges on your members' profiles.

FediFund is a drop-in replacement for Patron. Frontends that already show a Patron funding bar (Soapbox, Nicolium, Aeon) work with FediFund without any changes.

Status: early development. Nothing here is ready to take real money yet. Watch the repo or check back soon.

What it does

  • One-off and monthly donations from a single donate page. Donors choose an amount and whether it repeats.
  • Funding goals your frontend can display, like "$340 of $500 this month".
  • Supporter badges. Donors sign in with their fediverse account, so your frontend can mark them as supporters.
  • Fast and reliable totals. FediFund keeps its own ledger, updated by the payment processor as payments happen. Totals come from that ledger, so a busy instance never has to wait on the processor for a number.
  • Minimal data. The ledger stores amounts, dates, processor reference IDs, and the donor's public fediverse address. Names, emails, and card details stay with the payment processor and never reach your database.

How it fits with your instance

FediFund runs as its own small service. Your web server forwards /api/patron/ on your instance's domain to it, so frontends find it at the same address they already use.

https://your.instance/api/patron/v1/...  ->  FediFund
https://your.instance/...                ->  Pleroma

API

Legacy (Patron-compatible)

These match Patron's responses exactly, so existing frontends keep working.

Endpoint Returns
GET /api/patron/v1/instance Current funding total, supporter count, and goals
GET /api/patron/v1/accounts/:ap_id Whether an account is a supporter

Current

A richer API for frontends that want more (donation history, supporter tiers, one-off and monthly totals shown separately) is being designed. It will be documented here once it is stable.

Moving from Patron

A migration guide is planned. Here is the short version:

  1. Export Patron's users table (it links each fediverse account to its payment processor customer).
  2. Import it into FediFund.
  3. FediFund reads your existing monthly supporters from the payment processor and fills in its ledger.
  4. Point /api/patron/ at FediFund instead of Patron.

Your supporters don't have to do anything, and their monthly donations continue without interruption.

Development

Requirements: Node.js 20 or newer.

npm install
npm run dev

Then open http://localhost:3000.

Configuration, database setup, and payment processor setup will be documented as they are built.

License

To be decided.

S
Description
No description provided
Readme
281 KiB
Languages
CSS 49.6%
TypeScript 44.3%
JavaScript 6.1%