Skip to content

v1.0.22

Choose a tag to compare

@QuangThai QuangThai released this 11 Oct 15:06
· 12 commits to main since this release

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 customMessageText empty, 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[39m that 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 customMessageText is 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 ci and npm 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.
  • npm run test:e2e:readonly-tools: 25/25 packed-package CLI/RPC cases on Pi 0.99.1 with pi-hashline-edit-pro 4.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-code and default presets, 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.

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 latest tag, 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