Repository navigation
Release v1.0.0
The first release of Showrunner brings Usher: issue reporting and support conversations for applications built on Cratis, hosted as a library inside the application and exchanging events with a support desk.
Added
Cratis.Showrunner.Usher.Contractswith the public events an application and a support desk exchange about issues, in both directions. See Contracts. (#1) (part of #8)Cratis.Showrunner.Usher, added withAddUsher, with commands to report an issue or an error, share identity, add details, answer questions, reopen, withdraw, and grant or revoke support access, and the observableReportedIssue.MyIssues()andIssueConversation.ForIssue(issueId)queries, all recorded as private events in the tenant's own namespace. See Backend. (#2)- Reporters only see and act on their own issues, and everything they send is bounded by
ReportLimitsand classified as personal data of that reporter. - Usher publishes the reporter's facts to the outbox for the desks named in
DeskStores, records the desk's answers as privateSupport…facts in the tenant the event names, and lapses grants of access on their exact end, in every tenant namespace. See Exchanging events with a desk. (#3) - Failing commands are captured on the server with their slice location, error and stack frames, so a report of that error records what the backend saw, fingerprinted to group repeats. Configure it with the
ErrorCaptureoptions. (#4) @cratis/showrunner.usherwith the generated TypeScript proxies for Usher's commands and queries, carrying their slice location, and helpers that turn an error into what a report sends. It requires@cratis/arc,@cratis/arc.reactand@cratis/fundamentals. See Frontend proxies. (part of #5)@cratis/showrunner.usher.reactwithUsherProvider,ReportButtonandMyIssuesButton, and theReportIssueDialog,ReportErrorDialogandMyIssuesDialogbuilt on@cratis/components, with replaceable texts and correlation-id tracking. See React components. (#6)- Slot-in report a problem, report this error and my issues dialogs that an application adds with
AddUsher,UsherProviderand a button, and can open from its own menus. (#10) - Access grants and support sessions: a reporter grants support access to one issue for a fixed time, and
MapUshermaps the grant check and session notification endpoints for Cratis AuthProxy's on-behalf sessions, so support can act as the reporter on that issue only while the grant is live. The reporter sees each session and what support did in it. See Access and support sessions. (part of #7) - Requires the Cratis Arc release that adds slice location metadata and on-behalf forwarding (Cratis/Arc#3533, Cratis/Arc#3534, Cratis/Arc#3535).