Overview

To reproduce

  • Install canvas canvas_test_sdc datetime datetime_range canvas_dev_mode
  • Create a canvas page and add the "Multivalue Props Component
  • From the "Text (Unlimited)" example, remove the "Sample Text" item
  • See that this is first removed, and then re-added to the preview pane

Proposed resolution

User interface changes

CommentFileSizeAuthor
Screenshot from 2026-04-22 14-45-11.png116.4 KBjustafish

Issue fork canvas-3586289

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

justafish created an issue. See original summary.

bnjmnm made their first commit to this issue’s fork.

bnjmnm’s picture

Status: Active » Needs review

The last CI run passed though it was only with multivalue Playwright tests running. I just re-enabled the full set of tests and it's running as I type this. 🤞 it passes.

I'm setting to NR since this is potentially blocking other efforts. I've not had a chance to go over the code at the depth I'd like to before switching to NR - but I have no additional time today for this and want to keep things moving. Hope it's not too chaotic.

bnjmnm’s picture

Status: Needs review » Active

Rerunning the test and remove-related ones are still failing sometimes. At this point cant reproduce manually but I'll see what can be done.

bnjmnm’s picture

Status: Active » Needs review

OK

tim.plunkett made their first commit to this issue’s fork.

  • tim.plunkett committed 09f633a5 on 1.x authored by bnjmnm
    fix(Multi-Value Props): #3586289 Multivalue prop does not remove value...
wim leers’s picture

Component: Code » Component sources
Status: Needs review » Needs work
Issue tags: +Needs tests

I'm worried about the server-side changes in GeneratedFieldExplicitInputUxComponentSourceBase.

What would help me understand and review this efficiently (and also to avoid regressions): test coverage in GeneratedFieldExplicitInputUxComponentSourceBaseTestBase or SingleDirectoryComponentTest.

It seems the server-side changes relate to #3516754-11: Review how we ascertain a `type: array` (aka multiple-cardinality) SDC/JS prop value is empty.