Fix initialization order: Define filteredMessageIds before lastAssistantIndex
Fixed 'Cannot access filteredMessageIds before initialization' error by reordering the declarations. Since lastAssistantIndex depends on filteredMessageIds, it must be defined after it.
This commit is contained in:
@@ -97,6 +97,22 @@ export default function MultiTaskChat(props: MultiTaskChatProps) {
|
|||||||
// Message store integration
|
// Message store integration
|
||||||
const messageStore = () => messageStoreBus.getOrCreate(props.instanceId);
|
const messageStore = () => messageStoreBus.getOrCreate(props.instanceId);
|
||||||
|
|
||||||
|
// Filter messages based on selected task - use store's session messages for the task session
|
||||||
|
// Must be defined before lastAssistantIndex which depends on it
|
||||||
|
const filteredMessageIds = createMemo(() => {
|
||||||
|
const task = selectedTask();
|
||||||
|
if (!task) return []; // Show no messages in Pipeline view
|
||||||
|
|
||||||
|
// If task has a dedicated session, get messages from the store for that session
|
||||||
|
if (task.taskSessionId) {
|
||||||
|
const store = messageStore();
|
||||||
|
return store.getSessionMessageIds(task.taskSessionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback to task.messageIds for backward compatibility
|
||||||
|
return task.messageIds || [];
|
||||||
|
});
|
||||||
|
|
||||||
// Memoized to prevent recalculation on every render
|
// Memoized to prevent recalculation on every render
|
||||||
const lastAssistantIndex = createMemo(() => {
|
const lastAssistantIndex = createMemo(() => {
|
||||||
const ids = filteredMessageIds();
|
const ids = filteredMessageIds();
|
||||||
@@ -117,21 +133,6 @@ export default function MultiTaskChat(props: MultiTaskChatProps) {
|
|||||||
return -1;
|
return -1;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Filter messages based on selected task - use store's session messages for the task session
|
|
||||||
const filteredMessageIds = createMemo(() => {
|
|
||||||
const task = selectedTask();
|
|
||||||
if (!task) return []; // Show no messages in Pipeline view
|
|
||||||
|
|
||||||
// If task has a dedicated session, get messages from the store for that session
|
|
||||||
if (task.taskSessionId) {
|
|
||||||
const store = messageStore();
|
|
||||||
return store.getSessionMessageIds(task.taskSessionId);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fallback to task.messageIds for backward compatibility
|
|
||||||
return task.messageIds || [];
|
|
||||||
});
|
|
||||||
|
|
||||||
// Note: Auto-scroll is handled in two places:
|
// Note: Auto-scroll is handled in two places:
|
||||||
// 1. After sending a message (in handleSendMessage)
|
// 1. After sending a message (in handleSendMessage)
|
||||||
// 2. During streaming (in the isAgentThinking effect below)
|
// 2. During streaming (in the isAgentThinking effect below)
|
||||||
|
|||||||
Reference in New Issue
Block a user