atom-haskell / ide-haskell

Haskell IDE plugin for Atom editor

Home Page:https://atom.io/packages/ide-haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Incompatibility with github merge conflict resolution

ggazzi opened this issue · comments

The github package provides utilities for merge conflict resolution, decorating merge conflicts as in the image below.
merge-conflict-resolution

With haskell-ide is active, the buttons of the UI don't work. Moreover, when using github:resolve-as-ours, an exception is thrown (full report below). When haskell-ide is deactivated, github works normally.

This seems related to atom/github#971

Atom: 1.18.0 x64
Electron: 1.4.16
OS: linux 4.11.6-3-ARCH
Thrown From: github package 0.3.3

Stack Trace

Uncaught Error: Cannot decorate a destroyed marker

At /usr/lib/atom/src/decoration-manager.js:204

Error: Cannot decorate a destroyed marker
    at DecorationManager.module.exports.DecorationManager.decorateMarker (/usr/lib/atom/src/decoration-manager.js:194:17)
    at TextEditor.module.exports.TextEditor.decorateMarker (/usr/lib/atom/src/text-editor.js:1733:37)
    at Decoration.setupDecoration (/usr/lib/atom/node_modules/github/lib/views/decoration.js:103:36)
    at Decoration.componentWillReceiveProps (/usr/lib/atom/node_modules/github/lib/views/decoration.js:64:12)
    at ReactCompositeComponentWrapper.updateComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:613:14)
    at ReactCompositeComponentWrapper.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:546:10)
    at Object.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactReconciler.js:124:22)
    at Object.updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactChildReconciler.js:109:25)
    at ReactDOMComponent._reconcilerUpdateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:211:28)
    at ReactDOMComponent._updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:310:31)
    at ReactDOMComponent.updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:297:12)
    at ReactDOMComponent._updateDOMChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:942:12)
    at ReactDOMComponent.updateComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:760:10)
    at ReactDOMComponent.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:722:10)
    at Object.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactReconciler.js:124:22)
    at Object.updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactChildReconciler.js:109:25)
    at ReactDOMComponent._reconcilerUpdateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:211:28)
    at ReactDOMComponent._updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:310:31)
    at ReactDOMComponent.updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:297:12)
    at ReactDOMComponent._updateDOMChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:942:12)
    at ReactDOMComponent.updateComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:760:10)
    at ReactDOMComponent.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:722:10)
    at Object.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactReconciler.js:124:22)
    at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:753:23)
    at ReactCompositeComponentWrapper._performComponentUpdate (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:723:10)
    at ReactCompositeComponentWrapper.updateComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:644:12)
    at ReactCompositeComponentWrapper.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:546:10)
    at Object.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactReconciler.js:124:22)
    at Object.updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactChildReconciler.js:109:25)
    at ReactDOMComponent._reconcilerUpdateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:211:28)
    at ReactDOMComponent._updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:310:31)
    at ReactDOMComponent.updateChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactMultiChild.js:297:12)
    at ReactDOMComponent._updateDOMChildren (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:942:12)
    at ReactDOMComponent.updateComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:760:10)
    at ReactDOMComponent.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactDOMComponent.js:722:10)
    at Object.receiveComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactReconciler.js:124:22)
    at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:753:23)
    at ReactCompositeComponentWrapper._performComponentUpdate (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:723:10)
    at ReactCompositeComponentWrapper.updateComponent (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:644:12)
    at ReactCompositeComponentWrapper.performUpdateIfNecessary (/usr/lib/atom/node_modules/react-dom/lib/ReactCompositeComponent.js:560:12)
    at Object.performUpdateIfNecessary (/usr/lib/atom/node_modules/react-dom/lib/ReactReconciler.js:156:22)
    at runBatchedUpdates (/usr/lib/atom/node_modules/react-dom/lib/ReactUpdates.js:150:21)
    at ReactReconcileTransaction.perform (/usr/lib/atom/node_modules/react-dom/lib/Transaction.js:143:20)
    at ReactUpdatesFlushTransaction.perform (/usr/lib/atom/node_modules/react-dom/lib/Transaction.js:143:20)
    at ReactUpdatesFlushTransaction.perform (/usr/lib/atom/node_modules/react-dom/lib/ReactUpdates.js:89:32)
    at Object.flushBatchedUpdates (/usr/lib/atom/node_modules/react-dom/lib/ReactUpdates.js:172:19)
    at ReactDefaultBatchingStrategyTransaction.closeAll (/usr/lib/atom/node_modules/react-dom/lib/Transaction.js:209:25)
    at ReactDefaultBatchingStrategyTransaction.perform (/usr/lib/atom/node_modules/react-dom/lib/Transaction.js:156:16)
    at Object.batchedUpdates (/usr/lib/atom/node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
    at Object.enqueueUpdate (/usr/lib/atom/node_modules/react-dom/lib/ReactUpdates.js:200:22)
    at enqueueUpdate (/usr/lib/atom/node_modules/react-dom/lib/ReactUpdateQueue.js:24:16)
    at Object.enqueueForceUpdate (/usr/lib/atom/node_modules/react-dom/lib/ReactUpdateQueue.js:156:5)
    at EditorConflictController.ReactComponent.forceUpdate (/usr/lib/atom/node_modules/react/lib/ReactBaseClasses.js:85:16)
    at subscriptions.add.props.editor.onDidStopChanging (/usr/lib/atom/node_modules/github/lib/controllers/editor-conflict-controller.js:100:75)
    at Function.module.exports.Emitter.simpleDispatch (/usr/lib/atom/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/usr/lib/atom/node_modules/event-kit/lib/emitter.js:141:28)
    at /usr/lib/atom/node_modules/text-buffer/lib/text-buffer.js:1428:25

Commands

  3x -5:41.7.0 core:move-down (input.hidden-input)
  2x -5:41 intentions:highlight (input.hidden-input)
     -4:06.8.0 command-palette:toggle (input.hidden-input)
     -4:01.8.0 core:move-down (input.hidden-input)
     -4:01.5.0 core:confirm (input.hidden-input)
     -4:01.5.0 settings-view:view-installed-packages (input.hidden-input)
  3x -3:54.2.0 core:backspace (input.hidden-input)
     -2:58.7.0 pane:show-previous-item (div.package-detail.panels-item)
     -2:02.2.0 core:select-all (input.hidden-input)
     -2:00.8.0 core:confirm (input.hidden-input)
  2x -1:49.5.0 intentions:highlight (input.hidden-input)
     -0:14.7.0 core:move-down (input.hidden-input)
     -0:14.2.0 intentions:highlight (input.hidden-input)
     -0:13.8.0 command-palette:toggle (input.hidden-input)
     -0:10.2.0 core:confirm (input.hidden-input)
     -0:10.2.0 github:resolve-as-ours (input.hidden-input)

Non-Core Packages

atom-beautify 0.30.3 
atom-latex 0.7.11 
atom-material-syntax 1.0.6 
atom-material-ui 2.0.4 
autocomplete-awk 0.1.2 
autocomplete-haskell 0.7.2 
busy-signal 1.4.3 
color-picker 2.2.5 
editorconfig 2.2.2 
elm 0.1.0 
haskell-ghc-mod 1.19.9 
ide-haskell 1.9.6 
ide-haskell-cabal 1.9.2 
ide-haskell-repl 0.6.0 
intentions 1.1.2 
language-archlinux 0.9.2 
language-awk 0.1.12 
language-elm 1.5.0 
language-haskell 1.12.1 
language-ini 1.19.0 
language-latex 1.0.0 
language-markdown 0.23.0 
latex 0.44.0 
linter 2.2.0 
linter-elm-make 0.23.2 
linter-shellcheck 1.4.4 
linter-ui-default 1.6.2 
magic-reflow 0.3.0 
minimap 4.28.2 
package-sync 1.1.0 
pdf-view 0.59.0 
project-manager 3.3.5 

I'm not sure what I could possibly do on my end, the fault is apparently with github package itself.

From what I could tell, latest ide-haskell with Atom 1.19 doesn't manifest the described behavior. Let me know if it's still an issue.