geldata / geldata/gel-cli

confusing "No such file or directory" error when mistyping an instance name in the CLI

Open
#1,007 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
175
Forks
32
PR merge metrics
No merged PRs in 30d

Description

EdgeDB CLI Version: EdgeDB CLI 3.0.0-dev (commit `827e801bef6593ab17a5c4bddb4fc2b6f25b1da3`, master as of 2023-04-27)

Steps to Reproduce:

1. link one or more remote instances:

```
$ edgedb instance list
┌────────┬─────────┬─────────────────┬─────────────────────┬────────┐
│ Kind │ Name │ Port │ Version │ Status │
├────────┼─────────┼─────────────────┼─────────────────────┼────────┤
│ remote │ edge214 │ localhost:25656 │ 2.14+2d99eed │ up │
│ remote │ edge30a │ localhost:35656 │ 3.0-alpha.3+5c80501 │ up │
└────────┴─────────┴─────────────────┴─────────────────────┴────────┘
```

2. run any CLI command that accepts `-I` and an instance name, and have a typo in the name of the instance:

```
$ edgedb -I egde30a
edgedb error: ClientError: cannot read credentials file /home/zack/.config/edgedb/credentials/egde30a.json: No such file or directory (os error 2)
$ edgedb ui -I egde30a
edgedb error: ClientError: cannot read credentials file /home/zack/.config/edgedb/credentials/egde30a.json: No such file or directory (os error 2)
$ edgedb dump -I egde30a db
edgedb error: ClientError: cannot read credentials file /home/zack/.config/edgedb/credentials/egde30a.json: No such file or directory (os error 2)
```

expected results:

a more user-friendly and high-level "instance does not exist" error, rather than a low-level error saying we couldn't find the credentials file (which is an implementation detail from the standpoint of a user who ran `edgedb instance link` as I did)

nice to have, "maybe you meant X?" output, similar to how git handles typos:

```
$ git statsu
git: 'statsu' is not a git command. See 'git --help'.

The most similar command is
status
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.