Coder Social home page Coder Social logo

niddler-ui's People

Contributors

dgyesbreghs avatar maartenvang avatar nicolaverbeeck avatar vanlooverenkoen 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

Watchers

 avatar  avatar

niddler-ui's Issues

Niddler freezes Android Studio

My Android Studio just froze. Looking at the thread dump, it appears Niddler is the culprit:

"AWT-EventQueue-0" #22 prio=6 os_prio=0 cpu=479770.25ms elapsed=8369.57s tid=0x00007f078411e800 nid=0x1bfc4 waiting for monitor entry  [0x00007f074d913000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.get(ObservableLinkedMessageList.kt:81)
	- waiting to lock <0x000000071c27f688> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.getMessagesWithRequestId(NiddlerMessageContainer.kt:67)
	- locked <0x000000071c26bd40> (a com.icapps.niddler.lib.model.NiddlerMessageContainer)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.findResponse(NiddlerMessageContainer.kt:72)
	at com.chimerapps.niddler.ui.component.view.TimelineTableModel.getValueAt(TimelineView.kt:296)
	at javax.swing.JTable.getValueAt([email protected]/JTable.java:2706)
	at javax.swing.JTable.prepareRenderer([email protected]/JTable.java:5724)
	at com.intellij.ui.table.JBTable.prepareRenderer(JBTable.java:644)
	at javax.swing.plaf.basic.BasicTableUI.paintCell([email protected]/BasicTableUI.java:2185)
	at javax.swing.plaf.basic.BasicTableUI.paintCells([email protected]/BasicTableUI.java:2087)
	at javax.swing.plaf.basic.BasicTableUI.paint([email protected]/BasicTableUI.java:1883)
	at javax.swing.plaf.ComponentUI.update([email protected]/ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent([email protected]/JComponent.java:800)
	at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:366)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1077)
	at com.intellij.ui.table.JBTable.paint(JBTable.java:496)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JViewport.paint([email protected]/JViewport.java:737)
	at com.intellij.ui.components.JBViewport.paint(JBViewport.java:240)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint([email protected]/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint([email protected]/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint([email protected]/JLayeredPane.java:590)
	at javax.swing.JComponent.paintToOffscreen([email protected]/JComponent.java:5263)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl([email protected]/RepaintManager.java:1654)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered([email protected]/RepaintManager.java:1629)
	at javax.swing.RepaintManager$PaintManager.paint([email protected]/RepaintManager.java:1566)
	at javax.swing.BufferStrategyPaintManager.paint([email protected]/BufferStrategyPaintManager.java:262)
	at javax.swing.RepaintManager.paint([email protected]/RepaintManager.java:1333)
	at javax.swing.JComponent._paintImmediately([email protected]/JComponent.java:5211)
	at javax.swing.JComponent.paintImmediately([email protected]/JComponent.java:5021)
	at javax.swing.RepaintManager$4.run([email protected]/RepaintManager.java:868)
	at javax.swing.RepaintManager$4.run([email protected]/RepaintManager.java:851)
	at java.security.AccessController.doPrivileged([email protected]/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege([email protected]/ProtectionDomain.java:85)
	at javax.swing.RepaintManager.paintDirtyRegions([email protected]/RepaintManager.java:851)
	at javax.swing.RepaintManager.paintDirtyRegions([email protected]/RepaintManager.java:826)
	at javax.swing.RepaintManager.prePaintDirtyRegions([email protected]/RepaintManager.java:775)
	at javax.swing.RepaintManager$ProcessingRunnable.run([email protected]/RepaintManager.java:1901)
	at java.awt.event.InvocationEvent.dispatch([email protected]/InvocationEvent.java:313)
	at java.awt.EventQueue.dispatchEventImpl([email protected]/EventQueue.java:776)
	at java.awt.EventQueue$4.run([email protected]/EventQueue.java:727)
	at java.awt.EventQueue$4.run([email protected]/EventQueue.java:721)
	at java.security.AccessController.doPrivileged([email protected]/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege([email protected]/ProtectionDomain.java:85)
	at java.awt.EventQueue.dispatchEvent([email protected]/EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:841)
	at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:452)
	at com.intellij.ide.IdeEventQueue$$Lambda$661/0x00000008008af440.compute(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)
	at com.intellij.ide.IdeEventQueue$$Lambda$659/0x00000008008aa840.run(Unknown Source)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:495)
	at java.awt.EventDispatchThread.pumpOneEventForFilters([email protected]/EventDispatchThread.java:203)
	at java.awt.EventDispatchThread.pumpEventsForFilter([email protected]/EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy([email protected]/EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents([email protected]/EventDispatchThread.java:109)
	at java.awt.EventDispatchThread.pumpEvents([email protected]/EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.run([email protected]/EventDispatchThread.java:90)

   Locked ownable synchronizers:
	- None

"WebSocketConnectReadThread-6945" #6945 prio=6 os_prio=0 cpu=11.17ms elapsed=166.12s tid=0x00007f0733656000 nid=0x28ea2 waiting for monitor entry  [0x00007f05a51cf000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.awt.Container.validate([email protected]/Container.java:1646)
	- waiting to lock <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at com.intellij.ui.tree.ui.DefaultTreeUI$1.getNodeDimensions(DefaultTreeUI.java:367)
	at javax.swing.tree.AbstractLayoutCache.getNodeDimensions([email protected]/AbstractLayoutCache.java:493)
	at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize([email protected]/VariableHeightLayoutCache.java:1344)
	at javax.swing.tree.VariableHeightLayoutCache.createNodeAt([email protected]/VariableHeightLayoutCache.java:767)
	at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted([email protected]/VariableHeightLayoutCache.java:476)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.treeNodesInserted(DefaultTreeUI.java:403)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted([email protected]/BasicTreeUI.java:4285)
	at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted([email protected]/DefaultTreeModel.java:544)
	at javax.swing.tree.DefaultTreeModel.nodesWereInserted([email protected]/DefaultTreeModel.java:331)
	at javax.swing.tree.DefaultTreeModel.insertNodeInto([email protected]/DefaultTreeModel.java:251)
	at com.chimerapps.niddler.ui.component.view.LinkedTreeModel.itemsInserted(LinkedView.kt:119)
	- locked <0x000000074ab81760> (a com.chimerapps.niddler.ui.component.view.LinkedTreeModel)
	at com.icapps.niddler.lib.utils.ObservableMutableList.add(ObservableList.kt:17)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.insert(ObservableLinkedMessageList.kt:43)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.addMessage(ObservableLinkedMessageList.kt:33)
	at com.icapps.niddler.lib.model.ObservableLinkedMessagesView.notifyMessageInsert(ObservableLinkedMessageList.kt:132)
	- locked <0x0000000733501a00> (a com.icapps.niddler.lib.model.ObservableLinkedMessagesView)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$$inlined$synchronized$lambda$1.invoke(ObservableLinkedMessageList.kt:62)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$$inlined$synchronized$lambda$1.invoke(ObservableLinkedMessageList.kt:8)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.dispatchToViews(ObservableLinkedMessageList.kt:111)
	- locked <0x0000000710329da0> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.addMessage(ObservableLinkedMessageList.kt:62)
	- locked <0x000000071c27f688> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer$messageAdapter$1.onServiceMessage(NiddlerMessageContainer.kt:25)
	at com.icapps.niddler.lib.connection.NiddlerClient.onServiceMessage(NiddlerClient.kt:94)
	- locked <0x0000000796e654d0> (a java.util.HashSet)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV1ProtocolHandler.onServiceMessage(NiddlerV1ProtocolHandler.kt:32)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV2ProtocolHandler.onMessage(NiddlerV2ProtocolHandler.kt:31)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV4ProtocolHandler.onMessage(NiddlerV4ProtocolHandler.kt:34)
	at com.icapps.niddler.lib.connection.WebSocketNiddlerClient.onMessage(NiddlerClient.kt:217)
	at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:593)
	at org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:885)
	at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:819)
	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:379)
	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:216)
	at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:506)
	at java.lang.Thread.run([email protected]/Thread.java:834)

   Locked ownable synchronizers:
	- None

This is with Android Studio Arctic Fox | 2020.3.1 Beta 1 + Niddler 2.10.2

Provide warning feedback about response status rule

When attempting to rewrite response status like that:

image

nothing happens. Rewriting response status only seem to work when match is filled out (for example with "404"). This is inconsistent with all other rewrite types where blank field acts as a wildcard match that matches everything.

Wrong rewrite response status

Apparently, when I set response status to something else (e.g. 500), I'm still getting status 200 back.

Other responses are working normally.

Another freeze

I've managed to get Niddler to freeze Android Studio once again. Here is the thread dump:

Found one Java-level deadlock:
=============================
"AWT-EventQueue-0":
  waiting to lock monitor 0x00007f107c0f7c00 (object 0x0000000717e1f588, a java.util.ArrayList),
  which is held by "WebSocketConnectReadThread-1158"
"WebSocketConnectReadThread-1158":
  waiting to lock monitor 0x00007f1134007600 (object 0x0000000707d85be8, a java.awt.Component$AWTTreeLock),
  which is held by "AWT-EventQueue-0"

Java stack information for the threads listed above:
===================================================
"AWT-EventQueue-0":
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.get(ObservableLinkedMessageList.kt:81)
	- waiting to lock <0x0000000717e1f588> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.getMessagesWithRequestId(NiddlerMessageContainer.kt:67)
	- locked <0x0000000717de2cb0> (a com.icapps.niddler.lib.model.NiddlerMessageContainer)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.findResponse(NiddlerMessageContainer.kt:72)
	at com.chimerapps.niddler.ui.component.view.TimelineTableModel.getValueAt(TimelineView.kt:302)
	at javax.swing.JTable.getValueAt([email protected]/JTable.java:2706)
	at javax.swing.JTable.prepareRenderer([email protected]/JTable.java:5724)
	at com.intellij.ui.table.JBTable.prepareRenderer(JBTable.java:658)
	at javax.swing.plaf.basic.BasicTableUI.paintCell([email protected]/BasicTableUI.java:2185)
	at javax.swing.plaf.basic.BasicTableUI.paintCells([email protected]/BasicTableUI.java:2087)
	at javax.swing.plaf.basic.BasicTableUI.paint([email protected]/BasicTableUI.java:1883)
	at javax.swing.plaf.ComponentUI.update([email protected]/ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent([email protected]/JComponent.java:800)
	at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:373)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1077)
	at com.intellij.ui.table.JBTable.paint(JBTable.java:503)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JViewport.paint([email protected]/JViewport.java:737)
	at com.intellij.ui.components.JBViewport.paint(JBViewport.java:241)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint([email protected]/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint([email protected]/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren([email protected]/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint([email protected]/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint([email protected]/JLayeredPane.java:590)
	at javax.swing.JComponent.paintToOffscreen([email protected]/JComponent.java:5263)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl([email protected]/RepaintManager.java:1654)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered([email protected]/RepaintManager.java:1629)
	at javax.swing.RepaintManager$PaintManager.paint([email protected]/RepaintManager.java:1566)
	at javax.swing.BufferStrategyPaintManager.paint([email protected]/BufferStrategyPaintManager.java:262)
	at javax.swing.RepaintManager.paint([email protected]/RepaintManager.java:1333)
	at javax.swing.JComponent._paintImmediately([email protected]/JComponent.java:5211)
	at javax.swing.JComponent.paintImmediately([email protected]/JComponent.java:5021)
	at javax.swing.RepaintManager$4.run([email protected]/RepaintManager.java:868)
	at javax.swing.RepaintManager$4.run([email protected]/RepaintManager.java:851)
	at java.security.AccessController.doPrivileged([email protected]/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege([email protected]/ProtectionDomain.java:85)
	at javax.swing.RepaintManager.paintDirtyRegions([email protected]/RepaintManager.java:851)
	at javax.swing.RepaintManager.paintDirtyRegions([email protected]/RepaintManager.java:826)
	at javax.swing.RepaintManager.prePaintDirtyRegions([email protected]/RepaintManager.java:775)
	at javax.swing.RepaintManager$ProcessingRunnable.run([email protected]/RepaintManager.java:1901)
	at java.awt.event.InvocationEvent.dispatch([email protected]/InvocationEvent.java:313)
	at java.awt.EventQueue.dispatchEventImpl([email protected]/EventQueue.java:776)
	at java.awt.EventQueue$4.run([email protected]/EventQueue.java:727)
	at java.awt.EventQueue$4.run([email protected]/EventQueue.java:721)
	at java.security.AccessController.doPrivileged([email protected]/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege([email protected]/ProtectionDomain.java:85)
	at java.awt.EventQueue.dispatchEvent([email protected]/EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:843)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
	at com.intellij.ide.IdeEventQueue$$Lambda$714/0x000000080096d440.compute(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
	at com.intellij.ide.IdeEventQueue$$Lambda$713/0x000000080096ec40.run(Unknown Source)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497)
	at java.awt.EventDispatchThread.pumpOneEventForFilters([email protected]/EventDispatchThread.java:203)
	at java.awt.EventDispatchThread.pumpEventsForFilter([email protected]/EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy([email protected]/EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents([email protected]/EventDispatchThread.java:109)
	at java.awt.EventDispatchThread.pumpEvents([email protected]/EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.run([email protected]/EventDispatchThread.java:90)
"WebSocketConnectReadThread-1158":
	at java.awt.Container.addImpl([email protected]/Container.java:1100)
	- waiting to lock <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.CellRendererPane.addImpl([email protected]/CellRendererPane.java:108)
	at java.awt.Container.add([email protected]/Container.java:436)
	at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:170)
	at com.intellij.ui.tree.ui.DefaultTreeUI$1.getNodeDimensions(DefaultTreeUI.java:380)
	at javax.swing.tree.AbstractLayoutCache.getNodeDimensions([email protected]/AbstractLayoutCache.java:493)
	at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize([email protected]/VariableHeightLayoutCache.java:1344)
	at javax.swing.tree.VariableHeightLayoutCache.createNodeAt([email protected]/VariableHeightLayoutCache.java:767)
	at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted([email protected]/VariableHeightLayoutCache.java:476)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.treeNodesInserted(DefaultTreeUI.java:418)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted([email protected]/BasicTreeUI.java:4285)
	at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted([email protected]/DefaultTreeModel.java:544)
	at javax.swing.tree.DefaultTreeModel.nodesWereInserted([email protected]/DefaultTreeModel.java:331)
	at javax.swing.tree.DefaultTreeModel.insertNodeInto([email protected]/DefaultTreeModel.java:251)
	at com.chimerapps.niddler.ui.component.view.LinkedTreeModel.itemsInserted(LinkedView.kt:119)
	- locked <0x00000007450ef7e8> (a com.chimerapps.niddler.ui.component.view.LinkedTreeModel)
	at com.icapps.niddler.lib.utils.ObservableMutableList.add(ObservableList.kt:17)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.insert(ObservableLinkedMessageList.kt:39)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.addMessage(ObservableLinkedMessageList.kt:33)
	at com.icapps.niddler.lib.model.ObservableLinkedMessagesView.notifyMessageInsert(ObservableLinkedMessageList.kt:132)
	- locked <0x00000007450f4438> (a com.icapps.niddler.lib.model.ObservableLinkedMessagesView)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$1$1.invoke(ObservableLinkedMessageList.kt:62)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$1$1.invoke(ObservableLinkedMessageList.kt:62)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.dispatchToViews(ObservableLinkedMessageList.kt:111)
	- locked <0x0000000717e1f5a0> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.addMessage(ObservableLinkedMessageList.kt:62)
	- locked <0x0000000717e1f588> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer$messageAdapter$1.onServiceMessage(NiddlerMessageContainer.kt:25)
	at com.icapps.niddler.lib.connection.NiddlerClient.onServiceMessage(NiddlerClient.kt:94)
	- locked <0x000000074f59ae98> (a java.util.HashSet)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV1ProtocolHandler.onServiceMessage(NiddlerV1ProtocolHandler.kt:32)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV2ProtocolHandler.onMessage(NiddlerV2ProtocolHandler.kt:31)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV4ProtocolHandler.onMessage(NiddlerV4ProtocolHandler.kt:35)
	at com.icapps.niddler.lib.connection.WebSocketNiddlerClient.onMessage(NiddlerClient.kt:217)
	at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:636)
	at org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:963)
	at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:887)
	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:401)
	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:233)
	at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:516)
	at java.lang.Thread.run([email protected]/Thread.java:834)

Found 1 deadlock.

This is with Niddler plugin 2.12.0 and Android Studio Arctic Fox | 2020.3.1 Beta 3

Automatic connect to debugger mode after app run

It would be very useful if Niddler would offer automatic connection to the app after app is built and started on the device.

Currently Niddler has an option to auto connect after Run, but this does not appear to activate Debug mode (rewrites).

IntelliJ reports "ToolWindowManager it is a service" errors

Using Niddler 2.10.1 with IntelliJ 2021.1 keeps reporting this exception:

java.lang.Throwable: class com.intellij.openapi.wm.ToolWindowManager it is a service, use getService instead of getComponent
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
	at com.intellij.serviceContainer.ComponentManagerImpl.getComponent(ComponentManagerImpl.kt:451)
	at com.chimerapps.niddler.ui.NiddlerToolWindow$Companion.get(NiddlerToolWindow.kt:42)
	at com.chimerapps.niddler.ui.util.execution.NiddlerAutomaticConnectionHelper$connect$1.invoke(ProcessExecutionListener.kt:126)
	at com.chimerapps.niddler.ui.util.execution.NiddlerAutomaticConnectionHelper$connect$1.invoke(ProcessExecutionListener.kt:122)
	at com.chimerapps.niddler.ui.util.ui.ExtensionsKt$sam$java_lang_Runnable$0.run(Extensions.kt)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:218)
	at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:200)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:319)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

I can't find any noticeable adverse side effect from this though.

Changing debugger/rewrite properties requires reconnect to take effect

  1. Start app with niddler
  2. Connect Niddler in debug mode
  3. Make some requests to ensure debug mode works
  4. Change some rewrite properties (such as enabling/disabling some rules or changing properties of those rules)

Changes will not take effect. I have to disconnect and reconnect to make them stick.

This is with Niddler UI 2.9.4 and Niddler 1.2.0 on Android app

Linked view will become blank after auto-connect

Steps:

  1. Be connected to the phone
  2. Switch Niddler to "Linked" view (as opposed to Timeline)
  3. Make some requests
  4. Re-deploy your app (with auto-connect in existing session enabled)
  5. Watch Niddler page

BUG: Niddler will become blank, displaying only "Nothing to show"

Switching to Timeline and then will bring the requests back

Using Copy action in Niddler's details will prevent IntelliJ from using system clipboard

I've noticed very weird bug with Niddler:

  1. Open details of any request in Niddler
  2. Right click on any header and select Copy (for example, this will copy Content-Type into clipboard)
  3. Open any other application and copy text from there
  4. Attempt to paste this into any field in IntelliJ

BUG: Instead of whatever you copied in step 3, Niddler's value will be pasted (in above example Content-Type will be pasted).

So basically, at this point, IntelliJ will stop reacting to any clipboard changes outside IntellIJ. It will keep clipboard at Niddler's copy.

Workaround for this is to select any text inside IntelliJ (for example inside text editor) and copy it - this will unblock the clipboard sync.

This is with:

Android Studio 4.1
Build #AI-201.8743.12.41.6858069, built on September 23, 2020
Runtime version: 1.8.0_242-release-1644-b3-6222593 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 5.8.17-1-manjaro

(I know I said IntelliJ above, but Android Studio uses IntelliJ platform under the hood so I'm using them interchangeably)

Any ideas what could cause this?

Feature request: ability to select file to replace response body

Currently to replace response body, I have to paste long body response string into that (comparably) tiny text box. It would be nice if I could pick local html/json file instead and Niddler would read from that file when serving the response.

As an added bonus, this would also make editing the response much easier since I would only need to edit the file (no need to touch Niddler UI for changing response body).

Niddler sometimes not auto-connecting

I have noticed that Niddler will sometimes not auto connect after launching the app with "Run" button.

I have all 3 checkboxes in settings checked. Most of the time it seems to work, but sometimes it doesn't (Niddler stays disconnected after run. Connecting manually after that works normally).

I realize this is pretty vague, what can I do to collect more information on when this happens?

Plugin error

Not sure how I reproduced this, but Android Studio reported this error:

java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.elementData(ArrayList.java:422)
	at java.util.ArrayList.set(ArrayList.java:450)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDialog.onItemUpdated(RewriteDialog.kt:140)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDialog.access$onItemUpdated(RewriteDialog.kt:25)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDialog$detailPanel$1.invoke(RewriteDialog.kt:68)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDialog$detailPanel$1.invoke(RewriteDialog.kt:25)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDetailPanel$rulesTable$2.invoke(RewriteDetailPanel.kt:195)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDetailPanel$rulesTable$2.invoke(RewriteDetailPanel.kt:30)
	at com.chimerapps.niddler.ui.debugging.rewrite.PackingJBTable$1.mousePressed(RewriteDetailPanel.kt:354)
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279)
	at java.awt.Component.processMouseEvent(Component.java:6547)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
	at com.intellij.ui.table.JBTable.processMouseEvent(JBTable.java:591)
	at java.awt.Component.processEvent(Component.java:6315)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4899)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:739)
	at java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:846)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:778)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1077)
	at java.awt.Component.show(Component.java:1681)
	at java.awt.Component.setVisible(Component.java:1633)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:998)
	at com.chimerapps.niddler.ui.debugging.rewrite.RewriteDialog$Companion.show(RewriteDialog.kt:33)
	at com.chimerapps.niddler.ui.NiddlerToolWindow$setupViewActions$configureDebuggerAction$1.invoke(NiddlerToolWindow.kt:139)
	at com.chimerapps.niddler.ui.NiddlerToolWindow$setupViewActions$configureDebuggerAction$1.invoke(NiddlerToolWindow.kt:35)
	at com.chimerapps.niddler.ui.actions.DisableableAction.actionPerformed(DisableableAction.kt:20)
	at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:298)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:315)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:289)
	at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:194)
	at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:157)
	at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:447)
	at java.awt.Component.processEvent(Component.java:6315)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4899)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4721)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:739)
	at java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:846)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:778)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

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.