{ "id": "171068", "key": "DAEMON-232", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12519", "key": "DAEMON", "name": "Appcelerator Daemon" }, "fixVersions": [ { "id": "19959", "description": "", "name": "Appc Daemon 1.1.0", "archived": false, "released": true, "releaseDate": "2018-04-09" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-03-22T14:05:50.000+0000", "created": "2018-02-08T17:49:54.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "19959", "description": "", "name": "Appc Daemon 1.1.0", "archived": false, "released": true, "releaseDate": "2018-04-09" } ], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2018-03-22T14:05:50.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "15607", "name": "appcd-fswatcher" } ], "description": "h5.Description\r\n\r\nIn DAEMON-222 changed were made to prevent unnecessary change events (a child item changing for example) on a folder bubbling up, which had the side-effect of causing any change events to not fire for a folder on Windows. The current solutions for tracking information through fs.Stats is lightweight on Windows a potential native module (https://github.com/xxoo/node-fswin) was found but the heaviness of using this module wasn't wanted. This is more than likely going to need to be sovled in the future\r\n\r\nIt's probable that issues relating to permissions will be prevalent on unixy systems too\r\n\r\nh5.Steps to repro\r\n\r\nTODO", "attachment": [], "flagged": false, "summary": "FSWatcher: Events relating to permission changes to a folder are dropped on Windows", "creator": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "subtasks": [], "reporter": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "environment": null, "closedSprints": [ { "id": 1009, "state": "closed", "name": "2018 Sprint 06 Tooling", "startDate": "2018-03-11T22:22:24.159Z", "endDate": "2018-03-25T22:22:00.000Z", "completeDate": "2018-03-25T21:58:30.495Z", "originBoardId": 219 } ], "comment": { "comments": [ { "id": "435836", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "https://github.com/appcelerator/appc-daemon/pull/302", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2018-03-22T06:16:11.000+0000", "updated": "2018-03-22T06:16:11.000+0000" }, { "id": "435837", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "To test:\r\n\r\n1. Create a file called {{fstest.js}} in the {{appc-daemon\\packages\\appcd-fswatcher}} directory:\r\n\r\n{code}\r\nconst fsw = require('./dist/index');\r\nconst renderTree = fsw.renderTree;\r\nconst FSWatcher = fsw.FSWatcher;\r\n\r\nconst watcher = new FSWatcher('C:\\\\Users\\\\chris\\\\Desktop', { recursive: true });\r\n\r\nwatcher.on('change', evt => {\r\n\tconsole.log(evt);\r\n\tsetTimeout(() => {\r\n\t\tconsole.log(renderTree());\r\n\t\tconsole.log();\r\n\t}, 100);\r\n});\r\n\r\nconsole.log(renderTree());\r\nconsole.log();\r\n{code}\r\n\r\n2. Create a {{Desktop\\foo\\bar}} directory.\r\n\r\n3. Run {{node fstest.js}}\r\n\r\n4. In Windows Explorer, right click the {{foo}} directory and go to Properties, then click on the Security tab. Click the Edit button and select your user from the list. Start twiddling permissions and clicking the Apply button as you watch the events being emitted.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2018-03-22T06:21:31.000+0000", "updated": "2018-03-22T06:21:31.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }