Skip to content

fix!: set full block field status explicitly#9840

Open
maribethb wants to merge 1 commit intoRaspberryPiFoundation:v13from
maribethb:full-block-fields
Open

fix!: set full block field status explicitly#9840
maribethb wants to merge 1 commit intoRaspberryPiFoundation:v13from
maribethb:full-block-fields

Conversation

@maribethb
Copy link
Copy Markdown
Contributor

The basics

The details

Resolves

Fixes #9838

Proposed Changes

  • Explicitly sets the isFullBlockField method to return false, then overrides it for specific fields that are rendered that way
  • Removes internal from the above method since custom fields may need to override it
  • Updates full-block input fields to not have a border rect at all, instead of hiding it
  • Updates the setSize method to account for whether or not the borderRect actually exists

Reason for Changes

Any field that doesn't have a borderRect was falsely claiming to be a full-block field. This includes image and text fields, even if they weren't the only fields on a block. This caused problems when we focus and label full-block fields differently.

Test Coverage

Tests pass and manually verified correct behavior as well, for both zelos and thrasos

Documentation

BREAKING CHANGES

This breaking change only affects you in a few scenarios:

  • you have custom fields that should be rendered as full-block fields.
    • If so, you should override isFullBlockField and set it to return true only if the field should be rendered as a full-block field (this includes checking whether the source block is a simple reporter block aka has only one field and has an output connection)
  • you have a subclass of FieldInput that overrides initView without calling super, or creates a borderRect element that is sometimes hidden
    • if so, either don't create the border rect element (rather than just hiding it) or use custom sizing logic to account for the presence of the border rect element
  • you have a custom renderer that renders full-block fields
    • if so, test that your renderer works for input, dropdown, and variable fields, noting that borderRect elements on the first of these have changed

If none of these apply, then this change should not affect you.

@maribethb maribethb requested a review from a team as a code owner May 7, 2026 21:11
@maribethb maribethb requested a review from mikeharv May 7, 2026 21:11
@github-actions github-actions Bot added breaking change Used to mark a PR or issue that changes our public APIs. PR: fix Fixes a bug labels May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Used to mark a PR or issue that changes our public APIs. PR: fix Fixes a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants