Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
366c550
migrate manager menu items
christian-byrne Apr 9, 2025
2aed31a
Update locales [skip ci]
invalid-email-address Apr 9, 2025
1f41367
switch to v2 manager API endpoints
christian-byrne Apr 9, 2025
363a46b
re-arrange menu items
christian-byrne Apr 11, 2025
5867103
await promises. update settings schema
christian-byrne Apr 14, 2025
7c14b26
move legacy option to startup arg
christian-byrne Apr 14, 2025
d3a629c
Add banner indicating how to use legacy manager UI
christian-byrne Apr 14, 2025
3c8adf4
Update locales [skip ci]
invalid-email-address Apr 14, 2025
eee3b74
add "Check for Updates", "Install Missing" menu items
christian-byrne Apr 14, 2025
dc2a470
Update locales [skip ci]
invalid-email-address Apr 14, 2025
05ec65f
use correct response shape
christian-byrne Apr 14, 2025
3862d78
improve command names
christian-byrne Apr 14, 2025
4a67a83
dont show missing nodes button in legacy manager mode
christian-byrne Apr 15, 2025
ced03ce
[Update to v2 API] update WS done message
christian-byrne Apr 15, 2025
7725b87
Update locales [skip ci]
invalid-email-address Apr 26, 2025
b348669
[manager] Update type definitions and schemas for menu items migration
christian-byrne Jun 13, 2025
f241b7f
[manager] Update core services for new manager API
christian-byrne Jun 13, 2025
ba1d067
[manager] Update composables and state management
christian-byrne Jun 13, 2025
b683a81
[manager] Update UI components for new manager interface
christian-byrne Jun 13, 2025
39ad018
[manager] Update tests for new manager API
christian-byrne Jun 13, 2025
5e43715
[manager] Fix test failures and missing type definitions
christian-byrne Jun 14, 2025
4249fe7
fix rebase errors
christian-byrne Jun 21, 2025
0f9d1f8
Update locales [skip ci]
invalid-email-address Jun 21, 2025
60e2f14
[Manager] Filter task queue and history by client id (#4241)
christian-byrne Jun 21, 2025
096e0c9
fix failed task tab state binding
christian-byrne Jun 22, 2025
8fbd076
[Manager] Fix: failed tasks logs not correctly partitioned in UI (#4242)
christian-byrne Jun 22, 2025
0f7e3f7
[tests] Update useServerLogs test to handle task-started events
christian-byrne Jun 22, 2025
dc85896
fix: logs stops listening after 1st of multiple queue tasks
christian-byrne Jun 23, 2025
a83a7fa
remove the temporary check for legacy custom node version of manager
christian-byrne Jun 23, 2025
babe324
[tests] Update useServerLogs test after log subscription change
christian-byrne Jun 23, 2025
558cfcc
[Manager] Add update all button functionality
viva-jinyi Jun 24, 2025
1cb94ca
[Manager] “Restarting” state after clicking restart button (#4269)
viva-jinyi Jun 26, 2025
7073c9d
fix rebase error
christian-byrne Jul 11, 2025
2e2647d
Update locales [skip ci]
invalid-email-address Jul 11, 2025
730b278
[test] Update PackVersionBadge test to use role selector instead of B…
viva-jinyi Jul 11, 2025
c28d451
migrate manager menu items
christian-byrne Apr 9, 2025
588bd99
Update locales [skip ci]
invalid-email-address Apr 9, 2025
de6ed34
switch to v2 manager API endpoints
christian-byrne Apr 9, 2025
54a0981
re-arrange menu items
christian-byrne Apr 11, 2025
eb5c49f
await promises. update settings schema
christian-byrne Apr 14, 2025
aba2e5e
move legacy option to startup arg
christian-byrne Apr 14, 2025
f8953a8
Add banner indicating how to use legacy manager UI
christian-byrne Apr 14, 2025
e780e1d
Update locales [skip ci]
invalid-email-address Apr 14, 2025
b01056e
add "Check for Updates", "Install Missing" menu items
christian-byrne Apr 14, 2025
bdd1230
Update locales [skip ci]
invalid-email-address Apr 14, 2025
1aee434
use correct response shape
christian-byrne Apr 14, 2025
f1610db
improve command names
christian-byrne Apr 14, 2025
4f94707
dont show missing nodes button in legacy manager mode
christian-byrne Apr 15, 2025
8075db4
[Update to v2 API] update WS done message
christian-byrne Apr 15, 2025
3fdbc28
Restore lost work from manager/menu-items-migration feature branch
christian-byrne Aug 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[Update to v2 API] update WS done message
  • Loading branch information
christian-byrne committed Jul 19, 2025
commit 8075db41faab777d02b21c2e24cc32e01b0acd14
2 changes: 1 addition & 1 deletion src/types/comfyManagerTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export const IsInstallingKey: InjectionKey<Ref<boolean>> =
Symbol('isInstalling')

export enum ManagerWsQueueStatus {
DONE = 'done',
DONE = 'all-done',
IN_PROGRESS = 'in_progress'
}

Expand Down
42 changes: 21 additions & 21 deletions tests-ui/tests/composables/widgets/useManagerQueue.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ describe('useManagerQueue', () => {
const getEventListenerCallback = () =>
vi.mocked(api.addEventListener).mock.calls[0][1]

const simulateServerStatus = async (status: 'done' | 'in_progress') => {
const simulateServerStatus = async (status: 'all-done' | 'in_progress') => {
const event = new CustomEvent('cm-queue-status', {
detail: { status }
})
Expand All @@ -49,7 +49,7 @@ describe('useManagerQueue', () => {
const queue = useManagerQueue()

expect(queue.queueLength.value).toBe(0)
expect(queue.statusMessage.value).toBe('done')
expect(queue.statusMessage.value).toBe('all-done')
expect(queue.allTasksDone.value).toBe(true)
})
})
Expand Down Expand Up @@ -104,7 +104,7 @@ describe('useManagerQueue', () => {
await nextTick()

// Should maintain the default status
expect(queue.statusMessage.value).toBe('done')
expect(queue.statusMessage.value).toBe('all-done')
})

it('should handle missing status property gracefully', async () => {
Expand All @@ -119,15 +119,15 @@ describe('useManagerQueue', () => {
await nextTick()

// Should maintain the default status
expect(queue.statusMessage.value).toBe('done')
expect(queue.statusMessage.value).toBe('all-done')
})
})

describe('task execution', () => {
it('should start the next task when server is idle and queue has items', async () => {
const { queue, mockTask } = createQueueWithMockTask()

await simulateServerStatus('done')
await simulateServerStatus('all-done')

// Task should have been started
expect(mockTask.task).toHaveBeenCalled()
Expand All @@ -138,7 +138,7 @@ describe('useManagerQueue', () => {
const { mockTask } = createQueueWithMockTask()

// Start the task
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask.task).toHaveBeenCalled()

// Simulate task completion
Expand All @@ -148,7 +148,7 @@ describe('useManagerQueue', () => {
await simulateServerStatus('in_progress')
expect(mockTask.onComplete).not.toHaveBeenCalled()

await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask.onComplete).toHaveBeenCalled()
})

Expand All @@ -159,15 +159,15 @@ describe('useManagerQueue', () => {
queue.enqueueTask(mockTask)

// Start the task
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask.task).toHaveBeenCalled()

// Simulate task completion
await mockTask.task.mock.results[0].value

// Simulate server cycle
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')

// Should not throw errors even without onComplete
expect(queue.allTasksDone.value).toBe(true)
Expand All @@ -184,14 +184,14 @@ describe('useManagerQueue', () => {
expect(queue.queueLength.value).toBe(2)

// Process first task
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask1.task).toHaveBeenCalled()
expect(queue.queueLength.value).toBe(1)

// Complete first task
await mockTask1.task.mock.results[0].value
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask1.onComplete).toHaveBeenCalled()

// Process second task
Expand All @@ -201,7 +201,7 @@ describe('useManagerQueue', () => {
// Complete second task
await mockTask2.task.mock.results[0].value
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask2.onComplete).toHaveBeenCalled()

// Queue should be empty and all tasks done
Expand All @@ -219,7 +219,7 @@ describe('useManagerQueue', () => {
queue.enqueueTask(mockTask)

// Start the task
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask.task).toHaveBeenCalled()

// Let the promise rejection happen
Expand All @@ -231,7 +231,7 @@ describe('useManagerQueue', () => {

// Simulate server cycle
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')

// onComplete should still be called for failed tasks
expect(mockTask.onComplete).toHaveBeenCalled()
Expand All @@ -252,7 +252,7 @@ describe('useManagerQueue', () => {
])

// Task 1
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask1.task).toHaveBeenCalled()

// Verify state of onComplete callbacks
Expand All @@ -266,7 +266,7 @@ describe('useManagerQueue', () => {

// Task 2
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask2.task).toHaveBeenCalled()

// Verify state of onComplete callbacks
Expand All @@ -279,7 +279,7 @@ describe('useManagerQueue', () => {

// Task 3
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')

// Verify state of onComplete callbacks
expect(mockTask3.task).toHaveBeenCalled()
Expand All @@ -297,7 +297,7 @@ describe('useManagerQueue', () => {

// Add first task and start processing
queue.enqueueTask(mockTask1)
await simulateServerStatus('done')
await simulateServerStatus('all-done')
expect(mockTask1.task).toHaveBeenCalled()

// Add second task while first is processing
Expand All @@ -307,7 +307,7 @@ describe('useManagerQueue', () => {
// Complete first task
await mockTask1.task.mock.results[0].value
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')

// Second task should now be processed
expect(mockTask2.task).toHaveBeenCalled()
Expand All @@ -318,9 +318,9 @@ describe('useManagerQueue', () => {

// Cycle server status without any tasks
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')
await simulateServerStatus('in_progress')
await simulateServerStatus('done')
await simulateServerStatus('all-done')

// Should not cause any errors
expect(queue.allTasksDone.value).toBe(true)
Expand Down
Loading