thethreemagi
  • Joined on 2026-02-03
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-12 19:37:56 +01:00
375170e275 join form: show leader@ as a direct email alternative
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-10 12:01:51 +01:00
8e8e74ac4b whoami returns enough to attribute and scope, and CAPS gains finance
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 01:39:50 +01:00
77dd250436 footer sign-in link; sign-in, invite and reset land on the console
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 01:27:22 +01:00
752fb08d73 API.md: every admin route tested over HTTP and approved
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 01:26:47 +01:00
d1dfa6df90 API.md ships in the image; GET /api/docs/approved serves it behind api:docs
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 01:24:38 +01:00
38bedaea88 API.md: every admin route driven over HTTP and approved; tests/http_drive.py
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 00:57:43 +01:00
b84fc7f064 fb_posts: edit and repost through the publisher's signed reschedule
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 00:53:09 +01:00
ea22ed53e7 fb_posts: past its publish time, a scheduled post reads as published
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 00:46:51 +01:00
55e4c67b9a facebook posts: fb_posts table, ingest with hash-verified images, gated image, cancel
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-05 00:19:41 +01:00
7f04d57665 family link: which accounts belong to a household, and GET /api/admin/family
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 23:56:32 +01:00
504538567f roster: households, scouts, a per-year checklist, lead import
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 23:34:03 +01:00
59559ad909 lead claims: outreach v1, decided by Mike
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 23:18:44 +01:00
aaa77be14d people management, account self-service, password reset by link
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 23:10:05 +01:00
7287f0b515 seeded events are the site's; every write lands in the action log
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 22:56:58 +01:00
e52cc60fcf P4: calendar write-back to Radicale, site-owned UIDs only
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 22:48:17 +01:00
c458b8e64d client IP is the last X-Forwarded-For hop, not the first
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 22:45:19 +01:00
69b177d519 the LAN rule moves from nginx into the app, as a setting for keys only
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 22:31:08 +01:00
4b5b2a3667 P3: API keys, bearer auth on the admin API, whoami, generated /api/docs
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 21:48:08 +01:00
0b337f1f19 meeting words come from the units table; the constants are now defaults
thethreemagi pushed to main at thethreemagi/scout-website 2026-09-04 21:29:00 +01:00
5c7a8dd785 login: honour next on both exits, same-origin only