Skip to content

fix: disable auto-translation on workflow editor to prevent React reconciliation crashes#864

Merged
eskp merged 2 commits intostagingfrom
fix/workflow-editor-translate-crash
Apr 21, 2026
Merged

fix: disable auto-translation on workflow editor to prevent React reconciliation crashes#864
eskp merged 2 commits intostagingfrom
fix/workflow-editor-translate-crash

Conversation

@joelorzet
Copy link
Copy Markdown

Summary

Fixes two production errors fired 10 minutes ago on /workflows/:workflowId:

Both stack traces are 100% inside react-dom-client.production.js (no app code). Same trace_id, same render commit, 8ms apart. Affected user: Chrome Mobile on Android 10, locale zh-CN, timezone Asia/Shanghai — classic fingerprint of Chrome's auto-translation mutating the DOM behind React's back.

Chrome/Google Translate replaces text nodes with <font> wrappers. When React later tries parent.removeChild(child) / parent.insertBefore(newNode, ref), the node isn't where React left it, so the browser throws NotFoundError. The reconciler can't recover and the editor unmounts.

Fix

Wrap the workflow editor subtree in a translate="no" div. Auto-translators skip the subtree, React's DOM assumptions hold. display: contents keeps the wrapper transparent to layout.

The marketing / hub / listing pages remain translatable, so SEO and accessibility for non-English users aren't affected.

Sentry references

Fixes KEEPERHUB-PRODUCTION-C
Fixes KEEPERHUB-PRODUCTION-D

@joelorzet joelorzet requested review from a team, OleksandrUA, eskp and suisuss and removed request for a team April 15, 2026 17:20
@eskp eskp merged commit f2f8d72 into staging Apr 21, 2026
32 checks passed
@eskp eskp deleted the fix/workflow-editor-translate-crash branch April 21, 2026 06:53
@github-actions
Copy link
Copy Markdown

🧹 PR Environment Cleaned Up

The PR environment has been successfully deleted.

Deleted Resources:

  • Namespace: pr-864
  • All Helm releases (Keeperhub, Scheduler, Event services)
  • PostgreSQL Database (including data)
  • LocalStack, Redis
  • All associated secrets and configs

All resources have been cleaned up and will no longer incur costs.

@github-actions
Copy link
Copy Markdown

ℹ️ No PR Environment to Clean Up

No PR environment was found for this PR. This is expected if:

  • The PR never had the deploy-pr-environment label
  • The environment was already cleaned up
  • The deployment never completed successfully

@eskp eskp mentioned this pull request Apr 21, 2026
4 tasks
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.

2 participants