Skip to content

feat(config): add form-view-enabled feature flag, default off - #8029

Open
yangzhang75 wants to merge 1 commit into
apache:mainfrom
yangzhang75:formview-pr1-flag
Open

feat(config): add form-view-enabled feature flag, default off#8029
yangzhang75 wants to merge 1 commit into
apache:mainfrom
yangzhang75:formview-pr1-flag

Conversation

@yangzhang75

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Adds a single feature flag form-view-enabled (default off) that will gate the entire Form View feature, so the rest of the stacked series can merge without exposing an unfinished feature to users.

  • common/config/.../gui.conf: gui.workflow-workspace.form-view-enabled = false (env-overridable)
  • GuiConfig: read it as guiWorkflowWorkspaceFormViewEnabled
  • ConfigResource: expose via /api/config/gui as formViewEnabled
  • frontend gui-config.ts + gui-config.service.mock.ts: add formViewEnabled

Nothing reads the flag yet; it is flipped on only by the final PR in the series.

Any related issues, documentation, discussions?

Closes #8013.
Part of #8011 — first of a stacked series of 16 PRs (1/16)

How was this PR tested?

GuiConfigSpec asserts the flag parses; ng build and the existing frontend test suite pass. No behavior change — nothing consumes the flag yet.

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

Generated-by: Claude Code (Claude Opus)

@github-actions github-actions Bot added frontend Changes related to the frontend GUI common platform Non-amber Scala service paths labels Aug 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • Contributors with relevant context: @zyratlo
    You can notify them by mentioning @zyratlo in a comment.

@yangzhang75

Copy link
Copy Markdown
Contributor Author

/request-review @mengw15

@codecov-commenter

codecov-commenter commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.31%. Comparing base (7fbf64e) to head (986ea5a).
⚠️ Report is 14 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #8029      +/-   ##
============================================
+ Coverage     93.14%   93.31%   +0.17%     
- Complexity     4654     4689      +35     
============================================
  Files          1174     1179       +5     
  Lines         47580    47716     +136     
  Branches       5316     5314       -2     
============================================
+ Hits          44318    44526     +208     
+ Misses         1785     1738      -47     
+ Partials       1477     1452      -25     
Flag Coverage Δ *Carryforward flag
access-control-service 81.00% <ø> (ø)
agent-service 99.32% <ø> (ø) Carriedforward from 7fbf64e
amber 89.46% <100.00%> (+0.22%) ⬆️
computing-unit-managing-service 73.67% <ø> (ø)
config-service 86.86% <100.00%> (+0.13%) ⬆️
file-service 86.70% <ø> (+1.14%) ⬆️
frontend 95.82% <ø> (+0.17%) ⬆️
notebook-migration-service 79.31% <ø> (ø)
pyamber 97.57% <ø> (ø) Carriedforward from 7fbf64e
workflow-compiling-service 77.19% <ø> (ø)

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new GUI feature flag (form-view-enabled, default off) to gate the upcoming Form View feature across the config layer (HOCON → Scala GuiConfig/api/config/gui JSON) and exposes it in the frontend GUI config typing/mocks.

Changes:

  • Add gui.workflow-workspace.form-view-enabled to gui.conf with an env override and a Scala accessor (GuiConfig.guiWorkflowWorkspaceFormViewEnabled) plus a parsing assertion in GuiConfigSpec.
  • Expose the flag from ConfigResource /api/config/gui as formViewEnabled.
  • Add formViewEnabled to the frontend GuiConfig interface and MockGuiConfigService defaults.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
common/config/src/main/resources/gui.conf Introduces form-view-enabled with default false and env override.
common/config/src/main/scala/org/apache/texera/common/config/GuiConfig.scala Adds Scala accessor for the new GUI config key.
common/config/src/test/scala/org/apache/texera/common/config/GuiConfigSpec.scala Adds a regression assertion that the default resolves to false when env override is unset.
config-service/src/main/scala/org/apache/texera/service/resource/ConfigResource.scala Adds formViewEnabled to the /api/config/gui response payload.
frontend/src/app/common/type/gui-config.ts Extends the frontend GUI config type with formViewEnabled.
frontend/src/app/common/service/gui-config.service.mock.ts Updates the frontend GUI config mock defaults to include formViewEnabled.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread frontend/src/app/common/service/gui-config.service.mock.ts
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

⚠️ Benchmark changes need a look

🟢 2 better · 🔴 6 worse · ⚪ 7 noise (<±5%) · 0 without baseline

Compared against main 57a4230 benchmarked on this same runner, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.

Dashboard · Run

config throughput MB/s latency max Δ latest / 7d
🔴 bs=10 sw=10 sl=64 377 0.23 25,895/34,816/34,816 us 🔴 +14.1% / 🔴 +151.5%
🔴 bs=100 sw=10 sl=64 783 0.478 126,244/157,550/157,550 us 🟢 -10.4% / 🔴 +68.2%
bs=1000 sw=10 sl=64 934 0.57 1,064,500/1,124,964/1,124,964 us ⚪ within ±5% / 🔴 +24.6%
Baseline details

Latest main 57a4230 from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 377 tuples/sec 418 tuples/sec 894.86 tuples/sec -9.8% -57.9%
bs=10 sw=10 sl=64 MB/s 0.23 MB/s 0.255 MB/s 0.546 MB/s -9.8% -57.9%
bs=10 sw=10 sl=64 p50 25,895 us 22,697 us 11,139 us +14.1% +132.5%
bs=10 sw=10 sl=64 p95 34,816 us 32,573 us 13,843 us +6.9% +151.5%
bs=10 sw=10 sl=64 p99 34,816 us 32,573 us 16,839 us +6.9% +106.8%
bs=100 sw=10 sl=64 throughput 783 tuples/sec 785 tuples/sec 1,166 tuples/sec -0.3% -32.8%
bs=100 sw=10 sl=64 MB/s 0.478 MB/s 0.479 MB/s 0.711 MB/s -0.2% -32.8%
bs=100 sw=10 sl=64 p50 126,244 us 118,932 us 87,509 us +6.1% +44.3%
bs=100 sw=10 sl=64 p95 157,550 us 175,791 us 93,675 us -10.4% +68.2%
bs=100 sw=10 sl=64 p99 157,550 us 175,791 us 102,153 us -10.4% +54.2%
bs=1000 sw=10 sl=64 throughput 934 tuples/sec 918 tuples/sec 1,198 tuples/sec +1.7% -22.0%
bs=1000 sw=10 sl=64 MB/s 0.57 MB/s 0.56 MB/s 0.731 MB/s +1.8% -22.1%
bs=1000 sw=10 sl=64 p50 1,064,500 us 1,086,625 us 859,766 us -2.0% +23.8%
bs=1000 sw=10 sl=64 p95 1,124,964 us 1,181,214 us 902,897 us -4.8% +24.6%
bs=1000 sw=10 sl=64 p99 1,124,964 us 1,181,214 us 937,957 us -4.8% +19.9%
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,531.20,200,128000,377,0.230,25894.77,34816.42,34816.42
1,100,10,64,20,2553.72,2000,1280000,783,0.478,126243.96,157549.61,157549.61
2,1000,10,64,20,21404.97,20000,12800000,934,0.570,1064500.04,1124963.96,1124963.96

Introduces gui.workflow-workspace.form-view-enabled (default false) plumbed through GuiConfig
and ConfigResource to the frontend GuiConfig type and mock, guarded by a GuiConfigSpec assertion.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

common frontend Changes related to the frontend GUI platform Non-amber Scala service paths

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): add form-view-enabled feature flag, default off

3 participants