You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(forks): route new workflows through one row builder and harden lineage locking (#8406)
* fix(forks): route new workflows through one row builder and harden lineage locking
* fix(workflows): read the fork-sync policy inside each create transaction
Copy file name to clipboardExpand all lines: apps/docs/content/docs/platform/enterprise/forks.mdx
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ On Sim Cloud, your organization may also need the feature turned on for your acc
29
29
30
30
### 1. Open Forks
31
31
32
-
Go to **Settings → Organization → Workspace forks** in the workspace you want to fork from (or manage).
32
+
Go to **Settings → Workspace → Workspace forks** in the workspace you want to fork from (or manage).
33
33
34
34
<Imagesrc="/static/enterprise/forks-list.png"alt="Workspace Forks settings page showing Parent and Forks sections with Docs, See activity, and Create fork actions"width={900}height={369} />
35
35
@@ -62,7 +62,7 @@ Click **Fork**. The child workspace is created immediately. Deployed workflows l
62
62
63
63
### 3. Open the parent edge (from the child)
64
64
65
-
Open the **child** workspace → **Settings → Organization → Workspace forks**. On the **Parent** row, open the menu and choose **Edit mappings**.
65
+
Open the **child** workspace → **Settings → Workspace → Workspace forks**. On the **Parent** row, open the menu and choose **Edit mappings**.
66
66
67
67
Child rows (when you are on the parent) only offer **Open workspace** and **Disconnect** — mapping and sync are owned by the child configuring how it relates to its parent.
68
68
@@ -136,14 +136,14 @@ Above the list, **Sync new workflows by default** decides where a **newly create
136
136
137
137
| Setting | A new workflow… |
138
138
|---------|-----------------|
139
-
|**On** (default) | joins fork sync — it arrives checked and syncs as soon as you deploy it |
140
-
|**Off**| starts outside fork sync — it arrives unchecked and only syncs after you check it |
139
+
|**Sync** (default) | joins fork sync — it arrives checked and syncs as soon as you deploy it |
140
+
|**Don't sync**| starts outside fork sync — it arrives unchecked and only syncs after you check it |
141
141
142
142
Three things to know:
143
143
144
-
-**It applies to the whole fork lineage.** The toggle writes every workspace in the lineage — the root, every ancestor, every descendant — so a parent and its forks can never disagree about what "new" means. Any workspace admin in the lineage can change it, and each member gets its own audit entry naming the workspace the change came from. A new fork inherits the value at creation.
144
+
-**It applies to the whole fork lineage.** The toggle writes every workspace in the lineage — the root, every ancestor, every descendant — so a parent and its forks can never disagree about what "new" means. Any workspace admin in the lineage can change it, and each workspace whose value changes gets its own audit entry naming the workspace the change came from. A new fork inherits the value at creation.
145
145
-**It is forward-only.** Flipping it never moves an existing workflow in or out of sync. The checkbox list above stays the record of what syncs.
146
-
-**"New" means genuinely new.** Creating, duplicating, or importing a workflow takes this setting, as does the blank starter workflow a fork gets when there is nothing to copy. A workflow that arrives as a **copy** — from a fork, or from a push or pull — inherits its source's own checkbox instead, so a workflow you deliberately synced never lands unsynced in the child.
146
+
-**"New" means genuinely new.** Creating, duplicating, or importing a workflow takes this setting, as does the blank starter workflow a fork gets when there is nothing to copy. A workflow that arrives as a **copy** — from a fork, or from a push or pull — ignores this setting. Only synced workflows are copied, and they always arrive synced, so a workflow you deliberately synced never lands unsynced on the other side.
147
147
148
148
**Example:** a template workspace turns this off so every scratch workflow the team creates stays local, then checks only the handful meant to reach the forks.
149
149
@@ -399,7 +399,7 @@ Schedules, webhooks, and triggers are not live in the child until you **deploy**
399
399
{ question: "Why is Sync greyed out?", answer: "Usually a blocking reference, an unmapped credential or secret, or a required dependent field (label, channel, document, …) still empty. Open Blocking sync and the mapping sections — each row explains what to fix. Sync also stays disabled while details are loading or if loading failed (reload the page)." },
400
400
{ question: "Is sync a merge?", answer: "No. Deploy is like a commit; sync is a force push or force pull of deployed workflows onto the target. Use Rollback only for the last sync into a workspace, and remember copied resources may remain." },
401
401
{ question: "Who can disconnect a fork I cannot open?", answer: "Any admin on your side of the edge. Disconnect does not require access to the other workspace — so you are not stuck if the other side lost membership." },
402
-
{ question: "I deployed a new workflow and sync ignored it. Why?", answer: "Sync new workflows by default is off for this fork lineage, so the workflow was created outside fork sync. Open Settings → Organization → Workspace forks and check it under Synced workflows. Turning the toggle back on only affects workflows created after that — it never moves an existing one." },
402
+
{ question: "I deployed a new workflow and sync ignored it. Why?", answer: "Sync new workflows by default is off for this fork lineage, so the workflow was created outside fork sync. Open Settings → Workspace → Workspace forks and check it under Synced workflows. Turning the toggle back on only affects workflows created after that — it never moves an existing one." },
403
403
{ question: "Does turning Sync new workflows by default off stop my current syncs?", answer: "No. It is forward-only and never rewrites an existing workflow's checkbox, so everything already synced keeps syncing. It also applies to every workspace in the fork lineage, not just the one you changed it from." }
404
404
]} />
405
405
@@ -413,4 +413,4 @@ Self-hosted deployments turn Forks on with an environment variable instead of th
413
413
|----------|-------------|
414
414
|`FORKING_ENABLED`, `NEXT_PUBLIC_FORKING_ENABLED`| Enables workspace forking when billing is not used as the entitlement gate |
415
415
416
-
Once enabled, use the same **Settings → Organization → Workspace forks** UI as Sim Cloud. Only workspace admins can manage forks.
416
+
Once enabled, use the same **Settings → Workspace → Workspace forks** UI as Sim Cloud. Only workspace admins can manage forks.
0 commit comments