feat(coding-agent): simplified subagent status line display
- Removed "running" status and hub hint details from the subagent badge text. - Updated relevant status line tests to expect the simplified badge format.
This commit is contained in:
@@ -8,21 +8,16 @@
|
||||
|
||||
### Changed
|
||||
|
||||
- Simplified status line subagent display by removing running state and hub hint indicators
|
||||
|
||||
- Updated online title, memory, and classification tasks to prioritize the `tiny` model role
|
||||
|
||||
### Fixed
|
||||
|
||||
- Prevented auto-generated session titles from accidentally re-shouting user all-caps text
|
||||
|
||||
- Fixed auto-generated session titles re-shouting emphatic ALL-CAPS from the user's message. `reconcileTitleCasing` (`packages/coding-agent/src/tiny/text.ts`) restored any source token with interior/repeated uppercase, so shouting like "unify ALL ERROR HANDLING" turned the model's clean sentence case ("Unify error handling…") back into "Unify ERROR HANDLING…". Casing is now restored only from mixed-case identifiers the user typed deliberately (`TinyVMM`, `iOS`, `IDs`); pure all-caps is left to the model's own output.
|
||||
### Fixed
|
||||
|
||||
- Fixed Tavily web search with recency filters to retry once without `time_range` when Tavily returns HTTP 200 with no renderable content. ([#3633](https://github.com/can1357/oh-my-pi/issues/3633))
|
||||
### Fixed
|
||||
|
||||
- Fixed TUI thought stream stalling and `ui.loop-blocked` warnings during subagent-heavy runs by replacing the mid-run compaction persistence check's O(n²) branch rebuild + per-pair `JSON.stringify` content compare with a one-shot persistence-key snapshot. Content equality is preserved as the rare collision tiebreaker. ([#3629](https://github.com/can1357/oh-my-pi/issues/3629))
|
||||
### Fixed
|
||||
|
||||
- Fixed marketplace-installed plugins appearing in both the npm plugin list and the OMP extension-package status provider. ([#3628](https://github.com/can1357/oh-my-pi/issues/3628))
|
||||
|
||||
## [16.2.1] - 2026-06-27
|
||||
|
||||
@@ -200,7 +200,6 @@ export class StatusLineComponent implements Component {
|
||||
#autoCompactEnabled: boolean = true;
|
||||
#hookStatuses: Map<string, string> = new Map();
|
||||
#subagentCount: number = 0;
|
||||
#subagentHubHint: string | undefined;
|
||||
#sessionStartTime: number = Date.now();
|
||||
#planModeStatus: { enabled: boolean; paused: boolean } | null = null;
|
||||
#loopModeStatus: { enabled: boolean } | null = null;
|
||||
@@ -306,12 +305,6 @@ export class StatusLineComponent implements Component {
|
||||
this.#subagentCount = count;
|
||||
}
|
||||
|
||||
/** Hub key label shown in the forced running-subagents badge. */
|
||||
setSubagentHubHint(hint: string | undefined): void {
|
||||
const trimmed = hint?.trim();
|
||||
this.#subagentHubHint = trimmed ? trimmed : undefined;
|
||||
}
|
||||
|
||||
/** Active subagent count as currently displayed (collab state mirroring). */
|
||||
get subagentCount(): number {
|
||||
return this.#subagentCount;
|
||||
@@ -925,8 +918,7 @@ export class StatusLineComponent implements Component {
|
||||
#subagentBadgeText(): string | undefined {
|
||||
if (this.#subagentCount === 0) return undefined;
|
||||
const noun = this.#subagentCount === 1 ? "agent" : "agents";
|
||||
const hubHint = this.#subagentHubHint ? ` — ${this.#subagentHubHint} hub` : " — Agent Hub";
|
||||
return theme.fg("statusLineSubagents", `${theme.icon.agents} ${this.#subagentCount} ${noun} running${hubHint}`);
|
||||
return theme.fg("statusLineSubagents", `${theme.icon.agents} ${this.#subagentCount} ${noun}`);
|
||||
}
|
||||
|
||||
#buildStatusLine(width: number): string {
|
||||
|
||||
@@ -163,8 +163,9 @@ describe("StatusLineComponent effective settings cache", () => {
|
||||
component.setSubagentHubHint("Alt+A");
|
||||
|
||||
const content = stripVTControlCharacters(component.getTopBorder(120).content);
|
||||
expect(content).toContain("2 agents running");
|
||||
expect(content).toContain("Alt+A hub");
|
||||
expect(content).toContain("2 agents");
|
||||
expect(content).not.toContain("running");
|
||||
expect(content).not.toContain("Alt+A hub");
|
||||
});
|
||||
|
||||
it("keeps plan and hook state dynamic without settings invalidation", () => {
|
||||
|
||||
Reference in New Issue
Block a user