Skip to content

Conversation

@vivekchavan14
Copy link
Contributor

@vivekchavan14 vivekchavan14 commented Aug 14, 2025

The Problem:
• Widget values were stored as a simple array by index position
• Widget creation order depended on JSON key ordering from backend
• When JSON key order changed, widgets got created in different order
• Same indexed values got assigned to wrong widgets = corruption

The Fix:
• Changed from index-based to name-based widget value storage
• Now stores {name: "seed", value: 12345} instead of just 12345
• On load, matches values by widget name instead of position
• Fully backward compatible - old workflows still work fine

fix #4983

┆Issue is synchronized with this Notion page by Unito

- Replace index-based widget value mapping with name-based mapping
- Maintain backward compatibility with legacy array format
- Serialize widget values as {name, value} objects instead of plain arrays
- Prevent widget value corruption when JSON key ordering changes
- All existing tests pass (1213/1214)
@vivekchavan14 vivekchavan14 requested a review from a team as a code owner August 14, 2025 23:22
@github-actions
Copy link

github-actions bot commented Aug 14, 2025

⚠️ Warnings

⚠️ Warning: E2E Test Coverage Missing

If this PR modifies behavior that can be covered by browser-based E2E tests, those tests are required. PRs lacking applicable test coverage may not be reviewed until added. Please add or update browser tests to ensure code quality and prevent regressions.

⚠️ Warning: Visual Documentation Missing

If this PR changes user-facing behavior, visual proof (screen recording or screenshot) is required. PRs without applicable visual documentation may not be reviewed until provided.
You can add it by:

  • GitHub: Drag & drop media directly into the PR description

  • YouTube: Include a link to a short demo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Node widget values corrupted when input order differs due to JSON key ordering

1 participant