[TextField] Handle Chrome autofill#17436
Conversation
Details of bundle changes.Comparing: e9f26fc...1e77b3f
|
eps1lon
left a comment
There was a problem hiding this comment.
There is no confirmed reproduction that rules out browser issues. Please include the detailed reproduction in the PR.
|
The changes should solve two structural issues: 1. the JavaScript change event was fired before we listen to it. 2. The input value is hidden for security reasons. What browser issues do you have in mind? |
That was my question. It is not obvious what issue is solved here. Only theoretical issues that have no confirmed reproduction. |
We have a couple of root issues:
|
|
To be clear: A reproduction is code + environment. |
What is the use case for hydrating after a timeout? Seems like a strawman to me.
As I said no example in that issue has a confirmable reproduction. It might reproduce for you but without knowing the environment you cannot know if this is a library or environment issue.
BrowserStack is not a reliable source for reproduction. If it was we would not have tabable buttons in safari. |
For instance, you might want to wait for an optional polyfill to be loaded, over the network, before hydrating your DOM. I had the very use case at Onepixel, I was frustrated Next.js has no support for it.
Then we can call it a nice side effect of fixing the previous issue.
Don't worry, we have enough users to report if these fixes don't cut it. I don't think that we should wait to get the perfect reproduction, we might never have it. I think that we should move fast (type 2, reversible changes) by sacrificing the scope of the problems we solve and the information we collect, without sacrificing the code quality so we can learn from "production". In this case, we have an opportunity to try these changes. Worse case 1. we still have this bug, people provide a better reproduction, worse case 2. we solved the bug, but we remove the logic in the future, for some reason, people report the regression or they don't. In any case, the changes are direct application of people reported solution to the problem we can find on GitHub issues, commit, blog post or StackOverflow. @croraf and I have seen a positive impact with them. Things are imperfect and will always be :). |
|
Well thanks for adding technical debt that we need to refactor. |
|
@eps1lon I'm sorry you feel this way. I understand that you have done great progress in the past simplifying the logic of this component and that you want to keep it in a great state. I will personally make sure this new logic only remains if proven valuable. Meaning:
But yes, the more problems we solve, the more complex the codebase is and the more inertia we have. Sometimes, it's better not to solve problems reported by our users. I don't think it's one of these cases. |
* [docs] Batch small changes (mui#17435) * [docs] Add synonyms for brand icons (mui#17455) * [docs] Add synonyms for brand icons * Remove Ic prefixed icons * [docs] Improve in-site search (mui#17450) * [ButtonBase] Fix blurry text issue (mui#17453) * [docs] Revert hits per page change (mui#17458) * [docs] Fix heading format in CONTRIBUTING.md (mui#17460) * [Chip] Load the right version of Avatar (mui#17469) * [TablePagination] Merge root classes properly (mui#17467) * [Breadcrumbs] Improve API docs (mui#17468) * [TextField] Handle Chrome autofill (mui#17436) * [docs] Clarify props spread for ListItem when button flag is set (mui#17466)
|
this update makes me change something to still have my transparent background for my input: Separate css /* Chrome hack for auto set password ;) */
@-webkit-keyframes autofill {
to {
color: white;
background: transparent;
}
}Adaptation in theming, to still have this transparent background and not a grey-blue one |
|
@jkeruzec Do you have a reproduction? |
Fixes #14427 as per given fix by @oliviertassinari