release: validate the complete 0.15.0 branch snapshot
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

Account for concurrent composer, conversation-order, desktop-notification,
and Supervisor discussion changes in bilingual notes and feature matrices.
Correct the removed entity-writeback description in the companion article.

Align the configuration fixture with the default-on notification setting,
scope note-source UI queries and wait for completed actions, and preserve
all real Obsidian child-process checks with a 15-second scenario allowance.

Validation: frozen complete tree passed 5371 Linux tests with 51 skipped;
19 focused Windows tests, typecheck, lint, and release-note validation passed.
The older 5345-test Host result did not cover all concurrent branch changes
and is not treated as validation of this complete candidate.
This commit is contained in:
mesalogo
2026-09-28 03:06:41 +08:00
parent d9e1e42288
commit 5cdffee9ee
8 changed files with 62 additions and 11 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ describe('offline packaged MCPVault', () => {
expect(await call('list_directory', {})).toContain('smoke.md')
expect(await readFile(join(vaultPath, 'smoke.md'), 'utf8')).toContain('status: verified')
await call('delete_note', { path: 'smoke.md', confirmPath: 'smoke.md', trashMode: 'local' })
})
}, 15_000)
it('does not launch for an already cancelled call', async () => {
const start = vi.spyOn(StdioClientTransport.prototype, 'start')
+9 -6
View File
@@ -14140,19 +14140,22 @@ describe("App", () => {
await screen.findByText('Source history 101')
expect(screen.queryByText('Source history 1')).not.toBeInTheDocument()
fireEvent.click(screen.getByRole('button', { name: '快速笔记' }))
fireEvent.click(await screen.findByRole('button', { name: /Source note/ }))
fireEvent.click(await screen.findByRole('button', { name: '查看来源消息' }))
const notesPanel = within(await screen.findByRole('region', { name: '快速笔记' }))
fireEvent.click(await notesPanel.findByRole('button', { name: /Source note/ }))
fireEvent.click(await notesPanel.findByRole('button', { name: '查看来源消息' }))
await waitFor(() => {
expect(screen.getByText('Source history 1')).toBeVisible()
expect(document.activeElement).toHaveTextContent('Source history 1')
expect(notesPanel.getByRole('button', { name: '查看来源消息' })).toBeEnabled()
})
vi.mocked(api.conversations.get).mockResolvedValue({ ...conversation, messages: [] })
fireEvent.click(screen.getByRole('button', { name: '查看来源消息' }))
fireEvent.click(notesPanel.getByRole('button', { name: '查看来源消息' }))
expect(await screen.findByText('原消息已不存在')).toBeVisible()
await waitFor(() => expect(notesPanel.getByRole('button', { name: '返回原会话' })).toBeEnabled())
vi.mocked(api.conversations.get).mockRejectedValue(new Error('对话不存在'))
fireEvent.click(screen.getByRole('button', { name: '返回原会话' }))
expect(await screen.findByRole('button', { name: '原会话已不存在' })).toBeDisabled()
expect(screen.getByText('Saved text')).toBeVisible()
fireEvent.click(notesPanel.getByRole('button', { name: '返回原会话' }))
expect(await notesPanel.findByRole('button', { name: '原会话已不存在' })).toBeDisabled()
expect(notesPanel.getByText('Saved text')).toBeVisible()
}, 15_000)
it('guards disabling Magic Notes with an unsaved quick draft before saving application settings', async () => {
@@ -152,6 +152,7 @@ describe('GoodBuddy configuration contracts', () => {
const snapshot = {
application: {
checkUpdatesOnStartup: true,
desktopNotificationsEnabled: true,
updateSource: 'github',
modelDownloadSource: 'modelscope',
localToolEnvironment: defaultLocalToolEnvironmentSettings,