Skip to content

Deprecate TextInputConnection.setStyle#13016

Open
koji-1009 wants to merge 8 commits intoflutter:mainfrom
koji-1009:text_input_connection
Open

Deprecate TextInputConnection.setStyle#13016
koji-1009 wants to merge 8 commits intoflutter:mainfrom
koji-1009:text_input_connection

Conversation

@koji-1009
Copy link
Contributor

@koji-1009 koji-1009 commented Feb 3, 2026

Issues fixed by this PR (if any): flutter/flutter#161592
PRs or commits this PR depends on (if any): flutter/flutter#180436

cc: @loic-sharma

Presubmit checklist

  • If you are unwilling, or unable, to sign the CLA, even for a tiny, one-word PR, please file an issue instead of a PR.
  • If this PR is not meant to land until a future stable release, mark it as draft with an explanation.
  • This PR follows the Google Developer Documentation Style Guidelines—for example, it doesn't use i.e. or e.g., and it avoids I and we (first-person pronouns).
  • This PR uses semantic line breaks of 80 characters or fewer.

@koji-1009 koji-1009 requested review from a team and sfshaza2 as code owners February 3, 2026 00:26
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @koji-1009, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces documentation for a significant breaking change in Flutter's text input system. It details the deprecation of TextInputConnection.setStyle and promotes the use of TextInputConnection.updateStyle. This update is crucial for enhancing text rendering accuracy by allowing for more comprehensive synchronization of text metrics, thereby resolving visual inconsistencies in text input, particularly concerning IME and selection alignment.

Highlights

  • Deprecation of TextInputConnection.setStyle: A new breaking change document has been added to announce the deprecation of TextInputConnection.setStyle.
  • Introduction of TextInputConnection.updateStyle: The setStyle method is being replaced by TextInputConnection.updateStyle, which supports synchronizing letterSpacing, wordSpacing, and lineHeight to the engine.
  • Improved IME and Selection Alignment: This change addresses visual misalignment issues with the selection highlight and IME caret that occurred when letterSpacing, wordSpacing, or lineHeight properties were used with the old setStyle method.
  • Migration Guide Provided: The new document includes a migration guide with code examples for custom text input clients to transition from setStyle to updateStyle.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/content/release/breaking-changes/deprecate-text-input-connection-set-style.md
    • Added a new breaking change document detailing the deprecation of TextInputConnection.setStyle and providing a migration guide to TextInputConnection.updateStyle.
  • src/content/release/breaking-changes/index.md
    • Updated the main breaking changes index to include a link to the new TextInputConnection.setStyle deprecation document.
Activity
  • Fixed issue https://github.com/flutter/flutter/issues/161592 related to text input styling and alignment.
  • This PR depends on https://github.com/flutter/flutter/pull/180436.
  • The author has completed the presubmit checklist, ensuring adherence to documentation style guidelines and semantic line breaks.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

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 introduces documentation for the deprecation of TextInputConnection.setStyle and updates the breaking changes index. The new documentation page is clear and provides a good migration guide. I've suggested a small improvement to the code example to make it more complete. I also noticed that the breaking changes index is not alphabetically sorted as stated in the document, so I've left comments to address that for better maintainability.

koji-1009 and others added 2 commits February 3, 2026 09:29
…ection-set-style.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copy link
Member

@loic-sharma loic-sharma left a comment

Choose a reason for hiding this comment

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

Thanks for adding this!

FYI for other reviewers, this change is not in the 3.41 release.

@parlough
Copy link
Member

parlough commented Feb 4, 2026

/gcbrun

Copy link
Contributor

@sfshaza2 sfshaza2 left a comment

Choose a reason for hiding this comment

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

lgtm

@sfshaza2
Copy link
Contributor

sfshaza2 commented Feb 4, 2026

/gcbrun

Copy link
Contributor

@sfshaza2 sfshaza2 left a comment

Choose a reason for hiding this comment

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

@koji-1009, can you undo the changes you made to the index page, except to add the new page? thx

@sfshaza2 sfshaza2 added the act.wait-for-customer Needs response from customer label Feb 4, 2026
@koji-1009
Copy link
Contributor Author

@sfshaza2
Hello. I've reverted the changes and reverted them back to only the changes I made. Thank you for the review.

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

Labels

act.wait-for-customer Needs response from customer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants