Tanase Butcaru created CB-11223:
-----------------------------------
Summary: Better check for date validity of contact.birthday / Fix:
RangeError Invalid Date
Key: CB-11223
URL: https://issues.apache.org/jira/browse/CB-11223
Project: Apache Cordova
Issue Type: Improvement
Components: Plugin Contacts
Environment: Desktop Firefox & Safari
Android & iOS Webview
Reporter: Tanase Butcaru
Priority: Critical
The issue: on Safari & iOS webview if we perform a _toJSON()_ on a instanceof
Date object which is a 'Invalid Date' object, that throws an error. This does
not happen on Firefox & Chrome!
I encountered this issue while sending device contacts over _socket.io_ which
iterates over contacts props and does a _toJSON()_, but the problem was that
the Date object from _birthday_ property was not valid.
Simple test case:
{code:javascript}
var contact = { birthday: null }; //data provided by cordova-plugin-contacts
try {
contact.birthday = new Date(parseFloat(contact.birthday));
}
catch(e) {
console.log(e); //this will never be called
}
//where the error occures..
contact.birthday.toJSON();
{code}
An 'Invalid Date' error does not throw anything, so a simple try-catch block
doesn't pass the validity of that date.
The changes I made in _convertUtils.js_ resolves this problem.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]