Skip to content

fix: Phase 3+4 — OpenTUI 0.1.88, agent ordering, upstream fix triage#28

Merged
e6qu merged 1 commit intodevfrom
phase3/quality-opentui
Mar 22, 2026
Merged

fix: Phase 3+4 — OpenTUI 0.1.88, agent ordering, upstream fix triage#28
e6qu merged 1 commit intodevfrom
phase3/quality-opentui

Conversation

@e6qu
Copy link
Owner

@e6qu e6qu commented Mar 21, 2026

Phase 3+4 Merged: Quality Fixes + Community Bug Fixes

Merged Phases 3 and 4 into one PR. Most planned items were already applied in previous PRs or can't be cherry-picked due to architectural divergence.

Applied

OpenTUI 0.1.88 upgrade

  • Upstream: anomalyco/opencode#18079 by Sebastian (@kommander)
  • Commit: 040f551c5
  • Bumps @opentui/core and @opentui/solid from 0.1.87 to 0.1.88
  • Uses new decodePasteBytes() API in prompt component

Agent list ordering stability

  • Upstream: anomalyco/opencode#18261 by jorge g
  • Commit: 2dbcd79fd
  • Adds secondary alphabetical sort to agent list for deterministic ordering in prompt descriptions
  • Reimplemented manually (full PR can't cherry-pick due to skill.ts divergence)

Already applied (verified present in our tree)

Fix Upstream Why already applied
_noop tool in activeTools #9912 by Daniel Rodriguez Our filter already includes _noop
apply_patch in EDIT_TOOLS #18009 by Ariane Emory Our permission/next.ts already has it
Empty content filter for Bedrock #14586 by Tom Ryder Our transform.ts already includes @ai-sdk/amazon-bedrock
Prompt schema validation logs #17812 by Kit Langton Our prompt.ts already has safeParse validation

Can't cherry-pick (architectural divergence)

Fix Upstream Reason
Provider.list() typing #18123 by Kit Langton Deep provider.ts divergence
LSP dead client cleanup #12123 by Stephen Collings Merge conflict in lsp/server.ts

Not yet merged upstream

Fix PR Author
Lone surrogate prevention #17758 SunCreation
Memory reduction in prompting #18137 BYK
Subagent plan escape #18516 BYK

Test plan

  • bun run typecheck (tsgo) — 0 errors
  • bun test — 1488 pass, 0 fail
  • OpenTUI paste handling verified via API change

Phase 3+4 merged into one PR. Most items already applied or can't be
cherry-picked due to Effect-ification divergence.

Applied:
- OpenTUI 0.1.88 upgrade (Sebastian, #18079) — decodePasteBytes API
- Agent list ordering stability (jorge g, #18261) — secondary alphabetical
  sort for deterministic agent ordering in prompt descriptions

Already applied (skipped):
- _noop tool in activeTools (#9912) — our filter already includes it
- apply_patch in EDIT_TOOLS (#18009) — our permission/next.ts already has it
- Empty content filter for Bedrock (#14586) — already in our transform.ts
- Prompt schema validation debug logs (#17812) — already in our prompt.ts

Can't cherry-pick (diverged):
- Provider.list() typing (#18123) — deep provider.ts divergence
- Agent/skill ordering full PR (#18261) — skill.ts diverged, partial applied
- LSP dead client cleanup (#12123) — conflict in lsp/server.ts

Community fixes not yet merged upstream:
- #17758 (lone surrogates), #18137 (memory), #18516 (plan escape)
@e6qu e6qu merged commit baa58d5 into dev Mar 22, 2026
1 check passed
@e6qu e6qu deleted the phase3/quality-opentui branch March 22, 2026 00:04
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