* 3.0.0
* 3.0.2
* Save
* Save
* Upgrade yarn lock packages
* update node-gyp and node-pty
* update travis and appveyor to node 12
* appveyor is outdated as always
* update travis to xenial
* update node-pty@0.9.0-beta26
* update yarn.lock
* update electron to 6.0.8
* move node-pty to the correct package.json
* Fix linting failure
* Update yarn lockfile to try to fix appveyor build
* Remove unnecessary changes from package.json
* Try to fix appveyor by using a newer image
* Fix linting after my last change
* update electron to 6.0.9
* install windows-build-tools on appveyor
* fix syntax
* switch back to 2017 image
* remove old resolutions field
* revert accidental version change
* update electron to 6.0.11 and electron-rebuild to 1.8.6
* downgrade yarn to 1.18
until this issue is resolved https://github.com/yarnpkg/yarn/issues/7584
* update node-gyp to 6.0.0 and generate a fresh yarn lockfile
* update react and a few other dependencies
* fix lint
* this should actually be electron-builder, I think!
* update a few dependencies
* change to electron-store
electron-config was renamed to electron-store a while ago
* update xterm to v4.1.0 and ora to 4.0.2
* move pify to app/package.json
* TODO: Revert maybe. Throw a fit on every change to maybe fix the resizing issues
* a
* fix react ref problem
* fix split view focus problem
* remove the unnecessary fit
* remove the init col and row
* fix the problem that cannot show about hyper
* update electron to 6.0.12
* fix lint
* add more todos for componentWillReceiveProps deprecation
* update babel and plugins
Co-authored-by: Juan Campa <juancampa@gmail.com>
Co-authored-by: Benjamin Staneck <staneck@gmail.com>
Co-authored-by: ivan <ivanwonder@outlook.com>
* 1. Restored the ability to turn the "bell" sound on and off using the "bell" config parameter.
2. Restored the ability to change the bell sound by providing a URL. These changes allow for a web url or local absolute file path to an audio file.
The goal with these changes was to fix the issue causing the bell to never sound due to a difference in the underlying terminal emulators configurations from the previous one. While in the area, also decided to make sure that the sound can be changed by supplying a web url to an audio file or an absolute path to an audio file within the local machine
* Code style changes
* Code style changes
* 1. More code style changes
* 1. Spacing changes to try and abide by the linter
* 1. Applied all suggested changes by eslint
* 1. Removed functionality to specify a remote url to set a sound file for the bell sound. The amount of effort for handling when there is no internet connection, queuing and so forth wasn't worth keeping the feature. It is likely that the url could be used to download the file in which the user would be able to specify the file path tho this download file.
2. Created a new property that gets passed down from the terms container all the way to the individual term. We want to be able to evaluate if the bellSoundURL has changed to determine if we really need to read the sound file.
3. Moved logic to read the audio file into the main process. Setup a new action in the 'actions/ui' that will update the bell sound when it is finished and ready. This should prevent blocking the terminal from loading and thus increasing loading times.
* 1. Modified the file reading method to be more generic to increase reusability.
2. Updated the "arrBuf2Base64" method to utilize the node Buffer class which helped to reduce some complexity and seems to run more efficiently.
3. Removed the CONFIG_ASYNC action and reducer in favor of reusing CONFIG_RELOAD when the process is finished reading the file for the bell sound. In order to achieve this, we had to merge the config from "config.getConfig()" method with the "bellSound" property before dispatching to "reloadConfig".
* 1. Removed reference to now removed method
* 1. Removed the arrBuf2Base64 as it seemed unnecessary now that the function would be reduced to a single line. Moved the one-liner into file.js. Removed references to arrBuf2Base64 method.
2. Refactored the logic that handles reloading the config when it has been updated to fix an issue that would set the bell sound back to the default sound when the config is saved without changing the value of "bellSoundURL". Setup now to either read file and reload the config, or reuse the "bellSound" value saved in state and reload the config. This removes an inefficiency with the reloadConfig being dispatched twice when "bellSoundURL" has changed as well.
* 1. Removed a file that contained a single function, referenced in only one place that is performing a fairly simple task.
2. Updated the "getBase64FileData" method to use "Buffer.from()" instead of "Buffer()" due to messages stating that "Buffer()" is deprecated due to security and usability issues.
* Adjustments and regression issues fixed
1. Updated the default config file to better explain the supported options for the "bell" config property.
2. Rearranged the bellSoundURL default property to make it easier to find should one decide to change the bell sound.
3. Typos fixed in comments.
4. Update fetchFileData to utilize the configData provided as function argument. There appeared to be no reason to reference different sources of config data within the same method.
* 1. Removed the "BELL_STYLE" constant since it was only being used in one place.
2. Updated comment block to accurately reflect the current logic and made the comment much more concise.
* 1. Add null safety check on `configInfo.bell` if the config file does not contain this property.
2. Default bellSound to null if the file specified by the filepath in `configInfo.bellSoundUrl` failed to be read. This helps prevent a repeated error being thrown by the xterm instance.
3. Updated `term.js` to use componentDidUpdate in place of the UNSAFE lifcycle method `componentWillReceiveProps`. I found that this unsafe lifecycle was never being fired, which lead to the terminal never responding to configuration changes. Without this change, the custom bell sound was never being loaded into the xterm instance.
* update xterm to 4
* add back webGL addon
* remove ligatures xterm addon, unused atm and does not work with webGL renderer
* update node-pty
* more work on trying to get xterm4 to work
* update xterm to 4.0.2
* move where xterm addon props are assigned
* more updates
* only load webgl addon if webgl is enabled
* fix search function
* remove rendererType setting, the xterm addon does this for us
* use xcode 10.3 on circleci
* fix typo
* revert node-pty bump for now
* use stable versions of the xterm plugins
* fix focus listener
* add windowsMode prop
* move webGL check
* apply tweaks by @GitSquared
* fix resizing issue
* Revert "fix resizing issue"
This reverts commit fce3780b038d69378f63bdfbfa613f20130fad34.
* apply review suggestions
* change so all addons have separate instances for each terminal
* update yarn-standalone to 1.19
* fix resize problem of split view
by @ivanwonder
* apply review feedback
* fix lint
* add name and version to package.json
* address review feedback
* more review feedback
* 1. Restored the ability to turn the "bell" sound on and off using the "bell" config parameter.
2. Restored the ability to change the bell sound by providing a URL. These changes allow for a web url or local absolute file path to an audio file.
The goal with these changes was to fix the issue causing the bell to never sound due to a difference in the underlying terminal emulators configurations from the previous one. While in the area, also decided to make sure that the sound can be changed by supplying a web url to an audio file or an absolute path to an audio file within the local machine
* Code style changes
* Code style changes
* 1. More code style changes
* 1. Spacing changes to try and abide by the linter
* 1. Applied all suggested changes by eslint
* 1. Removed functionality to specify a remote url to set a sound file for the bell sound. The amount of effort for handling when there is no internet connection, queuing and so forth wasn't worth keeping the feature. It is likely that the url could be used to download the file in which the user would be able to specify the file path tho this download file.
2. Created a new property that gets passed down from the terms container all the way to the individual term. We want to be able to evaluate if the bellSoundURL has changed to determine if we really need to read the sound file.
3. Moved logic to read the audio file into the main process. Setup a new action in the 'actions/ui' that will update the bell sound when it is finished and ready. This should prevent blocking the terminal from loading and thus increasing loading times.
* 1. Modified the file reading method to be more generic to increase reusability.
2. Updated the "arrBuf2Base64" method to utilize the node Buffer class which helped to reduce some complexity and seems to run more efficiently.
3. Removed the CONFIG_ASYNC action and reducer in favor of reusing CONFIG_RELOAD when the process is finished reading the file for the bell sound. In order to achieve this, we had to merge the config from "config.getConfig()" method with the "bellSound" property before dispatching to "reloadConfig".
* 1. Removed reference to now removed method
* 1. Removed the arrBuf2Base64 as it seemed unnecessary now that the function would be reduced to a single line. Moved the one-liner into file.js. Removed references to arrBuf2Base64 method.
2. Refactored the logic that handles reloading the config when it has been updated to fix an issue that would set the bell sound back to the default sound when the config is saved without changing the value of "bellSoundURL". Setup now to either read file and reload the config, or reuse the "bellSound" value saved in state and reload the config. This removes an inefficiency with the reloadConfig being dispatched twice when "bellSoundURL" has changed as well.
* 1. Removed a file that contained a single function, referenced in only one place that is performing a fairly simple task.
2. Updated the "getBase64FileData" method to use "Buffer.from()" instead of "Buffer()" due to messages stating that "Buffer()" is deprecated due to security and usability issues.
* Adjustments and regression issues fixed
1. Updated the default config file to better explain the supported options for the "bell" config property.
2. Rearranged the bellSoundURL default property to make it easier to find should one decide to change the bell sound.
3. Typos fixed in comments.
4. Update fetchFileData to utilize the configData provided as function argument. There appeared to be no reason to reference different sources of config data within the same method.
* 1. Removed the "BELL_STYLE" constant since it was only being used in one place.
2. Updated comment block to accurately reflect the current logic and made the comment much more concise.
* Added persistent text box search
* Toggle search box now working
* Restyled search box
* Linter and bug squashing
* Added multi OS hotkey support
* PR changes as requested
* Added ability to use escape button to close search field
* Woops forgot key mapping on non mac platforms
* fixed bug where escape would open up search window
* Removal of unused vars that died in conflict
* Now displaying the renderer type in the About dialog
* Show the number of renderers per type in the About dialog
* Use values instead of entries (key is unused)
Co-Authored-By: onecamp <juancampa@gmail.com>
* Fix location of webGLRenderer flag in default-config.js
* Fix incorrect check of webGLRenderer flag
* Explain that disabling WebGL enables transparent backgrounds
Co-Authored-By: juancampa <juancampa@gmail.com>
* Only use WebGL if background is opaque
The hardcoding to white was also removed in favor of a temporary hack in
xterm.js that uses either white-over-black or black-overwhite to
maximize contrast with the background color
Two possible value:
* `'vertical'` (Default): enable column selection when Option key is hold
* `'force'`: force selection regardless of whether the terminal is in mouse events mode
* Enabling webGL renderer
* Use @zeit/xterm fork of xterm
* Adding webGLRenderer config
* Fix linting issues
* Allow for hot-reloading of webGLRenderer
* Adding link to WebGL renderer issue we're working around
* Using NPM tarball instead of resolutions (which wasn't working
* Hard-coding selection color to white because nothing else is yet supported
On Windows, the close button (rather than the border) is expected to be hit when someone clicks the top-right corner of the screen if a window is maximized.
* Reimplement altIsMeta supprt with new xterm library
* Update xterm fork to use xtermjs/xterm.js@616958e
* Use node 8 in travis, needed by source-map@0.7.0
xterm.js doesn't use `this.term.charMeasure.width` when rendering. It
actually uses:
`Math.floor(this._terminal.charMeasure.width * window.devicePixelRatio)`
This is important, because character widths may be non-integer values,
which means that we can end up with an empty space on the right side of
the terminal window.
Instead of trying to match xterm's behavior, it's probably better if we
just use xterm's `fit` addon. This seems to behave better for me.
We might not want to land this as-is, becuase this addon forces an
annoying hard-coded 17px margin on the right side to compensate for a
scrollbar (see xtermjs/xterm.js#400), but at least for my use-cases,
this is still better than it was.
* 🐛 Fix underline cursor color
* 🐛 Fix unfocused box when cursor is underline
* 🐛 Fix BAR color and make BAR and UNDERLINE transparent when not in focus
* 🐛 Bring back the box when unfocused
* 🐛 Add cursorColor to unfocused underline and bar
* WIP
* WIP
* Wip
* Wip
* wip
* Refactor without normalize and plugin
* Replace extendKeymaps by decorateKeymaps
* WIP
* Add mousetrap
* Add first command over rpc
* More commands
* Add all commands
* Begin to hook commands
* Working multiple keymaps
* Use redux action to trigger command
* Use forked version of Mousetrap to capture key events
* Fix lint
* Add command in redux action to debug purpose
* ExecCommand from menu click
* Remove unused files
* Fix xterm should ignore catched events
* Re-enable IntelliSense checking
* Remove unused runes dep
* Added a utility for processing clipboard data
* using paste processing utility in term component to expand filepath
* removed linux case
* moved active tab to guard so only process when active
* commenting paste event handler for clarity
* Introduce 2 base components: Component and PureComponent. Before, we have only PureComponent but it was impossible to add a shoulComponentUpdate method (used for Terms).
* master: (62 commits)
1.4.3
Disable ia32 linux releases (#2164)
Fixed writing composed characters (#2158)
Doc: Add yarn install to contribute instructions (#2117)
Change "Close Session" shortcut on Linux/Windows (#2160)
Notice for plugins (#2114)
Updated dependencies to the latest version (#2146)
1.4.2
Reverted class names to as they were before (#2139)
1.4.1
AppVeyor environment variables are now on the platform (#2137)
Brought back the icon for closing tabs (#2136)
Brought back keymap documentation to the website (#2133)
1.4.0
Don't build on master, except for releases (#2132)
Ensured that `async-retry` is added to the bundle (#2131)
Ensure correct update channel is displayed in About window (#2130)
Retry loading it if config doesn't exist in auto updater (#2129)
Write contents of default config to hyper.js (#2128)
Use a string for setting the update channel (#2127)
...
* Bumped dependencies to the latest version
* Bumped root lockfile
* Bumped app dependencies
* Fixed linting
* No command line switch needed anymore for native async/await
* Fixed color error
* Bumped Node.js versions for CI
* Downgraded hterm-umdjs
* Try to fix the AppVeyor build
* Made colors work again
* pass `uid` to term
* term: keep track of term instance references
* sessions: remvoe `write` object overhead
* hterm: cache measurement of codepoints for single char strings
* sessions: merge less eagerly when we receive a PTY_DATA action
* store: handle the side effect of writing to the terminal from a middleware
* terms: add terms instance cache
* lint