{"action":"created","issue":{"url":"https://api.github.com/repos/humphd/next/issues/61","repository_url":"https://api.github.com/repos/humphd/next","labels_url":"https://api.github.com/repos/humphd/next/issues/61/labels{/name}","comments_url":"https://api.github.com/repos/humphd/next/issues/61/comments","events_url":"https://api.github.com/repos/humphd/next/issues/61/events","html_url":"https://github.com/humphd/next/issues/61","id":327113181,"number":61,"title":"Allow mountin of local filesystem into the editor.","user":{"login":"dsych","id":16144679,"avatar_url":"https://avatars3.githubusercontent.com/u/16144679?v=4","gravatar_id":"","url":"https://api.github.com/users/dsych","html_url":"https://github.com/dsych","followers_url":"https://api.github.com/users/dsych/followers","following_url":"https://api.github.com/users/dsych/following{/other_user}","gists_url":"https://api.github.com/users/dsych/gists{/gist_id}","starred_url":"https://api.github.com/users/dsych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsych/subscriptions","organizations_url":"https://api.github.com/users/dsych/orgs","repos_url":"https://api.github.com/users/dsych/repos","events_url":"https://api.github.com/users/dsych/events{/privacy}","received_events_url":"https://api.github.com/users/dsych/received_events","type":"User","site_admin":false},"labels":[{"id":916938578,"url":"https://api.github.com/repos/humphd/next/labels/discussion","name":"discussion","color":"dd63c3","default":false},{"id":919594673,"url":"https://api.github.com/repos/humphd/next/labels/editor","name":"editor","color":"ef37d0","default":false},{"id":916077591,"url":"https://api.github.com/repos/humphd/next/labels/enhancement","name":"enhancement","color":"a2eeef","default":true},{"id":919594463,"url":"https://api.github.com/repos/humphd/next/labels/filesystem","name":"filesystem","color":"0052cc","default":false},{"id":919605266,"url":"https://api.github.com/repos/humphd/next/labels/server","name":"server","color":"b60205","default":false}],"state":"open","locked":false,"assignee":{"login":"humphd","id":427398,"avatar_url":"https://avatars2.githubusercontent.com/u/427398?v=4","gravatar_id":"","url":"https://api.github.com/users/humphd","html_url":"https://github.com/humphd","followers_url":"https://api.github.com/users/humphd/followers","following_url":"https://api.github.com/users/humphd/following{/other_user}","gists_url":"https://api.github.com/users/humphd/gists{/gist_id}","starred_url":"https://api.github.com/users/humphd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/humphd/subscriptions","organizations_url":"https://api.github.com/users/humphd/orgs","repos_url":"https://api.github.com/users/humphd/repos","events_url":"https://api.github.com/users/humphd/events{/privacy}","received_events_url":"https://api.github.com/users/humphd/received_events","type":"User","site_admin":false},"assignees":[{"login":"humphd","id":427398,"avatar_url":"https://avatars2.githubusercontent.com/u/427398?v=4","gravatar_id":"","url":"https://api.github.com/users/humphd","html_url":"https://github.com/humphd","followers_url":"https://api.github.com/users/humphd/followers","following_url":"https://api.github.com/users/humphd/following{/other_user}","gists_url":"https://api.github.com/users/humphd/gists{/gist_id}","starred_url":"https://api.github.com/users/humphd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/humphd/subscriptions","organizations_url":"https://api.github.com/users/humphd/orgs","repos_url":"https://api.github.com/users/humphd/repos","events_url":"https://api.github.com/users/humphd/events{/privacy}","received_events_url":"https://api.github.com/users/humphd/received_events","type":"User","site_admin":false},{"login":"twigz20","id":10361408,"avatar_url":"https://avatars2.githubusercontent.com/u/10361408?v=4","gravatar_id":"","url":"https://api.github.com/users/twigz20","html_url":"https://github.com/twigz20","followers_url":"https://api.github.com/users/twigz20/followers","following_url":"https://api.github.com/users/twigz20/following{/other_user}","gists_url":"https://api.github.com/users/twigz20/gists{/gist_id}","starred_url":"https://api.github.com/users/twigz20/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twigz20/subscriptions","organizations_url":"https://api.github.com/users/twigz20/orgs","repos_url":"https://api.github.com/users/twigz20/repos","events_url":"https://api.github.com/users/twigz20/events{/privacy}","received_events_url":"https://api.github.com/users/twigz20/received_events","type":"User","site_admin":false},{"login":"Fatehsandhu","id":10791771,"avatar_url":"https://avatars1.githubusercontent.com/u/10791771?v=4","gravatar_id":"","url":"https://api.github.com/users/Fatehsandhu","html_url":"https://github.com/Fatehsandhu","followers_url":"https://api.github.com/users/Fatehsandhu/followers","following_url":"https://api.github.com/users/Fatehsandhu/following{/other_user}","gists_url":"https://api.github.com/users/Fatehsandhu/gists{/gist_id}","starred_url":"https://api.github.com/users/Fatehsandhu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fatehsandhu/subscriptions","organizations_url":"https://api.github.com/users/Fatehsandhu/orgs","repos_url":"https://api.github.com/users/Fatehsandhu/repos","events_url":"https://api.github.com/users/Fatehsandhu/events{/privacy}","received_events_url":"https://api.github.com/users/Fatehsandhu/received_events","type":"User","site_admin":false},{"login":"mmBabol","id":13471358,"avatar_url":"https://avatars0.githubusercontent.com/u/13471358?v=4","gravatar_id":"","url":"https://api.github.com/users/mmBabol","html_url":"https://github.com/mmBabol","followers_url":"https://api.github.com/users/mmBabol/followers","following_url":"https://api.github.com/users/mmBabol/following{/other_user}","gists_url":"https://api.github.com/users/mmBabol/gists{/gist_id}","starred_url":"https://api.github.com/users/mmBabol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmBabol/subscriptions","organizations_url":"https://api.github.com/users/mmBabol/orgs","repos_url":"https://api.github.com/users/mmBabol/repos","events_url":"https://api.github.com/users/mmBabol/events{/privacy}","received_events_url":"https://api.github.com/users/mmBabol/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2018-05-28T20:36:54Z","updated_at":"2018-05-28T22:32:25Z","closed_at":null,"author_association":"COLLABORATOR","body":"It would be very useful to be able to open local files in the online editor instead of the emulated ones.\r\nI believe this could be achieve through the following steps;\r\n1. Create an option on editor UI to switch to the local filesystem. Now, since js is sandboxed inside a browser, we will require user to suply string path to the folder to be opened.\r\n2. At this point, we will need to refresh the editor and switch references to the fs from Filer to our custom implementation [here](https://github.com/humphd/next/blob/94dc23ef428ea60fc0ba5b6d8e3f151325a0577c/src/editor/src/bramble/client/main.js#L153) and [here](https://github.com/humphd/next/blob/94dc23ef428ea60fc0ba5b6d8e3f151325a0577c/src/editor/src/bramble/client/main.js#L232).\r\n3. As mentioned above, js is restricted from accessing local fs directly. Instead, we can have a [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) passing messages between local server and bramble. Similar to how thimble communicates with bramble.\r\n4. Our local server could be a simple exepress server. It would implement routes like `/local_fs/readfile`, `/local_fs/readdir?recursive=true`, similar things for writing to file and dir.\r\n5. Local exepress server would pass binary streams from and to WebSocket simulating connection to local fs."},"comment":{"url":"https://api.github.com/repos/humphd/next/issues/comments/392612178","html_url":"https://github.com/humphd/next/issues/61#issuecomment-392612178","issue_url":"https://api.github.com/repos/humphd/next/issues/61","id":392612178,"user":{"login":"dsych","id":16144679,"avatar_url":"https://avatars3.githubusercontent.com/u/16144679?v=4","gravatar_id":"","url":"https://api.github.com/users/dsych","html_url":"https://github.com/dsych","followers_url":"https://api.github.com/users/dsych/followers","following_url":"https://api.github.com/users/dsych/following{/other_user}","gists_url":"https://api.github.com/users/dsych/gists{/gist_id}","starred_url":"https://api.github.com/users/dsych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsych/subscriptions","organizations_url":"https://api.github.com/users/dsych/orgs","repos_url":"https://api.github.com/users/dsych/repos","events_url":"https://api.github.com/users/dsych/events{/privacy}","received_events_url":"https://api.github.com/users/dsych/received_events","type":"User","site_admin":false},"created_at":"2018-05-28T22:32:25Z","updated_at":"2018-05-28T22:32:25Z","author_association":"COLLABORATOR","body":"Gh-pages allows CORS by defalut [see](https://stackoverflow.com/a/35300225)."}}
{"actor":{"display_login":"dsych"}}