- Post-login (OAuth + dev-login) now redirects to the next upcoming
service's edit page instead of /dashboard, mirroring the GET / route.
- NameTagResolver now reads the real ChurchTools `responsible` shape
(persons[].person.title) and resolves moderator/preacher/worship-leader
by responsible ROLE ([Moderation]/[Predigt]/[Lobpreis]). This fixes
missing name slides and makes the worship-leader arrangement trigger
(e.g. service 12 → "Benedikt Hardt" / "Jennifer Schneider").
- NameTagSlideBuilder no longer silently drops the name slide when the
configured macro id points to a missing macro; it emits the slide
without a macro instead.
- Song export: the "first slide" / "last slide" macro now applies only to
the song's very first/last slide (global slide index across all
sections), not the first slide of every section.
- Export "headlines" for content-less agenda items are now emitted as
proper ProPresenter playlist HEADER items instead of text presentations.
- Prefix/postfix export files now also accept .probundle (unzipped: inner
.pro + media embedded) in addition to .pro, both for upload validation
and export injection.
Full suite green (587 passed).