Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

fix(workflow): a save's response must not overwrite a newer local edit (WorkflowPersistService)

Cerrado
#8,536 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@yangzhang75 ya está trabajando en esto.

Desde el 14/9/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

What happened?

Every save applies its response as the workflow's metadata: the workspace autosave (workspace.component.ts), the menu's own save (MenuComponent.persistWorkflow: rename, description, revert) and the Canvas -> Form View switch's save. Saves are sent one at a time since #8456, so a response can land after a newer local edit and overwrite it:

  • Rename the workflow while an autosave is in flight: the autosave's response puts the old name back (until the rename's own save answers).
  • Click Form View, then rename while the switch's save is out: the rename's save is queued behind the switch's, the switch navigates when its own save completes, and the full-page load aborts the rename's save (metadata edits do not emit workflowChanged(), so the hand-over does not wait for them).

Deferred from #8456 on review (threads on menu.component.ts:692 and :231): the rule belongs in WorkflowPersistService, the one place every save goes through, not in one caller.

How to reproduce?
  1. Open a workflow on the operator canvas and make a graph edit (an autosave starts).
  2. Before it answers, rename the workflow in the title bar.
  3. The title flips back to the old name when the autosave's response is applied.

Or: click Form View and rename during the hand-over's save; the rename is lost.

Proposed fix

In WorkflowPersistService: do not apply (or hand back for applying) a response a newer local edit has overtaken, for every caller alike -- e.g. a revision per save, or apply from the response only the fields that still match what was sent; and let the Form View hand-over wait for the save queue to drain rather than for its own save only.

Version/Branch

main, after #8456.

Commit Hash

main

Browsers

All

Relevant log output

n/a

Lenguaje dominante
Scala
Estrellas
321
Forks
192
Merge medio
2 d 8 h
PR fusionados (30 d)
131

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/texera

Todos los issues de apache/texera

Issues similares

Más issues de Scala

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.