Add Postbox message authoring and concurrency

This commit is contained in:
2026-07-31 18:40:39 +02:00
parent 0b6ebc3c74
commit dc6f81dd33
12 changed files with 1392 additions and 68 deletions
@@ -236,9 +236,13 @@ export default function PostboxAdminPanel({
setSuccess("");
try {
if (templateDraft.templateId) {
const currentTemplate = templates.find(
(item) => item.id === templateDraft.templateId
);
if (!currentTemplate) throw new Error("The template is no longer available.");
await revisePostboxTemplate(
settings,
templateDraft.templateId,
currentTemplate,
revisionPayload(templateDraft)
);
setSuccess("A new immutable template revision was created.");
@@ -268,7 +272,7 @@ export default function PostboxAdminPanel({
try {
await publishPostboxTemplate(
settings,
selectedTemplate.id,
selectedTemplate,
selectedTemplate.current_revision
);
setSuccess(`Published revision ${selectedTemplate.current_revision}.`);
@@ -286,7 +290,7 @@ export default function PostboxAdminPanel({
setError("");
setSuccess("");
try {
await retirePostboxTemplate(settings, selectedTemplate.id);
await retirePostboxTemplate(settings, selectedTemplate);
setSuccess("Postbox template retired. Existing addresses remain durable.");
await load();
} catch (actionError) {
@@ -365,7 +369,7 @@ export default function PostboxAdminPanel({
setError("");
setSuccess("");
try {
await archivePostbox(settings, archiveTarget.id);
await archivePostbox(settings, archiveTarget);
setSuccess("Postbox archived. Messages and delivery evidence were retained.");
setArchiveTarget(null);
await load();