Fix group selection selecting nodes#12099
Conversation
📝 WalkthroughWalkthroughThe PR modifies the canvas store's selection logic to exclude group instances from computed selected node IDs. The ChangesGroup Selection Filtering
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error, 1 warning)
✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🎭 Playwright: ✅ 1557 passed, 0 failed · 1 flaky📊 Browser Reports
|
🎨 Storybook: ✅ Built — View Storybook |
📦 Bundle: 5.29 MB gzip 🔴 +35 BDetailsSummary
Category Glance App Entry Points — 31.6 kB (baseline 31.6 kB) • ⚪ 0 BMain entry bundles and manifests
Status: 1 added / 1 removed Graph Workspace — 1.24 MB (baseline 1.24 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration
Status: 1 added / 1 removed Views & Navigation — 82.4 kB (baseline 82.4 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces
Status: 9 added / 9 removed / 2 unchanged Panels & Settings — 491 kB (baseline 491 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens
Status: 10 added / 10 removed / 12 unchanged User & Accounts — 17.6 kB (baseline 17.6 kB) • ⚪ 0 BAuthentication, profile, and account management bundles
Status: 5 added / 5 removed / 2 unchanged Editors & Dialogs — 112 kB (baseline 112 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors
Status: 4 added / 4 removed UI Components — 62.9 kB (baseline 62.9 kB) • ⚪ 0 BReusable component library chunks
Status: 5 added / 5 removed / 9 unchanged Data & Services — 3.12 MB (baseline 3.12 MB) • 🔴 +22 BStores, services, APIs, and repositories
Status: 13 added / 13 removed / 4 unchanged Utilities & Hooks — 366 kB (baseline 366 kB) • ⚪ 0 BHelpers, composables, and utility bundles
Status: 13 added / 13 removed / 18 unchanged Vendor & Third-Party — 9.94 MB (baseline 9.94 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 16 unchanged Other — 8.94 MB (baseline 8.94 MB) • ⚪ 0 BBundles that do not match a named category
Status: 57 added / 57 removed / 79 unchanged ⚡ Performance Report
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-05-09T04:14:08.759Z",
"gitSha": "95889df53fbea070622eb86ecafda212bf56d3a7",
"branch": "austin/fix-group-selecting-node",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2060.8399999999847,
"styleRecalcs": 5,
"styleRecalcDurationMs": 4.928999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 484.469,
"heapDeltaBytes": 19393640,
"heapUsedBytes": 68528596,
"domNodes": -265,
"jsHeapTotalBytes": 19001344,
"scriptDurationMs": 22.442000000000004,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-idle",
"durationMs": 2061.230000000023,
"styleRecalcs": 11,
"styleRecalcDurationMs": 10.021000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 438.71900000000005,
"heapDeltaBytes": 19003196,
"heapUsedBytes": 68770656,
"domNodes": -259,
"jsHeapTotalBytes": 18571264,
"scriptDurationMs": 24.962999999999997,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1924.1530000000466,
"styleRecalcs": 77,
"styleRecalcDurationMs": 41.761,
"layouts": 12,
"layoutDurationMs": 4.6499999999999995,
"taskDurationMs": 854.4369999999999,
"heapDeltaBytes": 12678800,
"heapUsedBytes": 62750696,
"domNodes": -267,
"jsHeapTotalBytes": 21716992,
"scriptDurationMs": 117.333,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1878.300999999965,
"styleRecalcs": 75,
"styleRecalcDurationMs": 41.80200000000001,
"layouts": 12,
"layoutDurationMs": 4.564,
"taskDurationMs": 887.236,
"heapDeltaBytes": 4921980,
"heapUsedBytes": 52857256,
"domNodes": -261,
"jsHeapTotalBytes": 16642048,
"scriptDurationMs": 137.07,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1736.3310000000638,
"styleRecalcs": 32,
"styleRecalcDurationMs": 22.636,
"layouts": 6,
"layoutDurationMs": 0.7509999999999999,
"taskDurationMs": 354.522,
"heapDeltaBytes": 356020,
"heapUsedBytes": 48561656,
"domNodes": 79,
"jsHeapTotalBytes": 14942208,
"scriptDurationMs": 26.843,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1759.4429999999193,
"styleRecalcs": 30,
"styleRecalcDurationMs": 19.389,
"layouts": 6,
"layoutDurationMs": 0.851,
"taskDurationMs": 434.592,
"heapDeltaBytes": -4018632,
"heapUsedBytes": 44681276,
"domNodes": -215,
"jsHeapTotalBytes": 19787776,
"scriptDurationMs": 27.276999999999994,
"eventListeners": -120,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "dom-widget-clipping",
"durationMs": 543.7500000000455,
"styleRecalcs": 11,
"styleRecalcDurationMs": 7.632,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 331.55999999999995,
"heapDeltaBytes": 14969472,
"heapUsedBytes": 63875984,
"domNodes": 18,
"jsHeapTotalBytes": 17039360,
"scriptDurationMs": 52.46000000000001,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "dom-widget-clipping",
"durationMs": 611.8979999999965,
"styleRecalcs": 10,
"styleRecalcDurationMs": 7.032,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 379.085,
"heapDeltaBytes": 15068680,
"heapUsedBytes": 64062616,
"domNodes": 16,
"jsHeapTotalBytes": 17039360,
"scriptDurationMs": 64.499,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.663333333333338,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "large-graph-idle",
"durationMs": 2105.6279999999106,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.191999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 672.881,
"heapDeltaBytes": 42398848,
"heapUsedBytes": 99982216,
"domNodes": -260,
"jsHeapTotalBytes": 33058816,
"scriptDurationMs": 108.049,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2051.469999999995,
"styleRecalcs": 7,
"styleRecalcDurationMs": 6.869,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 661.4050000000001,
"heapDeltaBytes": 42359656,
"heapUsedBytes": 101841248,
"domNodes": -267,
"jsHeapTotalBytes": 33320960,
"scriptDurationMs": 102.89299999999999,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-pan",
"durationMs": 2169.3129999999883,
"styleRecalcs": 67,
"styleRecalcDurationMs": 21.21,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1278.671,
"heapDeltaBytes": 40846596,
"heapUsedBytes": 101125880,
"domNodes": -265,
"jsHeapTotalBytes": 46952448,
"scriptDurationMs": 399.51399999999995,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "large-graph-pan",
"durationMs": 2253.3880000000863,
"styleRecalcs": 68,
"styleRecalcDurationMs": 21.374999999999996,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1237.1989999999998,
"heapDeltaBytes": 41796416,
"heapUsedBytes": 103260396,
"domNodes": -265,
"jsHeapTotalBytes": 37748736,
"scriptDurationMs": 401.254,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3270.027999999911,
"styleRecalcs": 66,
"styleRecalcDurationMs": 22.686999999999998,
"layouts": 60,
"layoutDurationMs": 9.053,
"taskDurationMs": 1444.126,
"heapDeltaBytes": 49411756,
"heapUsedBytes": 110999904,
"domNodes": -269,
"jsHeapTotalBytes": 37253120,
"scriptDurationMs": 478.637,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3331.4960000000156,
"styleRecalcs": 64,
"styleRecalcDurationMs": 21.803000000000004,
"layouts": 60,
"layoutDurationMs": 9.422,
"taskDurationMs": 1538.8509999999999,
"heapDeltaBytes": 46301540,
"heapUsedBytes": 108338484,
"domNodes": -270,
"jsHeapTotalBytes": 41185280,
"scriptDurationMs": 523.381,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "minimap-idle",
"durationMs": 2059.4939999999724,
"styleRecalcs": 7,
"styleRecalcDurationMs": 8.873000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 674.9749999999999,
"heapDeltaBytes": 36030464,
"heapUsedBytes": 98179912,
"domNodes": -266,
"jsHeapTotalBytes": 26562560,
"scriptDurationMs": 99.98000000000002,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2026.224999999954,
"styleRecalcs": 8,
"styleRecalcDurationMs": 9.209999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 635.5670000000001,
"heapDeltaBytes": 39388864,
"heapUsedBytes": 100986892,
"domNodes": -267,
"jsHeapTotalBytes": 33320960,
"scriptDurationMs": 93.374,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 576.7190000000255,
"styleRecalcs": 47,
"styleRecalcDurationMs": 12.848000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 372.76200000000006,
"heapDeltaBytes": -9655208,
"heapUsedBytes": 58809036,
"domNodes": 19,
"jsHeapTotalBytes": 18612224,
"scriptDurationMs": 117.266,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999727
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 585.254999999961,
"styleRecalcs": 45,
"styleRecalcDurationMs": 11.352999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 376.76599999999996,
"heapDeltaBytes": 8928892,
"heapUsedBytes": 57686884,
"domNodes": 16,
"jsHeapTotalBytes": 15990784,
"scriptDurationMs": 121.38099999999999,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.669999999999998,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-idle",
"durationMs": 2024.165000000039,
"styleRecalcs": 10,
"styleRecalcDurationMs": 8.757000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 348.92999999999995,
"heapDeltaBytes": 1099768,
"heapUsedBytes": 67029656,
"domNodes": 20,
"jsHeapTotalBytes": 19755008,
"scriptDurationMs": 19.372,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 2036.7439999999988,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.589,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 492.94800000000004,
"heapDeltaBytes": 19205552,
"heapUsedBytes": 68501936,
"domNodes": -261,
"jsHeapTotalBytes": 19001344,
"scriptDurationMs": 25.496000000000002,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1780.7779999999411,
"styleRecalcs": 74,
"styleRecalcDurationMs": 41.855000000000004,
"layouts": 16,
"layoutDurationMs": 5.522,
"taskDurationMs": 861.4440000000001,
"heapDeltaBytes": -8843532,
"heapUsedBytes": 57580588,
"domNodes": -264,
"jsHeapTotalBytes": 28008448,
"scriptDurationMs": 99.974,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1805.66900000008,
"styleRecalcs": 77,
"styleRecalcDurationMs": 51.278000000000006,
"layouts": 16,
"layoutDurationMs": 6.129,
"taskDurationMs": 921.5110000000001,
"heapDeltaBytes": -17098384,
"heapUsedBytes": 51330068,
"domNodes": -260,
"jsHeapTotalBytes": 25649152,
"scriptDurationMs": 106.077,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-transition-enter",
"durationMs": 1095.6790000000183,
"styleRecalcs": 16,
"styleRecalcDurationMs": 27.192999999999994,
"layouts": 4,
"layoutDurationMs": 11.628000000000004,
"taskDurationMs": 902.4109999999998,
"heapDeltaBytes": -24058912,
"heapUsedBytes": 118635872,
"domNodes": 12631,
"jsHeapTotalBytes": -30216192,
"scriptDurationMs": 35.34600000000002,
"eventListeners": 1639,
"totalBlockingTimeMs": 163,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8369.490999999925,
"styleRecalcs": 249,
"styleRecalcDurationMs": 64.28900000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4459.625999999999,
"heapDeltaBytes": 93224284,
"heapUsedBytes": 150761792,
"domNodes": -263,
"jsHeapTotalBytes": 76255232,
"scriptDurationMs": 1453.011,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8422.290999999972,
"styleRecalcs": 249,
"styleRecalcDurationMs": 72.54,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4709.022999999999,
"heapDeltaBytes": 75560772,
"heapUsedBytes": 134373256,
"domNodes": -264,
"jsHeapTotalBytes": 67342336,
"scriptDurationMs": 1408.356,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.80000000000109
},
{
"name": "vue-large-graph-idle",
"durationMs": 13473.209999999995,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 13446.282,
"heapDeltaBytes": 39487436,
"heapUsedBytes": 291427548,
"domNodes": -8330,
"jsHeapTotalBytes": 56422400,
"scriptDurationMs": 736.903,
"eventListeners": -16486,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333326,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 14171.251999999982,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 14141.417,
"heapDeltaBytes": 30090232,
"heapUsedBytes": 274834632,
"domNodes": -8335,
"jsHeapTotalBytes": 38072320,
"scriptDurationMs": 680.984,
"eventListeners": -16488,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.220000000000073,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "vue-large-graph-pan",
"durationMs": 16577.91599999996,
"styleRecalcs": 92,
"styleRecalcDurationMs": 26.21499999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 16545.990999999998,
"heapDeltaBytes": 31706380,
"heapUsedBytes": 306845140,
"domNodes": -8329,
"jsHeapTotalBytes": 32481280,
"scriptDurationMs": 1171.4820000000002,
"eventListeners": -16486,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.223333333333358,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-pan",
"durationMs": 17171.392999999967,
"styleRecalcs": 98,
"styleRecalcDurationMs": 27.09400000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 17142.247,
"heapDeltaBytes": 16212504,
"heapUsedBytes": 292517060,
"domNodes": -8329,
"jsHeapTotalBytes": 31518720,
"scriptDurationMs": 1196.218,
"eventListeners": -16488,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.219999999999953,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "workflow-execution",
"durationMs": 488.8059999999541,
"styleRecalcs": 19,
"styleRecalcDurationMs": 31.536999999999995,
"layouts": 5,
"layoutDurationMs": 1.9819999999999998,
"taskDurationMs": 162.468,
"heapDeltaBytes": 5362184,
"heapUsedBytes": 55402388,
"domNodes": 170,
"jsHeapTotalBytes": 0,
"scriptDurationMs": 32.958,
"eventListeners": 69,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.670000000000012,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "workflow-execution",
"durationMs": 480.2740000000085,
"styleRecalcs": 17,
"styleRecalcDurationMs": 29.346,
"layouts": 5,
"layoutDurationMs": 1.8050000000000002,
"taskDurationMs": 142.84699999999998,
"heapDeltaBytes": 5035900,
"heapUsedBytes": 56501884,
"domNodes": 155,
"jsHeapTotalBytes": 524288,
"scriptDurationMs": 24.654000000000003,
"eventListeners": 69,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
}
]
} |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/renderer/core/canvas/canvasStore.test.ts (1)
88-92: ⚡ Quick winConsider strengthening the test to verify the fix more thoroughly.
The test validates that groups are excluded from
selectedNodeIds, which is good. However, to ensure the test properly validates the fix (which specifically addresses groups with ids), consider:
- Explicitly setting or verifying that the group has an
idproperty, ensuring the test would fail without theisLGraphNodefilter.- Adding a complementary test case that verifies nodes are included in
selectedNodeIds.- Removing the
asynckeyword since this test doesn't useawait.🧪 Suggested test improvements
- it('Does not include groups in selected nodeIds', async () => { - store.selectedItems = [new LGraphGroup()] + it('Does not include groups in selected nodeIds', () => { + const group = new LGraphGroup() + group.id = 1 + store.selectedItems = [group] expect(store.selectedNodeIds).toHaveLength(0) })🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/renderer/core/canvas/canvasStore.test.ts` around lines 88 - 92, Update the test to cover the bug where groups with ids were being included: create a LGraphGroup instance and explicitly set its id, assign it to store.selectedItems and assert store.selectedNodeIds remains empty (ensuring the isLGraphNode filter works); add a complementary test that sets store.selectedItems to a real node object (not a group) and assert store.selectedNodeIds includes that node's id; and remove the unnecessary async keyword from the test functions. Use the symbols LGraphGroup, store.selectedItems, store.selectedNodeIds and isLGraphNode to locate the relevant tests and logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/renderer/core/canvas/canvasStore.test.ts`:
- Around line 88-92: Update the test to cover the bug where groups with ids were
being included: create a LGraphGroup instance and explicitly set its id, assign
it to store.selectedItems and assert store.selectedNodeIds remains empty
(ensuring the isLGraphNode filter works); add a complementary test that sets
store.selectedItems to a real node object (not a group) and assert
store.selectedNodeIds includes that node's id; and remove the unnecessary async
keyword from the test functions. Use the symbols LGraphGroup,
store.selectedItems, store.selectedNodeIds and isLGraphNode to locate the
relevant tests and logic.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: a5f9859c-bed8-4390-b426-780e77345ac0
📒 Files selected for processing (2)
src/renderer/core/canvas/canvasStore.test.tssrc/renderer/core/canvas/canvasStore.ts
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #12099 +/- ##
===========================================
- Coverage 73.42% 58.72% -14.70%
===========================================
Files 1510 1401 -109
Lines 84608 71427 -13181
Branches 22298 18881 -3417
===========================================
- Hits 62120 41946 -20174
- Misses 21676 29004 +7328
+ Partials 812 477 -335
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 994 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Fix group selection incorrectly selecting nodes of equal id in vue mode.
┆Issue is synchronized with this Notion page by Unito