The GitHub Actions job "Backport Approval Check" on 
texera.git/fix-8315-shared-nonshared-state has failed.
Run started by GitHub user Copilot (triggered by Copilot).

Head commit for run:
6667f696282ede17339f819d04bdd34480eef076 / Yang Zhang <[email protected]>
fix(workflow): let an edit cancel a waiting seed, never publish it before the 
sync, and clear both keys alike

Review follow-up on #8351, five points.

A seed of a cleared key (undefined) had no identity: nothing in the pending
map told "still waiting" from "superseded by an edit", so a definition the
author wrote before the first sync was deleted when the seed of a workflow
opened without one landed, silently. Each seed is its own object now, and a
local write to the key cancels it in the map's observer.

The 5-second fallback wrote the database copy before the sync on a room that
was merely slow, which is the concurrent write the wait exists to avoid. The
copy now goes into the document only on the first sync (at once when the
document is not connecting or has already synced); until then reads and every
save carry it, and never seeding it loses nothing, since nobody else was in
that document either.

Presence and value of the form definition came from different places while a
seed waited (the map's has against readContentMeta's fallback), so a stored
definition that was present but empty dropped out of an autosave in that
window. hasContentMeta mirrors readContentMeta and getWorkflowContent uses it.

The blank reload cleared the definition through the seed but the settings
through clearWorkflow's setWorkflowSettings(undefined), which wrote into the
document just destroyed, before the reloading flag, and announced an edit.
The blank branch now seeds both keys and clearWorkflow writes neither; a
waiting settings copy from the previous workflow no longer reaches the blank
one either.

Spec: a definition written while the seed of a workflow opened without one
waited survives the sync; 60 s without a sync leaves the document untouched
while reads and saves carry the copy, and the sync lands it; a present but
empty definition stays in the content while the seed waits; clearing the page
announces nothing and writes nothing; a blank workflow does not read the
previous one's waiting settings copy.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/36367836245

With regards,
GitHub Actions via GitBox

Reply via email to