Skip to content

Operator notification mailbox — Production Readiness Audit ​

FieldValue
Date2026-10-20
StatusGo for production — feature Pest 9/9; headed Playwright 1/1 (plus central login setup)
ScopeCentral setting ops_notification_email emails operators for new feedback, beta applications, and self-service workspace signups
CatalogNo bump
CompanionCentral settings user guide · Central settings developer guide · Central feedback · Central API · CHANGELOG

Executive summary ​

Operators choose one mailbox under Central Settings → Mail. When it is set, EloSync queues mail after a workspace submits feedback (any type; critical bugs use a critical subject), after a public beta application is stored, and after a self-service workspace signup commits. A blank address sends none of those. Superadmin users are not recipients. Workspaces created by a Central admin do not send this mail. Public support_email is unchanged.

Go / No-Go: Go. Deploy Backend and Frontend together. No migrate. Set the mailbox after deploy or these three alerts stay off.

GateResult
Platform freezePass — existing Central settings form and notification mail
Setting stored and omitted from public bootstrapPass (Pest)
Feedback, beta application, and self-service signup mail the mailboxPass (Pest)
Blank mailbox and admin-created workspaces send nothingPass (Pest)
Superadmin user is not a recipientPass (Pest)
Invalid email shows field error and toast; valid save, clear, and restorePass (headed Playwright, one login)

Security summary ​

ControlStatus
Setting update still requires system-settings.updatePass
Address is not included in the public bootstrap payloadPass
Mail is on-demand to the configured address, not fanned out to Central usersPass
No new permissionPass

Findings disposition ​

IDSeverityItemDisposition
F1MediumCentral Playwright setup launched missing bundled Chromium even when E2E_BROWSER_CHANNEL=chromeFixed — setup and chromium projects use the same channel as tenant
F2LowShared e2e admin had two-factor enabled, so API login returned no tokenFixed for this run — php scripts/reset-e2e-central-admin.php (existing e2e helper). Re-run it if a two-factor spec leaves 2FA on
I1InfoInvalid operator email shows both the field error and a toastAccepted — same pattern as other Central settings validation

Headed browser coverage ​

npm run test:e2e:ops-notification:headed on 2026-10-20. Result: 2 passed (central login setup + one serial session).

One central login, one page session:

  1. Open Settings → Mail and confirm the operator email field and helper text
  2. Enter not-an-email, save → field error Enter a valid operator email and the same toast; settings are not saved
  3. Enter a valid address, save, reload → value persists
  4. Clear the field, save, reload → blank
  5. Restore the address that was there before the test

Upgrade ​

  1. Deploy Backend (no migrate). The key is created when settings are seeded or when an admin saves it.
  2. Deploy Frontend SPA and hard-refresh.
  3. Open Settings → Mail and set Operator notification email, or leave it blank.
  4. Smoke: save an invalid address (error, no success toast), then a valid address, reload, and confirm it stuck.

Official documentation for the EloSync SaaS Platform.