chore: prepare Desktop 0.13.2 and Agent 0.11.25
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
GoodBuddy Agent Release / Authorize Agent release (push) Canceled after 0s
GoodBuddy Agent Release / Build darwin arm64 compound package (push) Canceled after 0s
GoodBuddy Agent Release / Build linux arm64 compound package (push) Canceled after 0s
GoodBuddy Agent Release / Build linux x64 compound package (push) Canceled after 0s
GoodBuddy Agent Release / Sign cumulative Agent catalog (push) Canceled after 0s
GoodBuddy Agent Release / Publish Agent to GitHub and OSS (push) Canceled after 0s

Prepare bilingual notes and aligned feature lists for the schema-35 history repair, retained tool summaries, Windows DeepSeek workspace paths, and compact project activity navigation.

Agent 0.11.25 is a maintenance release with unchanged protocol and runtime pins. Its compound packages require Desktop 0.13.2. Desktop targets the standard six platforms without a LoongArch preview.

Make activity interaction tests wait for the loaded conversation and enabled send button, reset response mocks between cases, and wait for completed answer rendering. Accept bilingual maintenance-only Agent notes without inventing features or fixes.

Validation: 4,155 tests passed, 66 skipped; typecheck, lint, and release notes verification passed. The affected 20 tests passed three consecutive runs; all 227 App and Agent release-note tests passed. No local production build or packaging was run.
This commit is contained in:
mesalogo
2026-09-14 01:18:42 +08:00
parent f49d6678a3
commit 81ae9e0324
10 changed files with 126 additions and 31 deletions
+11 -4
View File
@@ -1063,6 +1063,8 @@ describe("App", () => {
delete document.documentElement.dataset.theme;
document.documentElement.style.colorScheme = "";
vi.clearAllMocks();
vi.mocked(api.agent.respondQuestion).mockReset().mockResolvedValue();
vi.mocked(api.agent.respondApproval).mockReset().mockResolvedValue();
magicTodoStatusChangedListener = undefined;
vi.mocked(api.magicNotes.getTodoStatus)
.mockReset()
@@ -1378,8 +1380,9 @@ describe("App", () => {
it.each(["question", "approval"] as const)("preserves live %s across snapshot refresh and clears persisted terminal prompts", async (kind) => {
render(<App />);
await screen.findByRole("button", { name: /全项目活动/u });
await screen.findByLabelText("更多会话操作 Current discussion");
fireEvent.change(screen.getByLabelText("向 GoodBuddy 提问"), { target: { value: "Refresh pending prompt" } });
await waitFor(() => expect(screen.getByLabelText("发送")).toBeEnabled());
fireEvent.click(screen.getByLabelText("发送"));
await waitFor(() => expect(run).toHaveBeenCalledOnce());
const request = run.mock.calls[0]![0];
@@ -1439,8 +1442,9 @@ describe("App", () => {
vi.mocked(kind === "question" ? api.agent.respondQuestion : api.agent.respondApproval)
.mockImplementationOnce(() => new Promise<void>((yes, no) => { resolve = yes; reject = no; }));
render(<App />);
await screen.findByRole("button", { name: /全项目活动/u });
await screen.findByLabelText("更多会话操作 Current discussion");
fireEvent.change(screen.getByLabelText("向 GoodBuddy 提问"), { target: { value: "Response activity" } });
await waitFor(() => expect(screen.getByLabelText("发送")).toBeEnabled());
fireEvent.click(screen.getByLabelText("发送"));
await waitFor(() => expect(run).toHaveBeenCalledOnce());
const request = run.mock.calls[0]![0];
@@ -1476,8 +1480,9 @@ describe("App", () => {
it.each(["question", "approval"] as const)("groups pending %s ahead of running, deduplicates live and task activity, and clears terminal events", async (kind) => {
render(<App />);
await screen.findByRole("button", { name: /全项目活动/u });
await screen.findByLabelText("更多会话操作 Current discussion");
fireEvent.change(screen.getByLabelText("向 GoodBuddy 提问"), { target: { value: "Track live activity" } });
await waitFor(() => expect(screen.getByLabelText("发送")).toBeEnabled());
fireEvent.click(screen.getByLabelText("发送"));
await waitFor(() => expect(run).toHaveBeenCalledOnce());
const request = run.mock.calls[0]![0];
@@ -10780,7 +10785,9 @@ describe("App", () => {
["先写测试"],
]),
);
expect(screen.queryByText("OpenCode 需要补充信息")).not.toBeInTheDocument();
await waitFor(() =>
expect(screen.queryByText("OpenCode 需要补充信息")).not.toBeInTheDocument(),
);
expect(screen.getByText("请选择实现方式")).toBeInTheDocument();
expect(screen.getByText("先写测试")).toBeInTheDocument();
act(() => {