Skip to content

fix: show required marker on legacy select widgets - #41927

Open
miachillgood wants to merge 9 commits into
appsmithorg:releasefrom
miachillgood:fix/required-label-marker
Open

fix: show required marker on legacy select widgets#41927
miachillgood wants to merge 9 commits into
appsmithorg:releasefrom
miachillgood:fix/required-label-marker

Conversation

@miachillgood

@miachillgood miachillgood commented Jun 26, 2026

Copy link
Copy Markdown

Summary

  • propagate isRequired to LabelWithTooltip for the legacy select widgets covered by [Bug]: Required marker (*) not displayed on required select widgets #41734
  • pass the existing widget-level isRequired prop through SelectWidget, MultiSelectWidget, MultiSelectWidgetV2, SingleSelectTreeWidget, and MultiSelectTreeWidget
  • keep the change scoped to the older widget implementations and leave WDS widgets untouched

Root cause

These widgets already expose and use isRequired for validation, but the prop was not forwarded to the label component, so the required marker never rendered in the label UI.

Testing

  • git diff --check
  • manually verified the prop flow in the touched widget/component pairs
  • could not run yarn eslint in this minimal checkout because the workspace does not include the local install state (Couldn't find the node_modules state file)

Closes #41734

Automation

/ok-to-test tags="@tag.All"

🔍 Cypress test results

Caution

If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Summary by CodeRabbit

  • New Features

    • Required-field indicators are now supported across select, multi-select, single tree-select, and multi tree-select widgets.
    • Widget labels consistently display the required state when configured.
  • Bug Fixes

    • Fixed cases where required status was not reflected in rendered widget labels.

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 9e3184e8-0a62-42a6-a0db-91f59d77af55

📥 Commits

Reviewing files that changed from the base of the PR and between 75847cf and 45eeee8.

📒 Files selected for processing (9)
  • app/client/src/widgets/MultiSelectTreeWidget/component/index.tsx
  • app/client/src/widgets/MultiSelectTreeWidget/widget/index.tsx
  • app/client/src/widgets/MultiSelectWidget/component/index.tsx
  • app/client/src/widgets/MultiSelectWidget/widget/index.tsx
  • app/client/src/widgets/MultiSelectWidgetV2/component/index.tsx
  • app/client/src/widgets/MultiSelectWidgetV2/widget/index.tsx
  • app/client/src/widgets/SelectWidget/component/index.tsx
  • app/client/src/widgets/SingleSelectTreeWidget/component/index.tsx
  • app/client/src/widgets/SingleSelectTreeWidget/widget/index.tsx
🚧 Files skipped from review as they are similar to previous changes (9)
  • app/client/src/widgets/SingleSelectTreeWidget/widget/index.tsx
  • app/client/src/widgets/SingleSelectTreeWidget/component/index.tsx
  • app/client/src/widgets/MultiSelectWidgetV2/component/index.tsx
  • app/client/src/widgets/MultiSelectWidgetV2/widget/index.tsx
  • app/client/src/widgets/MultiSelectTreeWidget/widget/index.tsx
  • app/client/src/widgets/MultiSelectWidget/widget/index.tsx
  • app/client/src/widgets/MultiSelectTreeWidget/component/index.tsx
  • app/client/src/widgets/SelectWidget/component/index.tsx
  • app/client/src/widgets/MultiSelectWidget/component/index.tsx

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


Walkthrough

Select, multi-select, and tree-select widgets now accept an optional isRequired prop. They forward it through widget views and components to LabelWithTooltip for required-state rendering.

Changes

Required-state wiring for select widgets

Layer / File(s) Summary
Select and multi-select label wiring
app/client/src/widgets/MultiSelectWidget/..., app/client/src/widgets/MultiSelectWidgetV2/..., app/client/src/widgets/SelectWidget/component/index.tsx
isRequired is added to multi-select props, forwarded from widget views, and passed to LabelWithTooltip. The select component also passes its required state to the label.
Multi tree-select required prop
app/client/src/widgets/MultiSelectTreeWidget/...
TreeSelectProps gains isRequired. The widget view forwards it, and MultiTreeSelectComponent passes it to LabelWithTooltip.
Single tree-select required prop
app/client/src/widgets/SingleSelectTreeWidget/...
TreeSelectProps gains isRequired. The widget view forwards it, and SingleSelectTreeComponent passes it to LabelWithTooltip.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 45eee

The change makes required markers render on the affected legacy select widgets without altering WDS widgets or validation behavior. No actionable merge-blocking risk remains after normal checks and review.

Poem

A required flag takes its flight
Through select fields into sight,
Tree labels receive the state,
Components carry it through the gate,
And stars appear where fields require light.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the primary change: displaying required markers on legacy select widgets.
Description check ✅ Passed The description explains the issue, root cause, affected widgets, testing performed, lint limitation, and linked issue. It is sufficiently complete despite omitting some optional template sections.
Linked Issues check ✅ Passed The changes satisfy issue #41734 by forwarding the existing isRequired prop to LabelWithTooltip across the five affected legacy select widget implementations.
Out of Scope Changes check ✅ Passed The changes are limited to the affected legacy select widgets and related documentation comments. WDS widgets and unrelated behavior remain unchanged.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 9 files.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Your free Security trial is over. An organization admin can activate Security or dismiss this notice.


Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

This PR has not seen activitiy for a while. It will be closed in 7 days unless further activity is detected.

@github-actions github-actions Bot added the Stale label Jul 3, 2026
@j0hnby

j0hnby commented Jul 4, 2026

Copy link
Copy Markdown

@miachillgood - this has been marked as stale as there are checks failed
~

❌ Failed checks (1 warning)

Check name | Status | Explanation | Resolution -- | -- | -- | -- Docstring Coverage | ⚠️ Warning | Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. | Write docstrings for the functions missing them to satisfy the coverage threshold.

@github-actions github-actions Bot removed the Stale label Jul 4, 2026
@github-actions

Copy link
Copy Markdown

This PR has not seen activitiy for a while. It will be closed in 7 days unless further activity is detected.

@github-actions github-actions Bot added the Stale label Jul 15, 2026
@j0hnby

j0hnby commented Jul 15, 2026

Copy link
Copy Markdown

@appsmith-bot who can help with this?

@sebastianiv21
sebastianiv21 requested a review from a team as a code owner July 16, 2026 04:19
@sebastianiv21 sebastianiv21 added the ok-to-test Required label for CI label Jul 16, 2026
@sebastianiv21

Copy link
Copy Markdown
Contributor

/build-deploy-preview skip-tests=true

@github-actions

Copy link
Copy Markdown

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/29471161982.
Workflow: On demand build Docker image and deploy preview.
skip-tests: true.
env: ``.
PR: 41927.
recreate: .
base-image-tag: .

@github-actions

Copy link
Copy Markdown

Deploy-Preview-URL: https://ce-41927.dp.appsmith.com

@sebastianiv21

Copy link
Copy Markdown
Contributor

@miachillgood @j0hnby You can test the feature using the following link: ce-41927.dp.appsmith.com

@sebastianiv21

Copy link
Copy Markdown
Contributor

@miachillgood please fix the linting errors

@github-actions github-actions Bot removed the Stale label Jul 16, 2026
@j0hnby

j0hnby commented Jul 17, 2026

Copy link
Copy Markdown

Tested - required markers are showing up for select and multi
image

@j0hnby

j0hnby commented Jul 20, 2026

Copy link
Copy Markdown

Tested again - looks great
image

@miachillgood

Copy link
Copy Markdown
Author

Thanks for re-testing.

I believe the lint issue was addressed in b36e713.

I also checked the remaining parse-tags failure in the PR automation workflow, and it looks unrelated to the widget change itself: the workflow hit Resource not accessible by integration while trying to update the PR body.

If there is anything else needed on the code side, please let me know and I can update it.

@sebastianiv21

Copy link
Copy Markdown
Contributor

Thanks @miachillgood and @j0hnby . Allow me some time to get back to you about the test suite failure

@github-actions

Copy link
Copy Markdown

This PR has not seen activitiy for a while. It will be closed in 7 days unless further activity is detected.

@github-actions github-actions Bot added the Stale label Jul 30, 2026
@miachillgood

Copy link
Copy Markdown
Author

Following up on this one since the stale bot fired again.

From my side, I don't see any new code-side feedback to address, and the remaining blocker still looks like the PR automation parse-tags failure rather than the widget change itself.

If there is anything else you want me to update in the PR, I can do that. Otherwise, I would appreciate a quick nudge once the test-suite/automation side is unblocked.

@github-actions github-actions Bot removed the Stale label Aug 2, 2026
@sebastianiv21

Copy link
Copy Markdown
Contributor

Hi @miachillgood Thanks for the heads up! We don't need any changes from your side for now. We're currently working on a fix to get the broken pipeline for community contributors working again. We'll let you know as soon as it's unblocked. Thanks for your patience!

@github-actions

Copy link
Copy Markdown

This PR has not seen activitiy for a while. It will be closed in 7 days unless further activity is detected.

@github-actions github-actions Bot added the Stale label Aug 10, 2026
@github-actions

Copy link
Copy Markdown

This PR has been closed because of inactivity.

@github-actions github-actions Bot closed this Aug 18, 2026
@miachillgood

Copy link
Copy Markdown
Author

This was closed automatically for inactivity while the last maintainer update said no code changes were needed and the community-contributor pipeline fix was still in progress. The deploy preview was tested successfully in the thread. I tried to reopen it, but GitHub did not allow the reopen action.

Could a maintainer please reopen it when the contributor pipeline is ready? I am happy to address any new code-side feedback if something else is needed.

@sebastianiv21 sebastianiv21 reopened this Aug 28, 2026
@github-actions github-actions Bot added awaiting-maintainer The next action on this pull request belongs to an Appsmith maintainer external-contribution Pull request submitted from outside the Appsmith repository labels Aug 28, 2026
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@sebastianiv21

Copy link
Copy Markdown
Contributor

/approve-ci

@github-actions github-actions Bot added ci-approved A maintainer approved privileged CI for the current revision and removed awaiting-maintainer The next action on this pull request belongs to an Appsmith maintainer labels Aug 31, 2026
@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/33405210871.
Cypress dashboard url: Click here!
All cypress tests have passed 🎉🎉🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-approved A maintainer approved privileged CI for the current revision external-contribution Pull request submitted from outside the Appsmith repository ok-to-test Required label for CI Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Required marker (*) not displayed on required select widgets

3 participants