{ "id": "172433", "key": "TIMOB-26452", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "20429", "name": "Release 7.5.1", "archived": false, "released": true, "releaseDate": "2019-02-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-12-12T21:43:03.000+0000", "created": "2018-10-12T15:02:02.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [ { "id": "20238", "description": "", "name": "Release 7.5.0", "archived": false, "released": true, "releaseDate": "2018-11-15" } ], "issuelinks": [], "assignee": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-12-12T23:15:13.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "With the new {{KrollHasProperty}} tweaks, asking Ti proxies for property existence is generally better (doesn't always return true!). However, in the edge case where a property is defined but has no value (nil natively) it will report the property doesn't exist. This is because the implementation is generally naive in that it asks for the value for a given key and checks against nil.\r\n\r\nThe easiest way to test this is to query for Ti.Geolocation's lastGeolocation property in a mocha/should test:\r\n{code:javascript}\r\nshould(Ti.Geolocation).have.property('lastGeolocation');\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS: Object.hasProperty incorrectly reports false when a property's value is null", "creator": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "environment": null, "comment": { "comments": [ { "id": "444432", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/10524\r\nPR (7_5_X): https://github.com/appcelerator/titanium_mobile/pull/10525", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-12-10T19:26:38.000+0000", "updated": "2018-12-10T19:26:38.000+0000" }, { "id": "444563", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix in SDK 7.5.1.v20181212134635.\r\nClosing.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-12-12T23:15:08.000+0000", "updated": "2018-12-12T23:15:08.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }