{"action":"created","issue":{"url":"https://api.github.com/repos/svaarala/duktape/issues/590","repository_url":"https://api.github.com/repos/svaarala/duktape","labels_url":"https://api.github.com/repos/svaarala/duktape/issues/590/labels{/name}","comments_url":"https://api.github.com/repos/svaarala/duktape/issues/590/comments","events_url":"https://api.github.com/repos/svaarala/duktape/issues/590/events","html_url":"https://github.com/svaarala/duktape/pull/590","id":133863127,"number":590,"title":"Add a debug JSON proxy written using DukLuv","user":{"login":"svaarala","id":6377415,"avatar_url":"https://avatars.githubusercontent.com/u/6377415?v=3","gravatar_id":"","url":"https://api.github.com/users/svaarala","html_url":"https://github.com/svaarala","followers_url":"https://api.github.com/users/svaarala/followers","following_url":"https://api.github.com/users/svaarala/following{/other_user}","gists_url":"https://api.github.com/users/svaarala/gists{/gist_id}","starred_url":"https://api.github.com/users/svaarala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svaarala/subscriptions","organizations_url":"https://api.github.com/users/svaarala/orgs","repos_url":"https://api.github.com/users/svaarala/repos","events_url":"https://api.github.com/users/svaarala/events{/privacy}","received_events_url":"https://api.github.com/users/svaarala/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/svaarala/duktape/labels/debugger","name":"debugger","color":"bfdadc"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/svaarala/duktape/milestones/17","html_url":"https://github.com/svaarala/duktape/milestones/v1.5.0","labels_url":"https://api.github.com/repos/svaarala/duktape/milestones/17/labels","id":1305924,"number":17,"title":"v1.5.0","description":"Low memory, ROM builtins","creator":{"login":"svaarala","id":6377415,"avatar_url":"https://avatars.githubusercontent.com/u/6377415?v=3","gravatar_id":"","url":"https://api.github.com/users/svaarala","html_url":"https://github.com/svaarala","followers_url":"https://api.github.com/users/svaarala/followers","following_url":"https://api.github.com/users/svaarala/following{/other_user}","gists_url":"https://api.github.com/users/svaarala/gists{/gist_id}","starred_url":"https://api.github.com/users/svaarala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svaarala/subscriptions","organizations_url":"https://api.github.com/users/svaarala/orgs","repos_url":"https://api.github.com/users/svaarala/repos","events_url":"https://api.github.com/users/svaarala/events{/privacy}","received_events_url":"https://api.github.com/users/svaarala/received_events","type":"User","site_admin":false},"open_issues":39,"closed_issues":25,"state":"open","created_at":"2015-09-15T08:22:06Z","updated_at":"2016-02-16T08:33:46Z","due_on":null,"closed_at":null},"comments":41,"created_at":"2016-02-16T02:11:29Z","updated_at":"2016-02-17T16:19:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/svaarala/duktape/pulls/590","html_url":"https://github.com/svaarala/duktape/pull/590","diff_url":"https://github.com/svaarala/duktape/pull/590.diff","patch_url":"https://github.com/svaarala/duktape/pull/590.patch"},"body":"Many users have wanted to use the JSON proxy for debugger integration but the current JSON proxy example is written using Node.js which, while portable, is sometimes a too heavy dependency for a debug client.\r\n\r\nThis pull adds a JSON proxy written using DukLuv which is much smaller.\r\n\r\nTasks:\r\n\r\n- [ ] Resolve FIXMEs and clean up\r\n- [x] Command number mappings, metadata source file in JSON?\r\n- [x] Virtual notifications for `_TargetConnected` etc\r\n- [x] Clean up virtual notifications to clearly separate notifications related to target connection as opposed to JSON proxy connection\r\n- [x] Add command line options for target host/port, metadata files, etc; depends on https://github.com/creationix/dukluv/pull/17, but if the support is not present will just skip command line parsing\r\n- [x] Options for output verbosity\r\n- [x] Add to dist\r\n- [x] Add a README note, explain DukLuv setup on Windows/Unix\r\n- [x] Test on Linux and Windows\r\n- [x] Update internal documentation\r\n- [x] Update external documentation\r\n- [x] Split client and target commands in command list metadata\r\n- [x] Makefile target to build joint metadata JSON and add that to dist\r\n- [x] Releases"},"comment":{"url":"https://api.github.com/repos/svaarala/duktape/issues/comments/185280353","html_url":"https://github.com/svaarala/duktape/pull/590#issuecomment-185280353","issue_url":"https://api.github.com/repos/svaarala/duktape/issues/590","id":185280353,"user":{"login":"svaarala","id":6377415,"avatar_url":"https://avatars.githubusercontent.com/u/6377415?v=3","gravatar_id":"","url":"https://api.github.com/users/svaarala","html_url":"https://github.com/svaarala","followers_url":"https://api.github.com/users/svaarala/followers","following_url":"https://api.github.com/users/svaarala/following{/other_user}","gists_url":"https://api.github.com/users/svaarala/gists{/gist_id}","starred_url":"https://api.github.com/users/svaarala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svaarala/subscriptions","organizations_url":"https://api.github.com/users/svaarala/orgs","repos_url":"https://api.github.com/users/svaarala/repos","events_url":"https://api.github.com/users/svaarala/events{/privacy}","received_events_url":"https://api.github.com/users/svaarala/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T16:19:33Z","updated_at":"2016-02-17T16:19:33Z","body":"It should work pretty well now, except for error handling, i.e. what happens when a socket is disconnected etc. I think I'll add both a single shot and a persistent mode to the proxy so that it will either exit when the first (and only) connection finishes, or that is stays running and serves more clients.\r\n\r\nYou should probably open that DukLuv build error as an issue in the DukLuv repo. For what it's worth, I managed to build it with VS2013 although there were some warnings or ignored errors in the build. (Or maybe it was that install failed, not sure.)"}}