Known Issues

jscheid edited this page Sep 23, 2012 · 5 revisions
Clone this wiki locally

This is a non-exhaustive list of the most important pending issues. It is here so that you know what to expect when using Kite this early in its inception. Issues are listed roughly in order of decreasing importance.

Poor memory management

WebKit requires remote debugging clients to tell it when the client doesn't need object references anymore. Kite isn't currently very good at this, so WebKit will hold on to objects that are no longer needed, which in turn will cause WebKit memory usage to grow unnecessarily over time.

Workaround: closing kite sessions, and/or closing tabs that were debugged using Kite, should help.

Misleading and incomplete documentation

The documentation in file kite.md is probably better than nothing, but it's not fully aligned with the reality of the code. It also doesn't mention many useful pieces of information.

Workaround: use the source and M-x describe-mode

Doesn't handle navigation to other pages and reloads gracefully

When you reload a web page currently being debugged by Kite, or when you navigate to a different URL in a tab debugged by Kite, this should cause the internal Kite state to be fully reset. This sorta works but isn't tested very well and so will likely cause problems.

Workaround: close the debugging session prior to navigating/reloading and then reopen it again.

DOM, CSS, and JavaScript object mutation incomplete

Changing parts of the DOM and of stylesheets often isn't possible, and also the mechanics need a makeover. The same goes for mutating JavaScript objects. (Toying with the idea of using C-c C-c for committing changes rather than RET, or making this configurable.)

Workaround: N/A

Debugger and Network buffers incomplete

The debugger is missing lots of features: most importantly, setting breakpoints is flakey, stack traces and stack frame variable bindings aren't accessible, and some debugger commands (e.g. "execute until point") are missing.

Likewise, the network buffer doesn't provide access to request or response headers, cookies, and other things.

Workaround: N/A

Missing features: profilers, resources, timeline

These are not yet implemented. I don't know yet if Kite really needs to implement all of them.

Workaround: N/A

WebKit API is a moving target

The official versions of the WebKit remote debugging API are inadequate so Kite is targeting the trunk version, which corresponds closely to the API exposed by current version of Chrome Developer Channel. However, the trunk API is subject to change without notice and so a given version of Kite can pretty much break anytime you update Chrome/Chromium. This has already happened once.

Workaround: N/A (wait for a useful stable version of the API to be published)