Files
selfpost/docs/assets/panel-redesign/panel/outlines.json
T
mixandClaude Opus 5.5 87fa0a4381 design: notifications on Account, Server > Settings and Server > Health
Accepted by the owner on 2026-10-12 from screenshots, after two changes of
his: DKIM for the server's own name as well as SPF ("we need the best
deliverability for these messages"), and the records themselves under
Settings with only their state on Health.

- account: a checkbox "Send me notifications" in the Profile box, under the
  e-mail it writes to. No box of its own, no choice per event.
- settings: box 03 Notifications with the instance switch; box 04
  Notification mail with the two DNS records of the server's own name, DKIM
  and SPF, drawn with the record component of a domain's DNS page. Sending
  rate limits move to the left column as box 02.
- health: card 06 Notification mail - the state of each record and a link to
  Settings - beside Configuration, now 07, each half the width.
- help: a Notifications topic (what is sent, when, to whom, what makes it
  arrive); Settings and Your account each gain a clause.

outlines.json rewritten with check.py --write: the structure of settings and
health changed. build.py: 35 pages; check.py: 32 screens, 52 sp- classes,
0 violations. The plan records both of his changes; step 1 of 10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 15:45:06 +03:00

482 lines
6.2 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"account": [
"head",
{
"columns": [
{
"is-6": [
"box[Profile]:body"
]
},
{
"is-6": [
"box[Password]:body"
]
}
]
}
],
"backup": [
"head",
{
"columns": [
{
"is-6": [
"box[Full backup]:body"
]
},
{
"is-6": [
"box[Import a domain]:body"
]
}
]
}
],
"dmarc-domain": [
"head+postmark+actions",
{
"columns": [
{
"is-5": [
"box[Sources · 7 days]:table"
]
},
{
"is-7": [
"box[Reports]:table"
]
}
]
}
],
"dmarc-report": [
"head",
{
"columns": [
{
"is-6": [
"box[Report]:body"
]
},
{
"is-6": [
"box[Published policy]:body"
]
}
]
},
"box[Records]:table"
],
"dmarc": [
"head",
"box[Ingest]:body",
"box[Recent reports]:table"
],
"health": [
"head+actions",
{
"columns": [
{
"is-6": [
"box[Machine]:table"
]
},
{
"is-6": [
"box[Processes]:table"
]
}
]
},
{
"columns": [
{
"is-4": [
"box[TLS certificate]:body"
]
},
{
"is-4": [
"box[Milter sockets]:table"
]
},
{
"is-4": [
"box[Hostname and reverse DNS]:body"
]
}
]
},
{
"columns": [
{
"is-6": [
"box[Notification mail]:table+body"
]
},
{
"is-6": [
"box[Configuration]:body"
]
}
]
}
],
"help": [
"head",
{
"columns": [
{
"is-3": [
"side_menu"
]
},
{
"is-9": [
"box[Overview]:help×3",
"box[Outbound]:help×6",
"box[Inbound]:help×6",
"box[Server]:help×4",
"box[Account]:help"
]
}
]
}
],
"in-domain-delete": [
"head",
{
"columns": [
{
"is-7": [
"box.sp-danger-zone[This cannot be undone]:body"
]
}
]
}
],
"in-domain": [
"head+postmark+actions",
{
"columns": [
{
"is-3": [
"side_menu"
]
},
{
"is-9": [
"box[MX record]:record",
{
"columns": [
{
"is-6": [
"box[Upstream]:body"
]
},
{
"is-6": [
"box[Valid recipients]:body"
]
}
]
},
"box[Spam filter]:body"
]
}
]
}
],
"in-domains": [
"head",
"box[Add a domain]:body",
"box[Domains]:table"
],
"in-filter-lists": [
"head",
"box[Add an entry]:body",
{
"columns": [
{
"is-6": [
"box[Deny]:table"
]
},
{
"is-6": [
"box[Allow]:table"
]
}
]
},
"box[Where the lists go]:body"
],
"in-log": [
"head",
"box[Messages]:table"
],
"in-quarantine-message": [
"head",
{
"columns": [
{
"is-7": [
"box[Message]:body"
]
},
{
"is-5": [
"box[Why it was held]:table"
]
}
]
},
"box[Headers]:log",
{
"columns": [
{
"is-6": [
"box[Release]:body"
]
},
{
"is-6": [
"box.sp-danger-zone[Discard]:body"
]
}
]
}
],
"in-quarantine": [
"head",
"box[Held messages]:table"
],
"in-queue": [
"head",
"box[Waiting]:empty",
"box[How retries work]:body"
],
"out-app-created": [
"head",
{
"columns": [
{
"is-7": [
"box.sp-credential[Shown once]:record"
]
},
{
"is-5": [
"box[Connect with]:body"
]
}
]
}
],
"out-app": [
"head+actions",
{
"form": [
{
"columns": [
{
"is-4": [
"box[Sender]:body"
]
},
{
"is-4": [
"box[Client IP allow-list]:body"
]
},
{
"is-4": [
"box[Rate limit]:body"
]
}
]
},
"submit_row"
]
}
],
"out-domain-delete": [
"head",
{
"columns": [
{
"is-7": [
"box.sp-danger-zone[This cannot be undone]:body"
]
},
{
"is-5": [
"box[Moving it instead?]:body"
]
}
]
}
],
"out-domain-settings": [
"head",
{
"columns": [
{
"is-6": [
"box[DMARC report address]:body",
"box[Export domain]:body"
]
},
{
"is-6": [
"box[Rate limit]:body",
"box.sp-danger-zone[Delete domain]:body"
]
}
]
}
],
"out-domain": [
"head+postmark+actions",
{
"columns": [
{
"is-3": [
"side_menu"
]
},
{
"is-9": [
"box[DNS records]:record×3",
"box[Applications]:table",
"box[Connection]:body"
]
}
]
}
],
"out-domains": [
"head",
"box[Add a domain]:body",
"box[Domains]:table"
],
"out-log": [
"head",
"box[Messages]:table"
],
"out-message": [
"head",
{
"columns": [
{
"is-7": [
"box[Message]:body"
]
},
{
"is-5": [
"box[History]:body"
]
}
]
},
"box[Delivery log]:log"
],
"out-queue": [
"head",
"box[Waiting]:table",
"box[How retries work]:body"
],
"overview": [
"head+postmark",
"box[Server health]:health",
{
"columns": [
{
"is-7": [
"box[Outbound domains]:table"
]
},
{
"is-5": [
"box[Inbound domains]:table"
]
}
]
}
],
"preflight": [
"head+postmark+actions",
"box[Checks]:table",
"box[Send a test e-mail]:body"
],
"settings": [
"head",
{
"form": [
{
"columns": [
{
"is-6": [
"box[Log retention]:body",
"box[Sending rate limits]:body"
]
},
{
"is-6": [
"box[Notifications]:body",
"box[Notification mail]:record×2"
]
}
]
},
"submit_row"
]
}
],
"system-log": [
"head",
"box[Recent lines]:log"
],
"user-delete": [
"head",
{
"columns": [
{
"is-7": [
"box.sp-danger-zone[This cannot be undone]:body"
]
}
]
}
],
"user": [
"head+actions",
{
"form": [
{
"columns": [
{
"is-6": [
"box[Account]:body"
]
},
{
"is-6": [
"box[Outbound domains]:body",
"box[Inbound domains]:body"
]
}
]
},
"submit_row"
]
}
],
"users": [
"head+actions",
"box[Panel users]:table"
]
}