Commit graph

109 commits

Author SHA1 Message Date
42652a02fe noisy webhook routes 2025-10-19 23:24:28 -04:00
832b0c393c build fixes 2025-10-19 18:21:18 -04:00
5e60cff6fa build fixes 2025-10-19 18:13:28 -04:00
2a4b3d4199 build fixes 2025-10-19 18:07:35 -04:00
59bc5303c7 build fixes 2025-10-19 18:05:19 -04:00
912cf71bb9 feat(support): Ko-fi end-to-end linking + badges (derive-on-read, no cron)
- Add Ko-fi webhook (/api/webhooks/kofi) with upsert by (provider, external_user_id)
  • Computes renews_at = timestamp + 1 calendar month + 1 day
  • Preserves first started_at; stores raw payload; canonicalizes by email when available
- Add Ko-fi claim flow
  • POST /api/support/kofi/claim/start — sends verification email via SMTP
  • GET  /api/support/kofi/claim/verify — finalizes link (sets app_user), redirects to /portal/account
  • POST /api/support/kofi/unlink — clears app_user on Ko-fi rows
- Add derive-on-read membership logic
  • /lib/memberships.ts — single source of truth for badges & “active” state
  • /api/support/badges — thin wrapper that returns per-provider badges
- Account UI
  • components/account/SupporterBadges.tsx — renders provider badges (Ko-fi now; extensible)
  • components/account/ConnectKofi.tsx — “Link Ko-fi” form (email → verify link)
  • components/account/LinkStatus.tsx — success/error banner on return
  • app/portal/account/AccountPanel.tsx — integrates badges, link panel, and banner
- Config/env
  • Requires: DIRECTUS_URL, DIRECTUS_TOKEN_ADMIN_SUPPORTER, KOFI_VERIFY_TOKEN
  • SMTP: SMTP_HOST, SMTP_PORT, SMTP_SECURE, SMTP_USER, SMTP_PASS, EMAIL_FROM
  • APP_ORIGIN used to build absolute verify URLs
- Misc
  • Fixed import to use @/lib/memberships
  • No cron required; UI derives active state via status === active && renews_at >= now

Refs: beta readiness for Ko-fi supporters
2025-10-19 17:51:04 -04:00
4aebd80a5d file server fix + middleware updates 2025-10-15 21:10:28 -04:00
c1fbdc843c bgbye routing fix 2025-10-15 19:05:56 -04:00
3195ff5d74 settings overhaul and reset 2025-10-05 17:45:09 -04:00
4ef3160515 schema improvements 2025-10-05 17:09:39 -04:00
26fa64790d build fixes 2025-10-05 12:30:19 -04:00
7b707e07a7 provider fix for registration on main 2025-10-03 12:13:06 -04:00
4e2fd5d813 build error fixes for submission 2025-10-02 22:58:09 -04:00
59d2d98a8c fix to populate results in my-settings 2025-10-02 22:25:26 -04:00
b41fbd98a0 my-settings tab update 2025-10-02 22:15:06 -04:00
52a3d35245 build error fix 2025-10-02 21:04:10 -04:00
a5e6174242 dx route update 2025-10-02 20:32:19 -04:00
2a105e3892 debug route 2025-10-02 20:01:35 -04:00
74036bc2ce registration requires email
(cherry picked from commit a77db7e781)
2025-10-02 18:41:42 -04:00
5257a0d2fe co2 galvo owner test 2025-10-01 21:06:00 -04:00
2e08d68b24 co2 galvo owner test 2025-10-01 20:57:05 -04:00
a38aa4c2f9 co2 galvo owner test 2025-10-01 20:00:26 -04:00
8219615591 settings list build error fix 2025-10-01 17:27:00 -04:00
3800cba048 setting owner fixes + laser_soft write update 2025-10-01 13:55:47 -04:00
c3fe52589f more password change fixes 2025-09-30 22:51:12 -04:00
d090ff44f2 change password bug fix 2025-09-30 22:45:42 -04:00
41614a96cd registration token update 2025-09-30 22:29:37 -04:00
ca5082b2f7 registration bug fixes 2025-09-30 22:24:17 -04:00
29671855de password update fix 2025-09-30 20:55:19 -04:00
064385ce42 password change debug update 2025-09-30 20:49:37 -04:00
16ae6d9c1c profile editor bug fixes 2025-09-30 20:36:26 -04:00
86fdd403b0 account management upgrades 2025-09-30 19:35:27 -04:00
94de501a49 account auth cleanup 2025-09-30 17:04:37 -04:00
b9c5c22f86 add reauth for account changes 2025-09-30 10:03:32 -04:00
3e4c6241f6 password auth fix for accounts 2025-09-30 09:29:44 -04:00
1f342042c9 account login with username 2025-09-30 01:14:10 -04:00
6a3f69486c account routing fix 2025-09-30 01:10:20 -04:00
b694e90548 account auth fix for account management 2025-09-30 01:08:08 -04:00
b835529b77 account auth fix for account management 2025-09-30 01:05:03 -04:00
787de00274 basic user accounts + 2025-09-30 00:56:23 -04:00
9390b52aae added exp and apt to rigs. 2025-09-29 23:17:20 -04:00
d142ba464a rigs route finalized 2025-09-29 22:04:25 -04:00
9607830c2f rigs route fix 2025-09-29 21:59:25 -04:00
eef73cb729 rigs route fix 2025-09-29 21:21:09 -04:00
c596ad4b7d dxGet fix for rigs 2025-09-29 21:12:32 -04:00
74f100acf0 dxGet fix for rigs 2025-09-29 20:56:46 -04:00
e252a84862 dxGet fix for rigs 2025-09-29 20:46:41 -04:00
719680c8dc dxGet fix for rigs 2025-09-29 20:38:44 -04:00
0cf4661264 added v2 RigSwitcher and Builder 2025-09-29 15:34:49 -04:00
096da254ec files(api): gate /api/files with ma_at, unify ROOT & safeJoin, harden errors, no-store caching 2025-09-29 14:31:50 -04:00