keybase / keybase/client

Linux CLI client 1.0.16 prints UTF-8 regardless of locale settings

Open
#3,888 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

I have a computer (running Gentoo Linux) which uses the ISO 8859-15 encoding for all its terminals. When I run the Keybase client (version 1.0.16) on it, I get what looks like damaged UTF-8 output:

~ $ keybase id
â¶ INFO Identifying creideiki
â public key fingerprint: 01B0 F377 A320 9AB7 FCED 8A67 BF88 06F1 8859 0D8F
[...]

If I change my terminal (KDE Konsole 4.14.3-r1) settings to decode UTF-8, without changing locale, it looks right:

~ $ keybase id
▶ INFO Identifying creideiki
✔ public key fingerprint: 01B0 F377 A320 9AB7 FCED 8A67 BF88 06F1 8859 0D8F
[...]

This is despite the fact that my locale settings do not include any UTF-8:

~ $ locale
LANG=
LC_CTYPE=sv_SE
LC_NUMERIC=sv_SE
LC_TIME=sv_SE
LC_COLLATE=POSIX
LC_MONETARY=sv_SE
LC_MESSAGES=POSIX
LC_PAPER=sv_SE
LC_NAME=sv_SE
LC_ADDRESS=sv_SE
LC_TELEPHONE=sv_SE
LC_MEASUREMENT=sv_SE
LC_IDENTIFICATION=sv_SE
LC_ALL=

sv_SE uses ISO 8859-15, and my setting of LC_MESSAGES=POSIX makes me believe all programs should output ASCII.

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 by reproducing keybase id under the reported Gentoo sv_SE and POSIX locale settings, then compare its output with a UTF-8 terminal. Trace the Linux CLI output and locale-handling entry points; done means the command produces correctly encoded output for the active locale without regressing UTF-8 terminals.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
cli, internationalization, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.