Skip to content

Fix TableBorder.lerp and scale dropping borderRadius - #195398

Open
ChandraChaan wants to merge 1 commit into
flutter:masterfrom
ChandraChaan:table-border-lerp-border-radius
Open

ChandraChaan wants to merge 1 commit into
flutter:masterfrom
ChandraChaan:table-border-lerp-border-radius

Conversation

@ChandraChaan

Copy link
Copy Markdown

TableBorder.lerp and TableBorder.scale construct a new TableBorder from the six border sides only, so borderRadius falls back to BorderRadius.zero. A table with rounded corners loses them while its border is animating.

This change:

  • interpolates borderRadius in lerp with BorderRadius.lerp
  • scales borderRadius in scale, matching how BoxDecoration treats its radius (lerp(null, b, t) uses scale, so a rounded border animating in from nothing now grows its corners too)
  • adds tests for both, which fail without the fix

Fixes #195397

Pre-launch Checklist

@github-actions github-actions Bot added the framework flutter/packages/flutter repository. See also f: labels. label Oct 27, 2026

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request updates TableBorder to scale and interpolate its borderRadius property in the scale and lerp methods, respectively. It also adds corresponding unit tests in table_border_test.dart to verify these behaviors. There are no review comments, and I have no feedback to provide.

@navaronbracke navaronbracke added the CICD Run CI/CD label Oct 27, 2026
@flutter-dashboard

Copy link
Copy Markdown

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #195398 at sha 97b0523

@ChandraChaan

Copy link
Copy Markdown
Author

The one golden change, cupertino.cupertinoActionSheet.pressed on macOS Impeller, looks unrelated: 60 pixels (0.06%) differ, CupertinoActionSheet doesn't use TableBorder, and this PR doesn't touch Cupertino. Could a reviewer triage it on Gold when convenient? Thanks!

@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Oct 27, 2026
@justinmc
justinmc self-requested a review October 27, 2026 22:43
@justinmc justinmc added the CICD Run CI/CD label Nov 6, 2026
@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Nov 10, 2026
@ChandraChaan

Copy link
Copy Markdown
Author

Thanks for adding the label, @justinmc. ci.yaml validation failed because the branch was behind master (it reported Mac_ios rrect_blur_perf_ios__timeline_summary as a new builder, and this PR does not touch .ci.yaml), so I have merged master in as the check suggests.

The merge removed the CICD label again. Could you re-add it when you get a chance so the presubmits can run?

@navaronbracke navaronbracke added the CICD Run CI/CD label Nov 10, 2026
@ChandraChaan

Copy link
Copy Markdown
Author

Thanks for adding the label, @navaronbracke. The presubmits ran: 75 of 76 builds passed, and the one failure is Linux firebase_release_smoke_test, which ended as an infra failure ("The build was cancelled" in the gcloud firebase step) after about an hour, not as a test failure. This PR only touches table_border.dart and its test.

Could someone with access re-run that job? I do not think I can from my side.

@ChandraChaan

Copy link
Copy Markdown
Author

Friendly follow-up, @navaronbracke and @justinmc: this is approved and everything except Linux firebase_release_smoke_test passed. That job ended as an infra failure (the gcloud firebase step was cancelled), and it has passed on almost every other recent presubmit run, so a re-run should go through.

If re-running that one job is awkward, I am happy to merge master in instead so the whole set runs fresh. That would need the CICD label re-added afterwards. Whichever is easier for you. Thanks!

@navaronbracke
navaronbracke force-pushed the table-border-lerp-border-radius branch from 1ea4e97 to f95c307 Compare November 13, 2026 12:11
@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Nov 13, 2026
@navaronbracke

Copy link
Copy Markdown
Contributor

I've rebased, since I think that smoke test might be behind because of the outdated HEAD on this PR?

Let's keep an eye on it

@navaronbracke navaronbracke added the CICD Run CI/CD label Nov 13, 2026
@ChandraChaan

Copy link
Copy Markdown
Author

Thank you for rebasing and re-adding the label, @navaronbracke! That did it: all 77 presubmit builds passed this time, including Linux firebase_release_smoke_test, and flutter-gold is green. Only Google testing is still pending.

Once that passes, would you be able to add the autosubmit label so it can land?

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

Labels

CICD Run CI/CD framework flutter/packages/flutter repository. See also f: labels. will affect goldens Changes to golden files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TableBorder.lerp and TableBorder.scale drop borderRadius

3 participants