{ "id": "148735", "key": "TIMOB-19010", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "16925", "description": "WatchKit Support--all going into 5.0 now", "name": "Release 5.0.0", "archived": true, "released": true, "releaseDate": "2015-09-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-08-20T21:36:09.000+0000", "created": "2015-06-12T14:55:57.000+0000", "epic": { "id": 143701, "key": "TIMOB-18467", "name": "Windows: Native APIs through JS", "summary": "Windows: Allow Usage of JavaScript against Native Windows APIs", "color": { "key": "color_1" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "48437", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "149835", "key": "TIMOB-19243", "fields": { "summary": "Windows: Update Webkit/JSC port to latest", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2017-03-16T22:02:28.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": "10207", "name": "Tooling" }, { "id": "12642", "name": "Windows", "description": "Windows authoring support" } ], "description": "We currently \"skip\" any method that is Async on the native APIs right now. To properly support them will require generating a \"Promise\"-like wrapper. See https://msdn.microsoft.com/en-us/library/windows/apps/br211867.aspx\r\n\r\nEffectively we need to return an object that encapsulates the async operation and allows users to chain a series of async operations to run in series using callback methods.\r\n\r\nThe important methods here are: then, done and cancel. Under the hood, we'll likely have to use ppltasks library to wrap up the async operations. See https://msdn.microsoft.com/en-us/library/windows/apps/hh780559.aspx", "attachment": [], "flagged": false, "summary": "Windows: Support Async methods on Native API wrappers", "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, "closedSprints": [ { "id": 482, "state": "closed", "name": "2015 Sprint 17 Windows", "startDate": "2015-08-15T04:01:00.000Z", "endDate": "2015-08-29T03:59:00.000Z", "completeDate": "2015-08-28T13:51:24.221Z", "originBoardId": 144 } ], "comment": { "comments": [ { "id": "356572", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "body": "not sure if it's useful, but async tweaked a memory of hyperloop v1...\r\n\r\ni had added support for those async classes -- an example usage is here:\r\nhttps://github.com/appcelerator/hyperloop/blob/master/examples/windows/marvel/app.hjs#L48\r\n\r\nwe generated the promise wrapper here:\r\nhttps://github.com/appcelerator/hyperloop/blob/171c406b12e88d4c81a1baab800b0c9c9ac1df26/lib/windows/jsc/templates/class.ejs#L104\r\n\r\nit only had \"then\", which was implemented to return undefined so you couldn't chain them together, cancel, etc. But maybe this will be helpful when we implement this again...", "updateAuthor": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2015-07-01T17:21:14.000+0000", "updated": "2015-07-01T17:21:14.000+0000" }, { "id": "413250", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-16T22:02:28.000+0000", "updated": "2017-03-16T22:02:28.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }