Code Monkey home page Code Monkey logo

edge-diagnostics-adapter's Introduction

Notice of deprecation

This repository has been deprecated. A native replacement for IDE integration with the EdgeHTML platform for debugging and other diagnostics tasks was developed by the Edge team and released in the Windows 10 April 2018 update. To learn more, read about the Microsoft Edge DevTools Protocol. You can also learn about the ongoing cross-browser work to make web platform tooling integration more consistent via the W3C DevTools Protocol Incubator Group.

edge-diagnostics-adapter's People

Contributors

alrra avatar andysterland avatar auchenberg avatar danielruf avatar dhanvikapila avatar dsrodenas avatar eiximenis avatar jacobrossi avatar jalissia avatar kingio avatar microsoft-github-policy-service[bot] avatar molant avatar nojvek avatar paulirish avatar sarvaje avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edge-diagnostics-adapter's Issues

Could not set ACL to allow access to IE EPM or Edge.

Hmm, I don't seem to be able to make it work, while the HTTP API works I cannot connect to the WebSocket. Here's what I tried:

  1. start Edge;
  2. start EdgeDiagnosticsAdapter.exe:
Edge Diagnostics Adapter
Could not set ACL to allow access to IE EPM or Edge.
Error Code: 1332
You can set the ACL manually by adding Read & Execute permissions for 'All APPLICATION PACAKGES' to each dll.
Proxy server listening on port 9222...
  1. start chrome-repl and EdgeDiagnosticsAdapter.exe prints:
DEBUG MESSAGE: Attempting to attach to 64 bit tab
Connection rejected for: /devtools/page/E8A36086-8AFC-4300-AC94-8322FB2DC812
[2016-04-24 20:01:41] [error] Handshake ended with HTTP error: 400

I'm trying this in a (64 bit) VM. I get similar results with a 32 bit laptop, the difference is that here I don't get the DEBUG MESSAGE: Attempting to attach to 64 bit tab message.

Add sourceMapURL to scriptParsed event

In order to have source maps working in VS Code and other clients, we need to detect the source map in a given file, and expose the sourceMapURL property on the scriptParsed event.

Remove Chrome launching functionality

In order to keep the adaptor minimal we should get of the chrome launching logic, as their devtools should be served from the cloud instead of from a Chrome instance.

Pressing Ctrl+C should kill the adapter

Instead it doing something with packagedebug settings.

Edge Diagnostics Adapter
Proxy server listening on port 9222...
Client connection accepted for: /devtools/page/72C7201E-AB65-40C7-97BD-8FC2723D19DD as: 001C0B3A
Failed to CoCreateInstance of CLSID_PackageDebugSettings.
HR Code: -2147221008
Failed to CoCreateInstance of CLSID_PackageDebugSettings.

New NPM release?

I think @molant mentioned some tricky things regarding signing.... but it'd be awesome to have a new release published on NPM when ya'll get a chance. :)

msbuild fails

 1>ScriptEngineHost.cpp(33): error C2660: 'JsCreateRuntime': function does not take 3 arguments [E:\personal\edge-diagnostics-adapter\native\Proxy\Proxy.vcxproj]
 1>ScriptEngineHost.cpp(36): error C2660: 'JsCreateContext': function does not take 2 arguments [E:\personal\edge-diagnostics-adapter\native\Proxy\Proxy.vcxproj]
 1>ScriptEngineHost.cpp(397): error C2660: 'JsStartDebugging': function does not take 0 arguments [E:\personal\edge-diagnostics-adapter\native\Proxy\Proxy.vcxproj]

[13:41:19] MSBuild failed with code 1!

Building native extension throws exception

Running gulp build

Log:

[16:54:50] Finished 'buildnativeprojects' after 9.59 s
[16:54:50] Starting 'buildnativeaddon'...
[16:54:55] Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
[16:54:55]   stdafx.cpp
[16:54:55]   EdgeFunctions.cpp
[16:54:55]   MessageReceiver.cpp
[16:54:55]   win_delay_load_hook.cc
[16:54:55] c:\users\kennau\appdata\local\lxss\root\edge-diagnostics-adapter\native\addon\MessageReceiver.h(40): error C2653: 'AsyncProgressWorker': is not a class or namespace name (compiling source file ..\MessageReceiver.cpp) [C:\Users\kennau\AppData\Local\lxss\root\edge-diagnostics-adapter\native\Addon\build\Addon.vcxproj]
[16:54:55] c:\users\kennau\appdata\local\lxss\root\edge-diagnostics-adapter\native\addon\MessageReceiver.h(40): error C2653: 'AsyncProgressWorker': is not a class or namespace name (compiling source file ..\EdgeFunctions.cpp) [C:\Users\kennau\AppData\Local\lxss\root\edge-diagnostics-adapter\native\Addon\build\Addon.vcxproj]
[16:54:55] ..\EdgeFunctions.cpp(391): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data [C:\Users\kennau\AppData\Local\lxss\root\edge-diagnostics-adapter\native\Addon\build\Addon.vcxproj]

Build Addon using VS2017

Just opening this issue for reference and keeping work on that :)

I've tried to build the project using gulp build --x64 with a Windows 10 having only VS2017 installed.
In the VS2017 installer the C++ workload ("Desktop Development with C++") was installed with both C++ toolsets: 141 (VS2017) and 140 (VS2015).

Using gulp build --x64 failed due to not founding msbuild. This can be solved by editing gulpfile.js and forcing toolsVersion to 15 in the msbuild call.
But node-gyp complains about compiling the addin node later.

Tried several things with no luck.

Finally I installed "Visual C++ Tools for VS2015" (http://landinghub.visualstudio.com/visual-cpp-build-tools) and reverting the toolsVersion to 14 in the gulpfile.js.
Some errors happening complaining about the file Microsoft.Cpp.Defaults.props. Finally need to set these two environment variables:

set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
set GYP_MSVS_VERSION=2015

This allowed the compilation of the project using Visual C++ 2015 Tools installed.

Real problem is node-gyp (gulp-msbuild works OK with VS2017): i could not make it work with having only VS2017 installed (even though i installed the 14.0 toolset).

I'll do some tests in the future and I'll update the status of this issue. :)
If anyone has any comment about building the project with VS2017 would be very appreciated.

Process can't be killed with CTRL+C

EdgeDiagnosticsAdapter.exe does not respond
to "Control-C" from the command line while it is running. Instead I
have to perform a manual process kill.

Breakpoints fails to be set for some files

Debug console content when adding BP in code:
›SourceMaps.setBP: Mapped c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.ts to c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.js
›SourceMaps.setBP: Mapped c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.ts:32:0 to c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.js:54:20
›SourceMaps.setBP: Mapped c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.ts:71:0 to c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.js:91:20
›Paths.setBP: Resolved c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.js to http://localhost:8000/app/modules/search/customer-search.component.js
›To target: {"id":5,"method":"Debugger.setBreakpointByUrl","params":{"url":"http://localhost:8000/app/modules/search/customer-search.component.js","lineNumber":54,"columnNumber":20}}
›To target: {"id":6,"method":"Debugger.setBreakpointByUrl","params":{"url":"http://localhost:8000/app/modules/search/customer-search.component.js","lineNumber":91,"columnNumber":20}}
›From target: {"id":5,"error":{"description":"Not implemented"}}
›From target: {"id":6,"error":{"description":"Not implemented"}}
›SourceMaps.setBP: Mapped c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.js:54:0 to c:/HPSRC/Git/Handy/Handy.Client/app/modules/search/customer-search.component.ts:32
›SourceMaps.setBP: Mapped c:\HPSRC\Git\Handy\Handy.Client\app\modules\search\customer-search.component.js:91:0 to c:/HPSRC/Git/Handy/Handy.Client/app/modules/search/customer-search.component.ts:71
›To client: {"seq":0,"type":"response","request_seq":5,"command":"setBreakpoints","success":true,"body":{"breakpoints":[{"verified":false,"line":33},{"verified":false,"line":72}]}}

Most likely, looks like the error is thrown when trying to set a breakpoint in a file that isn't recognized by the adaptor. https://github.com/Microsoft/edge-diagnostics-adapter/blob/master/src/chromeProtocol/debugger.ts#L568

Roadmap, project support and uses.

Hello,

I just came across this repository and was wondering what the roadmap for this project is and how much active support it has. From the github pulse, not that much.

I'm particularly interested to know if the purpose of this project is to make Edge have full compatability with the Chrome debugging protocol and how this project can be used in popular projects such as Lighthouse.

Attemping to attach fails

I am able to get a page where the opened tabs are listed, but when I click on them it will give a 404.
I realized no matter what port I started up edgeadapter as, it will always try to navigate to port 9223.

/json/version returns invalid JSON

HTTP /json/version returns invalid JSON. Comma separators seems to be missing.

{
   "Browser" : "Internet Explorer 11.0.10586.162"
   "Protocol-Version" : "1.1"
   "User-Agent" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0)"
   "WebKit-Version" : "0"
}

cmd line output shows wrong port

after starting EdgeDiagnosticsAdapter.exe with a custom port with the flag "--port"
the proxy starts on the given port, but prints the default port to the cmd line:

Proxy server listening on port 9222...

ERROR: unrecognised option '--help'

Passing the --help option, prints usage, along with an error ;)

ERROR: unrecognised option '--help'

Allowed options:
  -l [ --launch ] arg   Launches Edge. Optionally at the URL specified in the
                        value
  -k [ --killall ]      Kills all running Edge processes.
  -c [ --chrome ]       Launches Crhome in the background to serve the Chrome
                        Developer Tools frontend.

Deprecated module usage

npm WARN package.json [email protected] No repository field.
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN prefer global [email protected] should be installed with -g

TypeError when trying to connect to open tab

I'm trying to get Edge-diagnostics-adapter up and running on the latest Insider build of Windows 10.

I am able to get the list of open tabs up, but once I click on any of them, the node task exits with a typeError.

$ node -v
v6.12.3


$ node out/src/edgeAdapter.js --port=9222 --servetools
Edge Diagnostics Adapter listening on port 9222...
Log: Injecting 'browser:assert.js'
Log: Injecting 'browser:common.js'
Log: Injecting 'browser:browser.js'
Log: Injecting 'browser:dom.js'
Log: Injecting 'browser:runtime.js'
Log: Injecting 'browser:page.js'
Log: Injecting 'browser:CssParser.js'
Log: Injecting 'browser:browserTool.js'
Log: Injecting 'browser:network.js'
Log: Injecting 'debugger:assert.js'
Log: Injecting 'debugger:common.js'
Log: Injecting 'debugger:debugger.js'
Log: Could not open NetworkProxy at path: C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\out\src\adapterService\..\..\lib\NetworkProxy.exe
C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\out\src\adapterService\edgeAdapterService.js:190
                        edgeAdapter.forwardTo(networkInstanceId, msg.toString());
                                    ^

TypeError: Incorrect arguments - forwardTo(instanceId: string, message: string): void
    at TypeError (native)
    at WebSocket.<anonymous> (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\out\src\adapterService\edgeAdapterService.js:190:37)
    at emitOne (events.js:96:13)
    at WebSocket.emit (events.js:188:7)
    at Receiver._receiver.onmessage (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\node_modules\ws\lib\WebSocket.js:143:47)
    at Receiver.dataMessage (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\node_modules\ws\lib\Receiver.js:389:14)
    at Receiver.getData (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\node_modules\ws\lib\Receiver.js:330:12)
    at Receiver.startLoop (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\node_modules\ws\lib\Receiver.js:165:16)
    at Receiver.add (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\node_modules\ws\lib\Receiver.js:139:10)
    at Socket._ultron.on (C:\Users\Jacob\AppData\Roaming\npm\node_modules\edge-diagnostics-adapter\node_modules\ws\lib\WebSocket.js:139:22)`

Protocol.json is missing

The protocol.json is a key component for feature detection, and is used by various clients. We had a manual maintained file, which now have been removed.

Roadmap?

Love the idea! Is there a roadmap?

Thanks

Page.navigate returns wrong frameId

The Page.navigate action should return the frameId ("Frame id that
will be navigated."). However, the Page.frameNavigated event is
sending a value that has absolutely nothing to do with the result from
the Page.navigate call. Instead, the frame ID that gets returned is a
value that looks to be increasing by 100 each time, so 1600, 1700,
etc, while the Page.navigate frameId result is always 5000.1.

By report by Kenneth Shaw.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.