Skip to content

Commit 83085c0

Browse files
authored
Merge pull request #422 from badaitech/fix/effector-lib-init
fix(frontend): fix GroupNode resize race condition, finalize refactoring
2 parents 8e64683 + 427232c commit 83085c0

41 files changed

Lines changed: 1157 additions & 433 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/chaingraph-backend/CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,61 @@
11
# @badaitech/chaingraph-backend
22

3+
## 0.7.6
4+
5+
### Patch Changes
6+
7+
- Fixes dev
8+
- debug logs for effector store edges
9+
- fix(frontend): prevent store tree-shaking via sideEffects config
10+
- Debug initialize time
11+
- Updated dependencies
12+
- Updated dependencies
13+
- Updated dependencies
14+
- Updated dependencies
15+
- @badaitech/chaingraph-nodes@0.7.6
16+
- @badaitech/chaingraph-types@0.7.6
17+
- @badaitech/chaingraph-trpc@0.7.6
18+
19+
## 0.7.6-dev.3
20+
21+
### Patch Changes
22+
23+
- Fixes dev
24+
- Updated dependencies
25+
- @badaitech/chaingraph-nodes@0.7.6-dev.3
26+
- @badaitech/chaingraph-types@0.7.6-dev.3
27+
- @badaitech/chaingraph-trpc@0.7.6-dev.3
28+
29+
## 0.7.6-dev.2
30+
31+
### Patch Changes
32+
33+
- debug logs for effector store edges
34+
- Updated dependencies
35+
- @badaitech/chaingraph-nodes@0.7.6-dev.2
36+
- @badaitech/chaingraph-types@0.7.6-dev.2
37+
- @badaitech/chaingraph-trpc@0.7.6-dev.2
38+
39+
## 0.7.6-dev.1
40+
41+
### Patch Changes
42+
43+
- fix(frontend): prevent store tree-shaking via sideEffects config
44+
- Updated dependencies
45+
- @badaitech/chaingraph-nodes@0.7.6-dev.1
46+
- @badaitech/chaingraph-types@0.7.6-dev.1
47+
- @badaitech/chaingraph-trpc@0.7.6-dev.1
48+
49+
## 0.7.6-dev.0
50+
51+
### Patch Changes
52+
53+
- Debug initialize time
54+
- Updated dependencies
55+
- @badaitech/chaingraph-nodes@0.7.6-dev.0
56+
- @badaitech/chaingraph-types@0.7.6-dev.0
57+
- @badaitech/chaingraph-trpc@0.7.6-dev.0
58+
359
## 0.7.5
460

561
### Patch Changes

apps/chaingraph-backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@badaitech/chaingraph-backend",
33
"type": "module",
4-
"version": "0.7.5",
4+
"version": "0.7.6",
55
"private": false,
66
"description": "Backend server for the Chaingraph project",
77
"license": "BUSL-1.1",

apps/chaingraph-execution-api/CHANGELOG.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# @badaitech/chaingraph-execution-api
22

3+
## 0.7.6
4+
5+
### Patch Changes
6+
7+
- Fixes dev
8+
- debug logs for effector store edges
9+
- fix(frontend): prevent store tree-shaking via sideEffects config
10+
- Debug initialize time
11+
- Updated dependencies
12+
- Updated dependencies
13+
- Updated dependencies
14+
- Updated dependencies
15+
- @badaitech/chaingraph-executor@0.7.6
16+
- @badaitech/chaingraph-nodes@0.7.6
17+
- @badaitech/chaingraph-types@0.7.6
18+
- @badaitech/chaingraph-trpc@0.7.6
19+
- @badaitech/badai-api@0.7.6
20+
21+
## 0.7.6-dev.3
22+
23+
### Patch Changes
24+
25+
- Fixes dev
26+
- Updated dependencies
27+
- @badaitech/chaingraph-executor@0.7.6-dev.3
28+
- @badaitech/chaingraph-nodes@0.7.6-dev.3
29+
- @badaitech/chaingraph-types@0.7.6-dev.3
30+
- @badaitech/chaingraph-trpc@0.7.6-dev.3
31+
- @badaitech/badai-api@0.7.6-dev.3
32+
33+
## 0.7.6-dev.2
34+
35+
### Patch Changes
36+
37+
- debug logs for effector store edges
38+
- Updated dependencies
39+
- @badaitech/chaingraph-executor@0.7.6-dev.2
40+
- @badaitech/chaingraph-nodes@0.7.6-dev.2
41+
- @badaitech/chaingraph-types@0.7.6-dev.2
42+
- @badaitech/chaingraph-trpc@0.7.6-dev.2
43+
- @badaitech/badai-api@0.7.6-dev.2
44+
45+
## 0.7.6-dev.1
46+
47+
### Patch Changes
48+
49+
- fix(frontend): prevent store tree-shaking via sideEffects config
50+
- Updated dependencies
51+
- @badaitech/chaingraph-executor@0.7.6-dev.1
52+
- @badaitech/chaingraph-nodes@0.7.6-dev.1
53+
- @badaitech/chaingraph-types@0.7.6-dev.1
54+
- @badaitech/chaingraph-trpc@0.7.6-dev.1
55+
- @badaitech/badai-api@0.7.6-dev.1
56+
57+
## 0.7.6-dev.0
58+
59+
### Patch Changes
60+
61+
- Debug initialize time
62+
- Updated dependencies
63+
- @badaitech/chaingraph-executor@0.7.6-dev.0
64+
- @badaitech/chaingraph-nodes@0.7.6-dev.0
65+
- @badaitech/chaingraph-types@0.7.6-dev.0
66+
- @badaitech/chaingraph-trpc@0.7.6-dev.0
67+
- @badaitech/badai-api@0.7.6-dev.0
68+
369
## 0.7.5
470

571
### Patch Changes

apps/chaingraph-execution-api/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@badaitech/chaingraph-execution-api",
33
"type": "module",
4-
"version": "0.7.5",
4+
"version": "0.7.6",
55
"private": false,
66
"description": "Chaingraph tRPC Server - Scalable API server for Chaingraph execution management",
77
"license": "BUSL-1.1",

apps/chaingraph-execution-worker/CHANGELOG.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# @badaitech/chaingraph-execution-worker
22

3+
## 0.7.6
4+
5+
### Patch Changes
6+
7+
- Fixes dev
8+
- debug logs for effector store edges
9+
- fix(frontend): prevent store tree-shaking via sideEffects config
10+
- Debug initialize time
11+
- Updated dependencies
12+
- Updated dependencies
13+
- Updated dependencies
14+
- Updated dependencies
15+
- @badaitech/chaingraph-executor@0.7.6
16+
- @badaitech/chaingraph-nodes@0.7.6
17+
- @badaitech/chaingraph-types@0.7.6
18+
- @badaitech/chaingraph-trpc@0.7.6
19+
- @badaitech/badai-api@0.7.6
20+
21+
## 0.7.6-dev.3
22+
23+
### Patch Changes
24+
25+
- Fixes dev
26+
- Updated dependencies
27+
- @badaitech/chaingraph-executor@0.7.6-dev.3
28+
- @badaitech/chaingraph-nodes@0.7.6-dev.3
29+
- @badaitech/chaingraph-types@0.7.6-dev.3
30+
- @badaitech/chaingraph-trpc@0.7.6-dev.3
31+
- @badaitech/badai-api@0.7.6-dev.3
32+
33+
## 0.7.6-dev.2
34+
35+
### Patch Changes
36+
37+
- debug logs for effector store edges
38+
- Updated dependencies
39+
- @badaitech/chaingraph-executor@0.7.6-dev.2
40+
- @badaitech/chaingraph-nodes@0.7.6-dev.2
41+
- @badaitech/chaingraph-types@0.7.6-dev.2
42+
- @badaitech/chaingraph-trpc@0.7.6-dev.2
43+
- @badaitech/badai-api@0.7.6-dev.2
44+
45+
## 0.7.6-dev.1
46+
47+
### Patch Changes
48+
49+
- fix(frontend): prevent store tree-shaking via sideEffects config
50+
- Updated dependencies
51+
- @badaitech/chaingraph-executor@0.7.6-dev.1
52+
- @badaitech/chaingraph-nodes@0.7.6-dev.1
53+
- @badaitech/chaingraph-types@0.7.6-dev.1
54+
- @badaitech/chaingraph-trpc@0.7.6-dev.1
55+
- @badaitech/badai-api@0.7.6-dev.1
56+
57+
## 0.7.6-dev.0
58+
59+
### Patch Changes
60+
61+
- Debug initialize time
62+
- Updated dependencies
63+
- @badaitech/chaingraph-executor@0.7.6-dev.0
64+
- @badaitech/chaingraph-nodes@0.7.6-dev.0
65+
- @badaitech/chaingraph-types@0.7.6-dev.0
66+
- @badaitech/chaingraph-trpc@0.7.6-dev.0
67+
- @badaitech/badai-api@0.7.6-dev.0
68+
369
## 0.7.5
470

571
### Patch Changes

apps/chaingraph-execution-worker/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@badaitech/chaingraph-execution-worker",
33
"type": "module",
4-
"version": "0.7.5",
4+
"version": "0.7.6",
55
"private": false,
66
"description": "Chaingraph Execution Worker Service using DBOS for durable workflow execution",
77
"license": "BUSL-1.1",

apps/chaingraph-frontend/CHANGELOG.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# @badaitech/chaingraph-frontend
22

3+
## 0.7.6
4+
5+
### Patch Changes
6+
7+
- Fixes dev
8+
- debug logs for effector store edges
9+
- fix(frontend): prevent store tree-shaking via sideEffects config
10+
- Debug initialize time
11+
- Updated dependencies
12+
- Updated dependencies
13+
- Updated dependencies
14+
- Updated dependencies
15+
- @badaitech/chaingraph-executor@0.7.6
16+
- @badaitech/chaingraph-nodes@0.7.6
17+
- @badaitech/chaingraph-types@0.7.6
18+
- @badaitech/chaingraph-trpc@0.7.6
19+
- @badaitech/badai-api@0.7.6
20+
21+
## 0.7.6-dev.3
22+
23+
### Patch Changes
24+
25+
- Fixes dev
26+
- Updated dependencies
27+
- @badaitech/chaingraph-executor@0.7.6-dev.3
28+
- @badaitech/chaingraph-nodes@0.7.6-dev.3
29+
- @badaitech/chaingraph-types@0.7.6-dev.3
30+
- @badaitech/chaingraph-trpc@0.7.6-dev.3
31+
- @badaitech/badai-api@0.7.6-dev.3
32+
33+
## 0.7.6-dev.2
34+
35+
### Patch Changes
36+
37+
- debug logs for effector store edges
38+
- Updated dependencies
39+
- @badaitech/chaingraph-executor@0.7.6-dev.2
40+
- @badaitech/chaingraph-nodes@0.7.6-dev.2
41+
- @badaitech/chaingraph-types@0.7.6-dev.2
42+
- @badaitech/chaingraph-trpc@0.7.6-dev.2
43+
- @badaitech/badai-api@0.7.6-dev.2
44+
45+
## 0.7.6-dev.1
46+
47+
### Patch Changes
48+
49+
- fix(frontend): prevent store tree-shaking via sideEffects config
50+
- Updated dependencies
51+
- @badaitech/chaingraph-executor@0.7.6-dev.1
52+
- @badaitech/chaingraph-nodes@0.7.6-dev.1
53+
- @badaitech/chaingraph-types@0.7.6-dev.1
54+
- @badaitech/chaingraph-trpc@0.7.6-dev.1
55+
- @badaitech/badai-api@0.7.6-dev.1
56+
57+
## 0.7.6-dev.0
58+
59+
### Patch Changes
60+
61+
- Debug initialize time
62+
- Updated dependencies
63+
- @badaitech/chaingraph-executor@0.7.6-dev.0
64+
- @badaitech/chaingraph-nodes@0.7.6-dev.0
65+
- @badaitech/chaingraph-types@0.7.6-dev.0
66+
- @badaitech/chaingraph-trpc@0.7.6-dev.0
67+
- @badaitech/badai-api@0.7.6-dev.0
68+
369
## 0.7.5
470

571
### Patch Changes

apps/chaingraph-frontend/package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@badaitech/chaingraph-frontend",
33
"type": "module",
4-
"version": "0.7.5",
4+
"version": "0.7.6",
55
"private": false,
66
"description": "Frontend application for the Chaingraph project",
77
"license": "BUSL-1.1",
@@ -13,7 +13,11 @@
1313
"publishConfig": {
1414
"registry": "https://npm.pkg.github.com"
1515
},
16-
"sideEffects": false,
16+
"sideEffects": [
17+
"**/*.css",
18+
"src/store/**/*.ts",
19+
"src/store/**/*.tsx"
20+
],
1721
"exports": {
1822
".": {
1923
"types": "./dist/lib/exports.d.ts",

apps/chaingraph-frontend/src/components/flow/hooks/useNodeChanges.ts

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { useCallback } from 'react'
1313
import { trace } from '@/lib/perf-trace'
1414
import { $anchorNodes, removeAnchorNode, updateAnchorNodeParent, updateAnchorNodePosition, updateAnchorNodeSelection } from '@/store/edges/anchor-nodes'
1515
import { $activeFlowMetadata } from '@/store/flow'
16-
import { $nodes, removeNodeFromFlow, updateNodePosition, updateNodePositionOnly, updateNodeUI } from '@/store/nodes'
16+
import { $nodes, removeNodeFromFlow, updateNodeDimensionsLocal, updateNodePosition, updateNodePositionOnly, updateNodeUI } from '@/store/nodes'
1717
import { positionInterpolator } from '@/store/nodes/position-interpolation-advanced'
1818
import { getNodePositionInFlow, getNodePositionInsideParent } from '../utils/node-position'
1919
import { calculateNodeDepth, roundPosition } from './useFlowUtils'
@@ -263,15 +263,31 @@ export function useNodeChanges() {
263263

264264
case 'dimensions':
265265
{
266-
// SKIP all dimension changes from XYFlow's onNodesChange
267-
// XYFlow reports measured DOM sizes which conflict with resize handle positions
268-
//
269-
// Dimension sources are now:
270-
// - Width: NodeResizeControl onResize handler (user intent)
271-
// - Height: useElementResize content detection (for regular nodes)
272-
// - Both: NodeResizer onResize handler (for GroupNode)
273-
//
274-
// GroupNode is also skipped here as it handles dimensions in its own component
266+
// Sync XYFlow's dimension changes to our Effector stores
267+
// This prevents XYFlow from being reset to old dimensions on re-render
268+
if (!change.dimensions)
269+
break
270+
271+
const node = currentNodes[change.id]
272+
if (!node)
273+
break
274+
275+
// Only update if dimensions actually changed
276+
const currentDims = node.metadata.ui?.dimensions
277+
const newWidth = change.dimensions.width
278+
const newHeight = change.dimensions.height
279+
280+
if (currentDims?.width !== newWidth || currentDims?.height !== newHeight) {
281+
updateNodeDimensionsLocal({
282+
flowId: activeFlow.id!,
283+
nodeId: change.id,
284+
dimensions: {
285+
width: newWidth,
286+
height: newHeight,
287+
},
288+
version: node.getVersion(),
289+
})
290+
}
275291
break
276292
}
277293

0 commit comments

Comments
 (0)