Link previews no longer submit answers. Failed queue attempts retain reusable drafts; recipient queues prevent duplicate retries. Tested: 18 isolated regressions pass; 13 fail on baseline. AI-Agent: Codex (OpenAI) AI-Session: 01a14186-e2ee-77b1-9526-a32c58cd6a00
2.1 KiB
Corben function sources
These two files are the source of truth for the Corben functions behind the RSVP
flow. They do NOT deploy with the site: deploy_site only serves the site, and
Corben functions live in the platform, not in this repo. They are checked in so
the logic is reviewable and diffable instead of only existing inside the API.
To change one, edit here and push it up:
KEY=$(grep '^CORBEN_API_KEY=' ~/.corben.env | cut -d= -f2-)
jq -n --rawfile code ops/founders-break-rsvp.js '{code:$code}' \
| curl -sS -X PUT https://api.corben.world/functions/3d3c4bed-c073-40a4-9a32-9ff6944737dd \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d @-
The reminder is cf2a1e4c-43f9-4cf4-8fc5-652c494940ae. Their env (CORBEN_KEY,
LIST_ID, FROM, FROM_ADDRESS_ID, NOTIFY, and reminder POSTAL_ADDRESS) is set on the function record and is not
in these files. Never paste the key into this repo.
Test without waiting for a real submission:
execute_function id=3d3c4bed-... event={"form_name":"rsvp","data":{"name":"...","email":"..."}}
execute_function id=cf2a1e4c-... event={"force":true} # sends for real
October 22 reliability repair
Email links now display a confirmation screen. Opening or previewing a link does not POST a form. The RSVP function also rejects reminder responses without the confirmation flag, and repeated answers send no duplicate notifications. New reminder links carry their event date; stale dated links cannot answer for the current week. Existing undated links show the current event date explicitly before confirmation.
POSTAL_ADDRESS is required before campaign creation and is passed in the send_campaign delivery configuration. The reminder reuses an unsent draft after failure, records prepared versus queued state, and checks the campaign status and durable recipients before retrying. Queued, sent or paused campaigns are never re-sent. A prepared marker alone is not a successful send.
Run node --test ops/regression.test.cjs for network-isolated source tests.
They mock all API calls, including mail. Never use force: true as a smoke test.