intellij-file-preview icon indicating copy to clipboard operation
intellij-file-preview copied to clipboard

Exception when using with Code With Me

Open tlusk opened this issue 4 years ago • 0 comments

To Reproduce: This plugin is installed on the host machine using the IJ 2021.1 built in "Code With Me" functionality, and a guest is connected and has enabled following of the host.

In that situation if the host clicks around on files to preview them, when clicking off a file and onto another preview the IDE will throw an exception and the previous preview will remain open.

Stack Trace:

java.lang.IllegalArgumentException: Closing guests editor not from unknown places
	at com.jetbrains.rdserver.editors.RemoteEditors.assertIsClosingFromGuest(RemoteEditors.kt:154)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager.closeRemoteTextEditor(BackendServerFileEditorManager.kt:214)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager.closeFile(BackendServerFileEditorManager.kt:204)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.closeFile(FileEditorManagerImpl.java:695)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$closeFileEditor$4(PreviewUtil.java:185)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$invokeSafeAndWait$0(PreviewUtil.java:106)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:415)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:433)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.invokeSafeAndWait(PreviewUtil.java:104)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.closeFileEditor(PreviewUtil.java:181)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.closeOtherPreviews(PreviewUtil.java:197)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewProjectHandler$2.lambda$fileOpened$0(PreviewProjectHandler.java:83)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$consumeSelectedFile$7(PreviewUtil.java:210)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$null$5(PreviewUtil.java:205)
	at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:45)
	at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:68)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$consumeDataContext$6(PreviewUtil.java:204)
	at com.intellij.openapi.util.ExecutionCallback.doWhenExecuted(ExecutionCallback.java:86)
	at com.intellij.openapi.util.ActionCallback.doWhenDone(ActionCallback.java:111)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.consumeDataContext(PreviewUtil.java:204)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.consumeSelectedFile(PreviewUtil.java:210)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewProjectHandler$2.fileOpened(PreviewProjectHandler.java:80)
	at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:674)
	at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:649)
	at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:422)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:397)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:379)
	at com.intellij.util.messages.impl.MessageBusImpl.access$100(MessageBusImpl.java:33)
	at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:185)
	at com.sun.proxy.$Proxy222.fileOpened(Unknown Source)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager$openRemoteEditor$1$1.run(BackendServerFileEditorManager.kt:157)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$8.lambda$run$0(FileEditorManagerImpl.java:1150)
	at com.intellij.openapi.util.ExpirableRunnable$1.run(ExpirableRunnable.java:17)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:182)
	at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
	at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:188)
	at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:140)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:173)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:179)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:41)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$8.run(FileEditorManagerImpl.java:1149)
	at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:105)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:1146)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager$openRemoteEditor$1.run(BackendServerFileEditorManager.kt:154)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:415)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:433)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager.openRemoteEditor(BackendServerFileEditorManager.kt:103)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager.openFileImpl4(BackendServerFileEditorManager.kt:83)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:898)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openFileImpl2$14(FileEditorManagerImpl.java:879)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:207)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:172)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:162)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:148)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:879)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:765)
	at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java:128)
	at com.jetbrains.rdserver.editors.FollowMeSynchronizer.syncFollower(FollowMeSynchronizer.kt:47)
	at com.jetbrains.rdserver.editors.FollowMeSynchronizer.selectionChanged(FollowMeSynchronizer.kt:99)
	at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:674)
	at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:649)
	at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:422)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:397)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:379)
	at com.intellij.util.messages.impl.MessageBusImpl.access$100(MessageBusImpl.java:33)
	at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:185)
	at com.sun.proxy.$Proxy222.selectionChanged(Unknown Source)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$fireSelectionChanged$29(FileEditorManagerImpl.java:1672)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$8.lambda$run$0(FileEditorManagerImpl.java:1150)
	at com.intellij.openapi.util.ExpirableRunnable$1.run(ExpirableRunnable.java:17)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:182)
	at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
	at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:188)
	at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:140)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:173)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:179)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:41)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$8.run(FileEditorManagerImpl.java:1149)
	at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:105)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:1146)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.fireSelectionChanged(FileEditorManagerImpl.java:1672)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters.lambda$setCurrentWindow$10(EditorsSplitters.java:709)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters.setCurrentWindow(EditorsSplitters.java:718)
	at com.intellij.openapi.fileEditor.impl.EditorWindow.setEditor(EditorWindow.java:583)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4Edt(FileEditorManagerImpl.java:1016)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openFileImpl4$17(FileEditorManagerImpl.java:954)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.runBulkTabChange(FileEditorManagerImpl.java:1766)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openFileImpl4$18(FileEditorManagerImpl.java:953)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:415)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:433)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4(FileEditorManagerImpl.java:952)
	at com.jetbrains.rdserver.editors.BackendServerFileEditorManager.openFileImpl4(BackendServerFileEditorManager.kt:80)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:898)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openFileImpl2$14(FileEditorManagerImpl.java:879)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:172)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:162)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:148)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:879)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:765)
	at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java:128)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$openPreviewOrEditor$2(PreviewUtil.java:154)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$invokeSafeAndWait$0(PreviewUtil.java:106)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:415)
	at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:433)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.invokeSafeAndWait(PreviewUtil.java:104)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.openPreviewOrEditor(PreviewUtil.java:153)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$openPreviewOrEditor$3(PreviewUtil.java:163)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$null$5(PreviewUtil.java:205)
	at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:45)
	at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:68)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$consumeDataContext$6(PreviewUtil.java:204)
	at com.intellij.openapi.util.ExecutionCallback.doWhenExecuted(ExecutionCallback.java:86)
	at com.intellij.openapi.util.ActionCallback.doWhenDone(ActionCallback.java:111)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.consumeDataContext(PreviewUtil.java:204)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.openPreviewOrEditor(PreviewUtil.java:162)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.openPreviewOrEditor(PreviewUtil.java:168)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewProjectHandler.lambda$openOrFocusSelectedFile$7(PreviewProjectHandler.java:211)
	at net.seesharpsoft.intellij.plugins.filepreview.PreviewUtil.lambda$invokeSafe$1(PreviewUtil.java:114)
	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.codeWithMe.ClientId$Companion.withClientId(ClientId.kt:135)
	at com.intellij.codeWithMe.ClientId.withClientId(ClientId.kt)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81)
	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)```

tlusk avatar May 21 '21 19:05 tlusk