Skip to content

Add editable survey instructions and email subjects - #27

Open
ttenneb wants to merge 4 commits into
mainfrom
feat/editable-survey-content
Open

Add editable survey instructions and email subjects#27
ttenneb wants to merge 4 commits into
mainfrom
feat/editable-survey-content

Conversation

@ttenneb

@ttenneb ttenneb commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add persisted, editable survey instructions displayed above respondent surveys
  • add localized invitation email subjects alongside existing localized email bodies
  • add dashboard editors with dirty-state, save/import, and cross-survey race protections
  • preserve legacy instruction, subject, language, and CSV behavior through defaults and normalization
  • apply configured subjects to bulk invitations and test/reminder emails

Database

  • add additive Liquibase migration v1_5_editable_survey_content.sql
  • add and backfill Survey.instructions
  • add and backfill EMAIL.subject
  • widen EMAIL.text to TEXT without dropping data

Security and compatibility

  • enforce existing organization-scoped read/editor role checks
  • validate subject length and reject control characters
  • return respondent instructions only after respondent-token validation
  • canonicalize legacy language codes and quoted labels without destructive migration
  • support legacy language_code,notification_text CSV files

Testing

  • npm test --prefix api — 39 passed
  • npm test --prefix dashboard — 11 passed
  • npm run build --prefix dashboard — passed
  • npm run build --prefix network-survey — passed
  • node --check api/server.js — passed
  • git diff --check — passed

Multiple fresh adversarial reviews were completed. All reported blockers were fixed and regression-tested; the final two reviews reported no blockers.

@ttenneb
ttenneb force-pushed the feat/editable-survey-content branch from 7a1d2b8 to 72df27f Compare August 4, 2026 17:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant