The GitHub Actions job "Build and push images" on texera.git/main has failed.
Run started by GitHub user bobbai00 (triggered by bobbai00).

Head commit for run:
b28faee36ff27bca7d47acb13de27c99828f6981 / yangzhang75 <[email protected]>
feat(workflow): persist is_form_view and add Form View toggle endpoints (#8125)

### What changes were proposed in this PR?

Let the backend remember, per workflow, which view it opens in by
default (canvas or form), and expose setting it. Backend + DB only; no
UI or form logic. The Form View is available for every workflow, so this
column is a default-entry preference, not a capability gate.

- **Schema**: new column `workflow.default_view VARCHAR NOT NULL DEFAULT
'CANVAS'` (values `CANVAS`, `FORM`) in `sql/updates/44.sql`,
`changelog.xml`, `texera_ddl.sql`.
- **Write**: `PUT /set-default-view/{wid}` with a JSON body `{"view":
"CANVAS" | "FORM"}`, guarded by write access and validated (any other
value is a 400). It updates only that column, never rewriting content or
bumping the modified time. A plain save preserves the stored value; a
duplicate and a hub-clone both inherit it.
- **Read**: `UnifiedResourceSchema` and `WorkflowSearchQueryBuilder`
include the value in listing/search;
`WorkflowVersionResource.cloneVersion` carries the source workflow's
current value onto the clone; `retrieveWorkflow` /
`retrievePublicWorkflow` report it.

Naming and migration notes: the value is a `default_view` enum (canvas
or form) rather than an on/off flag, and the Form View's actual
definition still lives in `content.formBinding`; only this preference is
denormalized into a column. The migration is `44.sql` because `43.sql`
is reserved for a sibling PR and `42.sql` was the latest on main.

### Any related issues, documentation, discussions?

Closes #8014. Part of the Form View parent issue #8011; builds on the
feature flag from #8013.

### How was this PR tested?

`WorkflowResourceSpec` covers the set-default-view endpoint: the
form/canvas switch, rejection without write access, rejection of an
invalid view value, survival across a plain save, inheritance by both
`duplicateWorkflow` and `cloneWorkflow`, reporting by both retrieve
paths, and `formBinding` preserved when switching back to canvas.
Together with the version-clone, listing/search and unified-schema
specs, the four affected specs run 127 green. Compiled and run against
an ephemeral Postgres so jOOQ regenerated the `default_view` column.

### Was this PR authored or co-authored using generative AI tooling?

Co-authored with Claude Code.

Co-authored-by: Claude Opus 4.8 <[email protected]>

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

With regards,
GitHub Actions via GitBox

Reply via email to