blinksh / blinksh/blink

Doesn’t handle PUA characters well

Open
#2,179 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Swift
Stars
6.9k
Forks
746
PR merge metrics
No merged PRs in 30d

Description

### Checklist

- [x] Using latest version on the [App Store](http://itunes.apple.com/app/id1156707581)
- [x] Read the [docs](http://blink.sh/docs/)
- [x] Searched for [existing GitHub issues](https://github.com/blinksh/blink/issues)

### Configuration
18.4.2 build 1051, iPadOS 26.1

### Describe the bug
In iterms2, Unicode Private Use Area characters are displayed in whatever font in the fallback order on the computer has a glyph at the particular code point. On blink, they show up as a replacement character _or_ nothing.

| | iTerms2 | Blink case 1 | Blink case 2 |
|-------------------|---------------|-----------------------|--------------|
| nvim | correct glyph | replacement character | nothing |
| git diff --staged | correct glyph | code like | nothing |

Case 2 is problematic because one can’t even know that a character is there, and it distorts the positioning of all the characters to the right such that one can’t insert anything at correct position based on the visual feedback.

And it’s unclear which PUA code points fall into case 1 and which case 2.

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the report on iPadOS 26.1 with Blink 18.4.2 build 1051, using nvim and git diff --staged output containing Unicode Private Use Area characters. Trace the terminal rendering and font-fallback path responsible for replacement characters, visible code points, or missing glyphs; done means PUA characters remain visible and correctly positioned.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.