Phase 12: Templates & campaign editor (v0.13.0) #54
No reviewers
Labels
No labels
bug
dependencies
documentation
feature
phase-summary
security
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
vmanne-poc/Postak!54
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "phase-12"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 12: Templates & campaign editor (v0.13.0).
What shipped
ON DELETE SET NULL) instead of a 500.[Test], untracked), duplicate, delete drafts, confirmation before send/schedule.previewTextas hidden preheader (max 150),{{ contact.data.<key> }},{{ campaign.data.<key> }},| default:fallbacks, HTML escaping, warnings for unknown placeholders./c/<publicId>with neutral contact data, no tracking, and a strict sandbox CSP;{{ web_view_url }}.templates_and_campaign_editor. nginx forwards/c/to the backend. No new dependencies.[0.13.0], README features, and versions bumped to 0.13.0.Tests
docker compose run --rm --build -T backend-test):nest buildOK; unit 101 passed / 101 (10 suites); migrations applied on legacy-adopted and fresh databases (7 migrations, none pending); e2e 55 passed / 55.docker compose run --rm --build -T frontend-test):tsc && vite buildOK; Vitest 87 passed / 87 (19 files).smoke-12.ps1): 51 passed, 0 failed, including styled test send, personalised delivery, open/click tracking, web view CSP and headers, report endpoints and CSV, and all new pages rendered in headless Edge with 0 uncaught JS exceptions.Not verified: real inbox rendering (Gmail/Outlook), interactive browser flows beyond Vitest, the 14-day trend with real snapshot data, full WCAG conformance.
Closes #43
Closes #44
Closes #45
Closes #46
Closes #47
Closes #48