Repository navigation
v1.0.22
Table borders keep their color in extension messages
With the Titanium themes, a table cell ending in inline code painted the │ after it, the padding, and the row's right edge in the code color. It showed up in extension messages such as pi-teams results, and in expanded compaction, skill, and branch blocks. This release fixes that.
Fixed
- Cause. Titanium leaves
customMessageTextempty, which means the terminal's own text color. Pi's Markdown strips the default text style's escape from the end of each inline run. For an empty color that escape is the same\x1b[39mthat closes inline code, so the code color stayed open to the end of the row. Pi's own dark theme has no empty colors, so it does not show there. - Change. These blocks no longer pass a default text style when that color is the terminal's own. Inline code keeps its closing escape, and the text renders in the same color as before. A colored
customMessageTextis handled exactly as before. - Not covered. Messages you type go through Pi's own component, which the theme does not draw. A table cell ending in inline code there still colors its border under Titanium.
How it stays contained
- Presentation only, in one function (
createMarkdownBody). Every golden section is byte-identical to 1.0.21.
Verification
- CI: this repository has no configured GitHub Actions workflows, check-runs, or commit-status contexts for the release commit. The local release gates below all passed.
npm ciandnpm run check: typecheck, 415 unit/integration/golden tests, dependency boundaries, production build, and package smoke.- 5 tests are new: a table in boxed, light, and inline chrome, plus text color with an empty and with a colored
customMessageText. - The three table tests fail with the change disabled.
- 5 tests are new: a table in boxed, light, and inline chrome, plus text color with an empty and with a colored
npm run test:e2e:readonly-tools: 25/25 packed-package CLI/RPC cases on Pi 0.99.1 withpi-hashline-edit-pro4.5.1.npm publish --dry-run: the expected 7-file npm artifact (148.5 kB packed).- Real TUI on Pi 1.1.0 with the Titanium theme and an isolated agent directory. A recorded pi-teams result (two teammates, a script table) was replayed as an extension message, and foreground colors were read back from the terminal buffer:
- In the
claude-codeanddefaultpresets, only the 6 table rows with code cells change. The code color now covers only the code text. - The other 12 measured rows keep their 1.0.21 colors, and the message text is identical.
- In the
Tested on Windows x64 with Node 24.11.1. Linux/macOS runs were not part of this verification.
Install / update
Published on npm. Verified:
- the registry
latesttag,gitHead(the release commit), and tarball shasum; - a clean install whose files match the release build byte for byte;
- a real Pi 1.1.0 run of the installed package. The replayed pi-teams table renders exactly as the pre-release build did, in both presets.
pi install npm:@nguyenquangthai/pi-omp-theme@1.0.22
# For an existing unpinned installation:
pi update npm:@nguyenquangthai/pi-omp-theme