You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Tanase Butcaru (JIRA)" <ji...@apache.org> on 2016/05/06 20:55:12 UTC
[jira] [Created] (CB-11223) Better check for date validity of
contact.birthday / Fix: RangeError Invalid Date
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: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org