Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

fix($sniffer) & fix(ng-input): add check for older webkit browsers and extra milliseconds for iOS7 #6890

Closed
wants to merge 2 commits into from

Conversation

WardMe
Copy link

@WardMe WardMe commented Mar 28, 2014

Request Type: bug

How to reproduce:

  • $sniffer: Create a multipage app with redirects in angular and test it in Android or Safari 5 or lower, the app will end up in an endless loop and eventually crash the browser.
  • ng-input: Create a form with validation and try to submit on an iOS7 device, the last character never gets sent, so the form always returns invalid.

Component(s): misc core

Impact: medium

Complexity: small

This issue is related to: #6733

Detailed Description:

We created a responsive web app in angular, but ran into two issues:

  • older webkit engines (< 534) have problem with pushState, these are used in Safari 5 and lower and the Android default browser (not Chrome)
  • iOS7 the change event is fired before the value is updated

WardMe added 2 commits March 28, 2014 09:10
Older webkit browsers have a problem with the history.pushState, which causes them to end up in an endless loop as soon as the angular app starts.
Following browsers have this issue: native Android browser, Safari 5 and lower.
iOS7 fires the change event before the value gets updated in the input field, this causes validation errors and sometimes submits of incomplete data.
Adding the extra 5 milliseconds solves this issue.
@mary-poppins
Copy link

Thanks for the PR! Please check the items below to help us merge this faster. See the contributing docs for more information.

  • Uses the issue template (#6890)

If you need to make changes to your pull request, you can update the commit with git commit --amend.
Then, update the pull request with git push -f.

Thanks again for your help!

@caitp
Copy link
Contributor

caitp commented Mar 28, 2014

I believe these are dupes of other PRs that I recall seeing, but please send these as separate pull requests

@WardMe WardMe added cla: yes and removed cla: no labels Mar 28, 2014
@btford btford self-assigned this Jul 25, 2014
@IgorMinar
Copy link
Contributor

I wonder if the infinite loop is due to some encoding issue (#5019).

the second commit doesn't look right. as far as I can tell iOS7 has proper input event support (see) which means that we don't rely on the keydown event

@IgorMinar IgorMinar added this to the Purgatory milestone Jul 25, 2014
@IgorMinar
Copy link
Contributor

@tbosch do you know about input event support in iOS7?

@caitp
Copy link
Contributor

caitp commented Jan 6, 2015

this has become bitrotten, and I think it would be good to create a demonstration of the issue before a change is merged... @WardMe could I ask you to please submit an updated pull request and provide a reproduction for the issue that you're fixing? It would be much appreciated.

@caitp caitp closed this Jan 6, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants