Skip to content

Update to TG 2.5.x (PR 5416 preview) - #3

Open
tig wants to merge 2 commits into
mainfrom
tg25-port
Open

Update to TG 2.5.x (PR 5416 preview)#3
tig wants to merge 2 commits into
mainfrom
tg25-port

Conversation

@tig

@tig tig commented Aug 22, 2026

Copy link
Copy Markdown
Member

⚠️ DO NOT MERGE with the pre-release pin in place

This PR pins a vendored pre-release build (Terminal.Gui 2.5.0-tig-remove-cm-followup.2, built from tui-cs/Terminal.Gui#5416) so the port can be validated ahead of the v2.5.0 release. Before merging, once a public 2.5.x package is on nuget.org:

  1. Update the Terminal.Gui pin to the public 2.5.x version in: ai.csproj
  2. Delete local_packages/ and the tgui-pr-5416 package source in nuget.config (delete the file if that source is all it adds)
  3. Revert the .gitignore exception for the vendored packages (if present)
  4. Re-run build and tests and confirm Terminal.Gui restores from nuget.org

Summary

Ports ai to the Terminal.Gui 2.5.0 preview as part of the v2.5.0 ecosystem-validation gate (tui-cs/Terminal.Gui#5630). Since tui-cs/Terminal.Gui#5416 (ConfigurationManager removal) is not yet merged/published, this PR TEMPorarily vendors a nupkg built from that PR branch — same pattern as tig/winprint#272.

Changes

  • ai.csproj — Terminal.Gui pin bumped 2.0.0-rc.32.5.0-tig-remove-cm-followup.2 (TEMP comment inline). No other package pins touched.
  • nuget.config (new) — adds TEMP package source tgui-pr-5416./local_packages, plus nuget.org.
  • local_packages/ (new) — vendored Terminal.Gui.2.5.0-tig-remove-cm-followup.2.nupkg + .snupkg built from the PR 5416 branch.
  • .gitignore — exception so the vendored packages can be committed.

API breaks encountered

None. The 2.5.0 breaking changes (legacy ConfigurationManager/ConfigLocations removal, View.Text no longer virtual / CWP OnTextChanging/OnTextChanged, IAcceptTarget moved to Terminal.Gui.Input, nested-only config.json) do not affect this codebase — it uses none of those APIs. Zero source changes were required.

Validation

  • dotnet restore + dotnet build: clean, 0 errors, no CS warnings (the only warnings are pre-existing NU1902/NU1903 vulnerability advisories from the Copilot SDK's transitive MessagePack/StreamJsonRpc deps — unrelated to this bump).
  • dotnet pack --configuration Release (the CI publish step): succeeds.
  • dotnet run -- --help smoke test: renders correctly.
  • Repo has no test projects, so no test suite to run.

Follow-up

Once Terminal.Gui 2.5.x is published to nuget.org: swap the pin to the public package and delete nuget.config's tgui-pr-5416 source, local_packages/, and the .gitignore exception.

Refs: tui-cs/Terminal.Gui#5416, tui-cs/Terminal.Gui#5630. Pattern precedent: tig/winprint#272.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL

Review updates (2026-08-22)

  • Re-vendored the preview package from the PR 5416 branch HEAD. The original vendored followup.1 nupkg was built from a commit 10 commits behind the 5416 branch HEAD and carried a known-fixed config bug (./.tui/config.json resolved against the app's install directory instead of the current directory). Now vendoring followup.2, rebuilt from branch HEAD e8aba423 (commit verified in nuspec metadata). Failing-first/passing probe evidence is in the commit message.
  • Behavioral delta vs rc.3 (intended TG 2.5 design, no app change needed): Terminal.Gui 2.5 auto-loads configuration at assembly load — ~/.tui/config.json, ./.tui/config.json, ~/.tui/ai.config.json, ./.tui/ai.config.json, and the TUI_CONFIG env var — so users can now retheme/rebind ai where rc.3 ignored such files. Verified live in a PTY: TUI_CONFIG={"Theme":"Dark"} restyles the app.
  • Interactive smoke pass (non-authenticated path): drove the chat TUI in a PTY via tuirec (/help, then /quit) against both the rc.3 baseline build and the 2.5 build — rendering is identical (same screen text, same color palette), no exceptions, clean exit. The Copilot-authenticated streaming path remains unexercised.

tig and others added 2 commits August 22, 2026 17:21
Bumps Terminal.Gui from 2.0.0-rc.3 to 2.5.0-tig-remove-cm-followup.1,
a preview package built from tui-cs/Terminal.Gui#5416 (ConfigurationManager
removal), vendored TEMPorarily in ./local_packages via nuget.config until
2.5.x ships on nuget.org.

No source changes were required: this app does not use ConfigurationManager,
does not override View.Text, and does not reference IAcceptTarget, so none
of the 2.5.0 breaking changes apply. Build, pack, and --help smoke test all
pass.

Part of the v2.5.0 ecosystem-validation gate (tui-cs/Terminal.Gui#5630).
Pattern precedent: tig/winprint#272.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL
Code review of this PR found the vendored 2.5.0-tig-remove-cm-followup.1
package was built from commit 93c3b3d40 - 10 commits behind the PR 5416
branch HEAD (e8aba4230). The missing commits include 946aaa788 ("Fix
ultrareview findings test-first: resilient config load, CWD paths, scheme
merge"), so the stale package carried a known-fixed defect: ./.tui/config.json
was resolved against AppContext.BaseDirectory (the app's install directory)
instead of Environment.CurrentDirectory.

Reproduced failing-first with a console probe against followup.1:
- CWD .tui/config.json with {"Theme":"Dark"}: IGNORED (Theme=Default)
- install-dir .tui/config.json: wrongly APPLIED (Theme=Dark)
After re-vendoring followup.2 (rebuilt from e8aba4230, clean tree, commit
verified in nuspec metadata), the probe flips:
- CWD .tui/config.json: applied (Theme=Dark)
- install-dir .tui/config.json: ignored (Theme=Default)

Re-validated with followup.2: clean-cache restore resolves from
./local_packages; build 0 errors (only pre-existing Copilot SDK NU1902/NU1903
advisories); Release pack succeeds; --help renders; and a PTY smoke pass
(tuirec: /help then /quit) renders identically to the rc.3 baseline and
exits cleanly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant