Polymer / atom-plugin

Provides autocompletion, linting, and more for web components.
Other
32 stars 8 forks source link

Windows support #36

Closed rictic closed 6 years ago

rictic commented 8 years ago

I've gotten reports that the atom plugin doesn't work on windows. Initially, since we were seeing this with other plugins, I assumed it was at the editor service level, but I was able to get vscode working fine, so I think this is separate bugs in the individual plugins.

Related tracking bug: https://github.com/Polymer/polymer-editor-service/issues/7

tylerthehaas commented 7 years ago

I am experiencing this same bug. Is any progress being made on this?

danielvanmil commented 7 years ago

+1, any progress and will anyone pick this up?

in dev tools seeing:

Error: channel closed
    at ChildProcess.target.send (internal/child_process.js:540:16)
    at Promise (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:69:29)
    at EditorServerChannel.<anonymous> (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:68:19)
    at next (<anonymous>)
    at C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:20:65
    at __awaiter (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:16:12)
    at EditorServerChannel._sendRequest (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:66:16)
    at EditorServerChannel.<anonymous> (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:44:24)
    at next (<anonymous>)
    at C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:20:65
    at __awaiter (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:16:12)
    at EditorServerChannel.request (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:40:16)
    at RemoteEditorService.<anonymous> (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:115:34)
    at next (<anonymous>)
    at C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:20:65
    at __awaiter (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:16:12)
    at RemoteEditorService.getTypeaheadCompletionsAtPosition (C:\Users\danielm\.atom\packages\polymer-ide\node_modules\polymer-editor-service\lib\remote-editor-service.js:114:16)
    at Autocompleter.<anonymous> (file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:37:58)
    at next (<anonymous>)
    at file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:7:65
    at __awaiter (file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:3:12)
    at Autocompleter._getSuggestions (file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:28:16)
    at Autocompleter.<anonymous> (file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:18:35)
    at next (<anonymous>)
    at file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:7:65
    at __awaiter (file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:3:12)
    at Autocompleter.getSuggestions (file:///C:/Users/danielm/.atom/packages/polymer-ide/lib/auto-completer.js:16:16)
    at C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:325:56
    at Array.forEach (native)
    at AutocompleteManager.module.exports.AutocompleteManager.getSuggestionsFromProviders (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:304:17)
    at AutocompleteManager.getSuggestionsFromProviders (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:3:59)
    at AutocompleteManager.module.exports.AutocompleteManager.findSuggestions (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:291:19)
    at AutocompleteManager.findSuggestions (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:3:59)
    at atom-text-editor.subscriptions.add.atom.commands.add.autocomplete-plus:activate (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:267:26)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\src\command-registry.js:259:29)
    at C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\src\command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\src\window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (C:\Users\danielm\AppData\Local\atom\app-1.12.6\resources\app.asar\src\window-event-handler.js:3:59)
TimvdLippe commented 7 years ago

I do not have a Windows machine at my disposal, so unable to fix the issue. @rictic does but is kinda busy, so if you are able to work on this issue and submit a PR that would be greatly appreciated!

admwx7 commented 7 years ago

Poked around a little today, looks like it's an issue with the forked process, here's a dump of the child process:

image

I made a clone of it when it was constructed so I could dump that out as well:

image

The error I keep getting, which matches @danielvanmil is that the channel is closed, which is true by the time the process tries to send across the event saying a file was changed, just having trouble tracking down why the channel is closing, looks like it's not being done intentionally in the code at least.

.atom/packages/polymer-ide/node_modules/polymer-editor-service/lib/remote-editor-service.js - is the script that's creating the fork in the EditorServerChannel class.

same location but polymer-editor-server.js file is the script that is being forked, I was testing on node 6.9.1, updated to 7.2.1, same issue in both cases so it's not a change in the API it seems. I'm on windows 10

Need to get back to my tasks for the day, hope this helps someone else get a little further along...

Mika83AC commented 7 years ago

Not working for me on Win7, too.

AndreasGalster commented 7 years ago

Any news whether this'll be picked up at some point?

rictic commented 6 years ago

This should be fixed by #69. Anyone mind trying at master? Should have the next release within the week.