influxdata / influx-cli

CLI for managing resources in InfluxDB v2
MIT License
61 stars 22 forks source link

Bug in influx v1 shell: Rapid cursor movement introduces garbage chars in command line #528

Open elofu17 opened 4 months ago

elofu17 commented 4 months ago

Summary: Rapid key-repeat (holding down right or left arrow key) to move the cursor in the command line introduce garbage characters.

Info + how to reproduce: I run the latest version of influx CLI on a Debian 11 machine (package: influxdb2-cli 2.7.3-1).

# influx version
Influx CLI dev (git: none) build_date: 2023-04-28T14:24:14Z

I run the v1 shell and connect to my InfluxDB v2 (also latest version, on the same Debian 11 machine).

# influx v1 shell
InfluxQL Shell dev
Connected to InfluxDB OSS v2.7.5
> use Main
> precision rfc3339

I now I type a long command and then move the cursor rapidly back and forth (right and left). Suddenly garbage characters (ANSI escape codes?) are introduced into my command line. Ex: I type "SHOW TAG VALUES" and hold down right arrow 4 seconds, left arrow 4 seconds, repeat. I test again. I test with just the word "fooooo".

> > > > > > > > > > > > > > SHOW TA?[C?[CG  VALUES
>
> > > > > > > > > > > > > > > > > > S?> S?> S?> S?> S?[D?[DHOW TAG VA?[D?[DLUES
>
> > > > > > > > > > > ?[D?[Cfooooo?[C?[C

It looks like parts of visible and invisible ANSI sequences are left in the command line, messing things up.