Repository navigation
Release v1.6.0
Marquee now runs end to end in the consumer's Arc and Chronicle process, the way Usher does: write announcements, receive them once per product, show each tenant what its audience matches, and record who has dismissed a dialog.
Added
Cratis.Showrunner.Marquee.Authoring: commands to author, amend, retarget and withdraw an announcement, an observable per-product query for the authoring screen, and oneMarqueeOutboxreactor that publishes all four contract events. Authorization is the host's: register a policy namedMarqueeAuthoring.Policy. A withdrawal that is processed together with, or ahead of, its publication never leaves the announcement standing. (#36)Cratis.Showrunner.Marquee:AddMarqueesubscribes the product to its authoring store's outbox, records announcements once in the product's own namespace, drops what arrives after a retraction, and answers the observable queryAnnouncementsForMeper tenant. Module and plan audiences are answered by the host'sIAudienceEntitlements, and never match without one. A tenant created after publication still sees an active announcement. (#37)AcknowledgeAnnouncement: records that a person saw a dialog shown once, in the tenant's namespace with the person as compliance subject, so it is shown once per person on every device. Acknowledging twice, a dialog shown every session and a banner record nothing. (#38)@cratis/showrunner.marqueeand@cratis/showrunner.marquee.authoring: the generated TypeScript proxies for the receiving and the authoring slices.- Documentation for authoring, receiving, acknowledging and the proxy packages: https://github.com/Cratis/Showrunner/blob/main/Documentation/Marquee/index.md
Changed
AnnouncementIdis now anEventSourceId<Guid>, so an announcement has its own stream where it is authored, received and acknowledged. Contract events still carry it as a payload field.- The CI check that the committed proxies are current now covers every backend project that generates them.