Doesn't work with Hyper 1.3.1
Closed this issue · 9 comments
Opening a new issue since I can't reopen #5. I updated Hyper in the meantime to the latest version (1.3.1) and also hyper-pane. It still doesn't seem to work:
(re)loading renderer plugins
index.html:35 total init time 311.4649999999999
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 1a5af2f3-eb32-47f9-a0b2-53ad102cddb4
index.js:31 |HYPER-PANE| updateChildrenFrames: no children found, skipping e1f12d3b-a2b3-48f3-be30-11b326a16b0e
index.js:31 |HYPER-PANE| Keep term ref
index.js:31 |HYPER-PANE| Attach mouse handler
index.js:529 Uncaught TypeError: this.term.getTermDocument is not a function
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 1a5af2f3-eb32-47f9-a0b2-53ad102cddb4
index.js:31 |HYPER-PANE| dealing child ca7ab3ca-46cd-4bd0-9f5a-397cbcee8ac1
index.js:31 |HYPER-PANE| Setting frame for Object {uid: "ca7ab3ca-46cd-4bd0-9f5a-397cbcee8ac1", sessionUid: "e1f12d3b-a2b3-48f3-be30-11b326a16b0e", parentUid: "1a5af2f3-eb32-47f9-a0b2-53ad102cddb4", direction: null, sizes: null…} 0 0.5
index.js:31 |HYPER-PANE| updateChildrenFrames: call on ca7ab3ca-46cd-4bd0-9f5a-397cbcee8ac1
index.js:31 |HYPER-PANE| updateChildrenFrames: sessionUid found, skipping e1f12d3b-a2b3-48f3-be30-11b326a16b0e
index.js:31 |HYPER-PANE| dealing child 2e3945f9-1412-4d2a-b5d9-0ce0873dc984
index.js:31 |HYPER-PANE| Setting frame for Object {uid: "2e3945f9-1412-4d2a-b5d9-0ce0873dc984", sessionUid: "0db102f7-589d-49a0-b9d1-c93733b735fd", parentUid: "1a5af2f3-eb32-47f9-a0b2-53ad102cddb4", direction: null, sizes: null…} 0.5 0.5
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 2e3945f9-1412-4d2a-b5d9-0ce0873dc984
index.js:31 |HYPER-PANE| updateChildrenFrames: sessionUid found, skipping 0db102f7-589d-49a0-b9d1-c93733b735fd
index.js:31 |HYPER-PANE| Keep term ref
index.js:31 |HYPER-PANE| Keep term ref
index.js:31 |HYPER-PANE| Attach mouse handler
index.js:529 Uncaught TypeError: this.term.getTermDocument is not a functioncomponentDidMount @ index.js:529notifyAll @ bundle.js:4close @ bundle.js:47closeAll @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1(anonymous function) @ bundle.js:1U.a.on.ne @ bundle.js:47emitOne @ events.js:96emit @ events.js:188ipcListener @ bundle.js:47emitTwo @ events.js:106emit @ events.js:191
7bundle.js:41 Uncaught TypeError: Cannot read property 'getPrefs' of undefinedcomponentWillReceiveProps @ bundle.js:41updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47performUpdateIfNecessary @ bundle.js:47performUpdateIfNecessary @ bundle.js:1runBatchedUpdates @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1(anonymous function) @ bundle.js:1onResize @ bundle.js:41W.onTerminalResize @ bundle.js:5I.Terminal.IO.onTerminalResize_ @ bundle.js:47I.Terminal.realizeSize_ @ bundle.js:47I.Terminal.onResize_ @ bundle.js:47notifyList @ bundle.js:47
bundle.js:5 Uncaught TypeError: Cannot read property 'focusHyperCaret' of undefinedfocus @ bundle.js:5handleFocusActive @ bundle.js:4componentDidUpdate @ bundle.js:4notifyAll @ bundle.js:4close @ bundle.js:47closeAll @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1(anonymous function) @ bundle.js:1requestAnimationFrame @ bundle.js:47
bundle.js:41 Uncaught TypeError: Cannot read property 'getPrefs' of undefinedcomponentWillReceiveProps @ bundle.js:41updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47performUpdateIfNecessary @ bundle.js:47performUpdateIfNecessary @ bundle.js:1runBatchedUpdates @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1V @ bundle.js:1onActive @ bundle.js:41handleMouseUp @ bundle.js:5
Split panes completely stop to work once I enable hyper-pane. Whether showIndicators
is set to true or false doesn't matter.
@lanthaler whats your full config?
have you tried to keep only hyper-pane in the plugins list?
though seems like a problem with this
Maybe onTermRef
is called by a decorated Term and not a real Term instance.
It could explain : this.term.getTermDocument is not a function
@lanthaler your hyper config will help to reproduce as @iamstarkov said
Here's my full config
module.exports = {
config: {
// default font size in pixels for all tabs
fontSize: 14,
// font family with optional fallbacks
fontFamily: '"DejaVu Sans Mono", Menlo, "Lucida Console", monospace',
// terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
cursorColor: 'rgba(248,28,229,0.8)',
// `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █
cursorShape: 'BLOCK',
// Make cursor blink
cursorBlink: true,
// color of the text
foregroundColor: '#fff',
// terminal background color
backgroundColor: '#300a24',
// border color (window, tabs)
borderColor: '#875f87', //'#333',
// custom css to embed in the main window
css: '.hyper_main { border: none !important; } .tab_tab { border: none; } .tab_tab.tab_active { background-color: #875f87 !important }',
// custom css to embed in the terminal window
termCSS: '',
// set to `true` if you're using a Linux set up
// that doesn't shows native menus
// default: `false` on Linux, `true` on Windows (ignored on macOS)
showHamburgerMenu: true,
// set to `false` if you want to hide the minimize, maximize and close buttons
// additionally, set to `'left'` if you want them on the left, like in Ubuntu
// default: `true` on windows and Linux (ignored on macOS)
showWindowControls: true,
// custom padding (css format, i.e.: `top right bottom left`)
padding: '12px 14px',
// the full list. if you're going to provide the full color palette,
// including the 6 x 6 color cubes and the grayscale map, just provide
// an array here instead of a color map object
colors: {
black: '#000000',
red: '#ff0000',
green: '#33ff00',
yellow: '#ffff00',
blue: '#0066ff',
magenta: '#cc00ff',
cyan: '#00ffff',
white: '#d0d0d0',
lightBlack: '#808080',
lightRed: '#ff0000',
lightGreen: '#33ff00',
lightYellow: '#ffff00',
lightBlue: '#0066ff',
lightMagenta: '#cc00ff',
lightCyan: '#00ffff',
lightWhite: '#ffffff'
},
// the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
// if left empty, your system's login shell will be used by default
shell: '/bin/bash',
// for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
// by default ['--login'] will be used
shellArgs: ['-i'],
// for environment variables
env: {},
// set to false for no bell
bell: false,
// if true, selected text will automatically be copied to the clipboard
copyOnSelect: false,
// URL to custom bell
// bellSoundURL: 'http://example.com/bell.mp3',
// for advanced config flags please refer to https://hyper.is/#cfg
paneNavigation: {
debug: true,
hotkeys: {
navigation: {
up: 'ctrl+shift+up',
down: 'ctrl+shift+down',
left: 'ctrl+shift+left',
right: 'ctrl+shift+right'
},
permutation_modifier: 'alt', // Added to jump and navigation hotkeys for pane permutation
},
showIndicators: false,
focusOnMouseHover: false
}
},
// a list of plugins to fetch and install from npm
// format: [@org/]project[#version]
// examples:
// `hyperpower`
// `@company/project`
// `project#1.0.1`
plugins: [
'hyperterm-monokai',
'hyperlinks',
'hyper-pane',
],
// in development, you can create a directory under
// `~/.hyper_plugins/local/` and include it here
// to load it and avoid it being `npm install`ed
localPlugins: []
};
Let me know if you need any logs or other data
Ok, reproduced.
Not easy to fix...
But there is a simple workaround : put hyper-pane
first in your plugin list.
That partially solves the issue. I can jump left and right with ctrl+shift+left
/ ctrl+shift+right
. Without the ctrl
it doesn't at the sequence isn't swallowed and instead I see D's and C's in my console instead, which is the same behavior I get with the up/down mapped to ctrl+shift+up
leads to an A
printed in my console and ctrl+shift+down
in a B
.
The much bigger issue though is that when I get rid of panes by executing exit
in them, other panes stop working. I can't type in them anymore. Or more concretely, I don't see what I type printed on the screen and also not the output of commands like ls
. Apparently the command still gets executed though because blindly typing exit
and pressing enter closes panes and eventually hyper.
Just published v1.1.3:
Not having hyper-pane
as first plugin will not break Hyper. But focusOnMouseOver
will not work. We need to wait for Hyper next version landing (PR #1680 has been merged into master).
I think thatexit
issue is an Hyper issue see vercel/hyper#1676
Please open a new issue for your shortcut issue with more informations (OS, DevTools output...)