Skip to content

Add durable Redis comments, Ko-fi tips, and Buy-first content - #17

Merged
ZulTheDev merged 16 commits into
mainfrom
feat/redis-kofi-buy-first
Oct 6, 2026
Merged

ZulTheDev merged 16 commits into
mainfrom
feat/redis-kofi-buy-first

Conversation

@ZulTheDev

Copy link
Copy Markdown
Owner

What this adds

  • Make Redis the authoritative store for public comments when configured.
  • Migrate existing server/comments.json records into Redis on server startup.
  • Add a Redis per-device comment index and atomic comment writes.
  • Stop silently reporting disk persistence when Redis is unavailable; public/admin comment APIs now return an explicit persistence error unless ALLOW_LOCAL_COMMENT_FALLBACK=true.
  • Add Ko-fi webhook storage for tips and Shop Orders in Redis.
  • Add a local-admin Ko-fi & Buy-first editor.
  • Keep Buy-first protected content private in Redis; publish only card metadata to client/public/content.json.
  • Add purchase verification by Ko-fi transaction ID + purchase email and short-lived/renewable access tokens.
  • Add public Tip via Ko-fi and Buy-first purchase/unlock UI.
  • Document KO_FI_VERIFICATION_TOKEN, Redis, and access TTL environment settings.

Required deployment configuration

REDIS_URL is required for shared durable comments, Ko-fi event storage, and Buy-first verification.

KO_FI_VERIFICATION_TOKEN is required for the Ko-fi webhook.

Configure the Ko-fi webhook endpoint as /api/kofi/webhook on the deployed API.

Notes

Ko-fi's current API integration is webhook-based for payment events, so the public tip action opens the creator's Ko-fi page while the backend records the resulting payment webhook.

No R2, DeepSeek, Astro, CTF writeup, or existing comment UI functionality was removed.

@ZulTheDev
ZulTheDev merged commit 22d9176 into main Oct 6, 2026
1 check failed
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.

1 participant