charmbracelet / charmbracelet/bubbletea

Missing borders on Linux x86

Open
#1,782 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
44.9k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

#### Describe the bug

Hello, rendering of a few of the official examples seems broken on Linux x86 (32bit). The `tabs` example:

##### x86

Image

##### x86-64

Image

#### Setup

I can reproduce this on Void (glibc) and Alpine Linux (musl). If you're running on a x86-64 machine, you can reproduce this easily with just a 32bit user space in a container.

##### Containerfile

```
# Alpine 3.24.1-x86 - BUG
FROM docker.io/library/golang@sha256:632e3a67f8e1da34a2e14c805673915a774bebb8322da4ffec804f6e9f10dd86

# Alpine 3.24.1-x86-64 - WORKS
# FROM docker.io/library/golang@sha256:4c9fe60190a2a3350ddc51de80d0224b8a6698d12bdfc999fee45ea9d6c46dbc

RUN apk update && apk upgrade && apk add curl unzip

# v2.0.9
RUN wcurl https://github.com/charmbracelet/bubbletea/archive/73b6d91ac1c3854dd4af046ab5f9e51d3b3b4290.zip \
&& unzip *zip

WORKDIR "/go/bubbletea-73b6d91ac1c3854dd4af046ab5f9e51d3b3b4290/examples/tabs"

CMD ["go", "run", "main.go"]
```

```
podman build . --tag repro
podman run --rm -it repro
```

I'm running Ghostty 1.3.1 and Tmux 3.7b but it's reproducible in other terminals as well without Tmux.

Contributor guide

Open the contributing guide

Research direction

Start with examples/tabs/main.go and reproduce the report using the supplied Containerfile and 32-bit Alpine or Void environment, comparing it with x86-64. The work is done when the tabs example renders its borders on Linux x86 as shown by the working x86-64 output.

Written by the indexing model from the issue text.

Assessment

Tech stack
dockerfile, go, linux
Domain
cli, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.