Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Closed
#8,536 2 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@yangzhang75 is already working on this.

Since Sep 14, 2026.

Assessment

This issue has not been assessed yet.

Description

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

Dominant language
Scala
Stars
316
Forks
192
Avg merge
4d 17h
Merged PRs (30d)
141

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/texera

All issues in apache/texera

Similar issues

More Scala issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.