charmbracelet / charmbracelet/bubbletea
Missing borders on Linux x86
- 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
##### x86-64
#### 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
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