@sentry/junior-dashboard 0.235.0 → 0.237.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,13 @@
1
1
  # Automation editor
2
2
 
3
- Core owns validation, creator access, revision checks, Schedule previews, and
4
- the Event catalog. Preview requests cannot save or run work. Completed scheduled
5
- Automations remain read-only.
3
+ Core owns validation, edit access, creator-only rules, revision checks,
4
+ Schedule previews, and the Event catalog. Preview requests cannot save or run
5
+ work. Completed scheduled Automations remain read-only.
6
+
7
+ Owners and public Destination readers can edit. For a public reader, the
8
+ editor shows outcomes as read-only and blocks turning on creator credential
9
+ use. It warns that an instruction or event selector change switches to system
10
+ credentials. Pause and resume stay creator-only.
6
11
 
7
12
  The editor sends only changed fields. Keep unsupported triggers and stored
8
13
  Destinations intact unless the user replaces them. Outcomes keep their order.
@@ -15,5 +20,11 @@ come from that version; core checks its revision again on save.
15
20
  The data router blocks navigation with unsaved changes. Browser unload uses the
16
21
  native prompt. Save and Cancel keep the list query string.
17
22
 
23
+ Version history lists saved versions, newest first, and marks the active
24
+ version. "Make active" uses the native confirm dialog, like delete. It then
25
+ reads the latest revision and asks core to save that version again as a new
26
+ version. Core applies the same edit rules, so the page
27
+ shows its error when a public reader cannot make a version active.
28
+
18
29
  Browser behavior lives in `e2e/automation-editor.spec.ts`. API and persistence
19
30
  coverage lives in core's `tests/integration/api/automation-edits.test.ts`.
@@ -1825,8 +1825,14 @@ export function readMockConversationDetail(
1825
1825
  (candidate) => candidate.conversationId === conversationId,
1826
1826
  );
1827
1827
  if (!conversation) return undefined;
1828
- const { parentConversationId: _parentConversationId, ...detail } =
1829
- conversation;
1828
+ const { parentConversationId, ...conversationDetail } = conversation;
1829
+ // Match the API: only readable root Conversations can be forked.
1830
+ const detail = {
1831
+ ...conversationDetail,
1832
+ canFork:
1833
+ !parentConversationId &&
1834
+ conversationDetail.eventHistory.status !== "redacted",
1835
+ };
1830
1836
  const withArchiveState = mockArchivedConversationIds.has(conversationId)
1831
1837
  ? {
1832
1838
  ...detail,