vercel / vercel/hyper

Default shell args not compatible with most shells

Open
#3,186 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

🤯 Type: Compatibility
Dominant language
TypeScript
Stars
44.7k
Forks
3.6k
Avg merge
21m
Merged PRs (30d)
1

Description

  • [x ] I am on the latest Hyper.app version
  • [x ] I have searched the issues of this repo and believe that this is not a duplicate
  • OS version and name: Ubuntu 18.04 Bionic Beaver
  • Hyper.app version:
  • Link of a Gist with the contents of your .hyper.js: 2.0.0 Stable
  • Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere): N/A
  • The issue is reproducible in vanilla Hyper.app: Is Vanilla

Issue

Other than Bash and Fish, most shells don't support the long form "--login" and only support "-l". These include Tcsh/Csh, Ksh, Zsh, and Dash.

I noticed this when trying to debug Hyper crashing immediately after it launches. I had to put a break point at sesssion.js:68 to see that Dash exited with the error "/bin/sh: 0: Illegal option --" every time.

Changing the default shell args to use "-l" instead of "--login" would make Hyper more compatible with shells out of the box.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at app/session.js:68, where the shell arguments are assembled, and reproduce the failure with Dash or another shell named in the issue. Check the default argument handling across Bash, Fish, Tcsh/Csh, Ksh, Zsh, and Dash; done means Hyper launches without the reported illegal-option error.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.