mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-06 16:10:09 +00:00
## Summary Running + Finished + History tasks now all work and reconcile correctly in the queue. ## Changes 1. Reconcile complete workflows so they show up in history. 2. Do the above in a way that minimizes recreation of `TaskItemImpls` 3. Address some CR feedback on #6336 ## Review Focus I tried to optimize `TaskItemImpls` so we aren't recreating ones for history items tat already exist. Please give me feedback on if I did this correctly, or if it was even necessary. ## Screenshots 🎃 https://github.com/user-attachments/assets/afc08f31-cc09-4082-8e9d-cee977bc1e22 ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6340-feat-historyV2-reconcile-completed-workflows-29a6d73d36508145a56aeb99cfa0e6ba) by [Unito](https://www.unito.io)
259 lines
5.9 KiB
TypeScript
259 lines
5.9 KiB
TypeScript
/**
|
|
* @fileoverview Test fixtures for history V2 timestamp-based sorting
|
|
*/
|
|
import type { HistoryResponseV2 } from '@/platform/remote/comfyui/history/types/historyV2Types'
|
|
|
|
export const historyV2WithMissingTimestamp: HistoryResponseV2 = {
|
|
history: [
|
|
{
|
|
prompt_id: 'item-timestamp-1000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-1000',
|
|
extra_data: {
|
|
client_id: 'test-client'
|
|
}
|
|
},
|
|
outputs: {
|
|
'1': {
|
|
images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-1000', timestamp: 1000 }
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-timestamp-2000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-2000',
|
|
extra_data: {
|
|
client_id: 'test-client'
|
|
}
|
|
},
|
|
outputs: {
|
|
'2': {
|
|
images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-2000', timestamp: 2000 }
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-no-timestamp',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-no-timestamp',
|
|
extra_data: {
|
|
client_id: 'test-client'
|
|
}
|
|
},
|
|
outputs: {
|
|
'3': {
|
|
images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: []
|
|
}
|
|
}
|
|
]
|
|
}
|
|
|
|
export const historyV2FiveItemsSorting: HistoryResponseV2 = {
|
|
history: [
|
|
{
|
|
prompt_id: 'item-timestamp-3000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-3000',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'1': {
|
|
images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-3000', timestamp: 3000 }
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-timestamp-1000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-1000',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'2': {
|
|
images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-1000', timestamp: 1000 }
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-timestamp-5000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-5000',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'3': {
|
|
images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-5000', timestamp: 5000 }
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-timestamp-2000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-2000',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'4': {
|
|
images: [{ filename: 'test4.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-2000', timestamp: 2000 }
|
|
]
|
|
]
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-timestamp-4000',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-timestamp-4000',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'5': {
|
|
images: [{ filename: 'test5.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: [
|
|
[
|
|
'execution_success',
|
|
{ prompt_id: 'item-timestamp-4000', timestamp: 4000 }
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
|
|
export const historyV2MultipleNoTimestamp: HistoryResponseV2 = {
|
|
history: [
|
|
{
|
|
prompt_id: 'item-no-timestamp-1',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-no-timestamp-1',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'1': {
|
|
images: [{ filename: 'test1.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: []
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-no-timestamp-2',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-no-timestamp-2',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'2': {
|
|
images: [{ filename: 'test2.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: []
|
|
}
|
|
},
|
|
{
|
|
prompt_id: 'item-no-timestamp-3',
|
|
prompt: {
|
|
priority: 0,
|
|
prompt_id: 'item-no-timestamp-3',
|
|
extra_data: { client_id: 'test-client' }
|
|
},
|
|
outputs: {
|
|
'3': {
|
|
images: [{ filename: 'test3.png', type: 'output', subfolder: '' }]
|
|
}
|
|
},
|
|
status: {
|
|
status_str: 'success',
|
|
completed: true,
|
|
messages: []
|
|
}
|
|
}
|
|
]
|
|
}
|