Maestro task e8a7b1f4-327a-478b-88c7-5d265afda153. First task of Feature 19: fail-fast VAPID config, the push subscription store/API and cmd/vapidgen. See the task done-condition and the developer report on the PR.
Maestro task e8a7b1f4-327a-478b-88c7-5d265afda153. First task of Feature 19: fail-fast VAPID config, the push subscription store/API and cmd/vapidgen. See the task done-condition and the developer report on the PR.
Require MEALQUEST_VAPID_PUBLIC_KEY, MEALQUEST_VAPID_PRIVATE_KEY_FILE and
MEALQUEST_VAPID_SUBJECT at boot. Both keys are unpadded base64url P-256
keys, the encoding webpush-go reads; boot derives the public point from the
private key and refuses a pair that does not match. The subject must be
mailto:<address> or an https:// URL.
internal/push stores subscriptions by endpoint: GET
/api/v1/push/vapid-public-key serves only the public key, POST
/api/v1/push/subscriptions upserts {endpoint, keys.p256dh, keys.auth,
user_agent}, and DELETE removes by endpoint, answering 204 whether or not
it was stored. cmd/vapidgen prints a new key pair. deploy/compose.yaml
mounts the vapid_private_key secret.
Maestro task e8a7b1f4-327a-478b-88c7-5d265afda153.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task e8a7b1f4-327a-478b-88c7-5d265afda153. First task of Feature 19: fail-fast VAPID config, the push subscription store/API and cmd/vapidgen. See the task done-condition and the developer report on the PR.
Require MEALQUEST_VAPID_PUBLIC_KEY, MEALQUEST_VAPID_PRIVATE_KEY_FILE and MEALQUEST_VAPID_SUBJECT at boot. Both keys are unpadded base64url P-256 keys, the encoding webpush-go reads; boot derives the public point from the private key and refuses a pair that does not match. The subject must be mailto:<address> or an https:// URL. internal/push stores subscriptions by endpoint: GET /api/v1/push/vapid-public-key serves only the public key, POST /api/v1/push/subscriptions upserts {endpoint, keys.p256dh, keys.auth, user_agent}, and DELETE removes by endpoint, answering 204 whether or not it was stored. cmd/vapidgen prints a new key pair. deploy/compose.yaml mounts the vapid_private_key secret. Maestro task e8a7b1f4-327a-478b-88c7-5d265afda153. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Independent Codex gpt-6-sol review: APPROVED for this exact commit.