Allow tool groups + following content to be updateable.
- I found that when there are fast transactions that update our tool group history at times promoting a tool group into the static container can result in bleeding. As a temporary fix for this (not a react Guru) I'm increasing the # of items to be 2 as updateable if a tool group is close to the end.
This commit is contained in:
parent
9de2e82b8f
commit
00840f75a1
|
@ -80,8 +80,8 @@ export const App = ({ config, cliVersion }: AppProps) => {
|
||||||
|
|
||||||
// --- Render Logic ---
|
// --- Render Logic ---
|
||||||
|
|
||||||
const staticallyRenderedHistoryItems = history.slice(0, -1);
|
const { staticallyRenderedHistoryItems, updatableHistoryItems } =
|
||||||
const updatableHistoryItem = history[history.length - 1];
|
getHistoryRenderSlices(history);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box flexDirection="column" marginBottom={1} width="90%">
|
<Box flexDirection="column" marginBottom={1} width="90%">
|
||||||
|
@ -118,13 +118,15 @@ export const App = ({ config, cliVersion }: AppProps) => {
|
||||||
}}
|
}}
|
||||||
</Static>
|
</Static>
|
||||||
|
|
||||||
{updatableHistoryItem && (
|
{updatableHistoryItems.length > 0 && (
|
||||||
<Box flexDirection="column" alignItems="flex-start">
|
<Box flexDirection="column" alignItems="flex-start">
|
||||||
<HistoryItemDisplay
|
{updatableHistoryItems.map((historyItem) => (
|
||||||
key={'history-' + updatableHistoryItem.id}
|
<HistoryItemDisplay
|
||||||
item={updatableHistoryItem}
|
key={'history-' + historyItem.id}
|
||||||
onSubmit={submitQuery}
|
item={historyItem}
|
||||||
/>
|
onSubmit={submitQuery}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
</Box>
|
</Box>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
@ -214,3 +216,21 @@ export const App = ({ config, cliVersion }: AppProps) => {
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function getHistoryRenderSlices(history: HistoryItem[]) {
|
||||||
|
let staticallyRenderedHistoryItems: HistoryItem[] = [];
|
||||||
|
let updatableHistoryItems: HistoryItem[] = [];
|
||||||
|
if (
|
||||||
|
history.length > 1 &&
|
||||||
|
history[history.length - 2]?.type === 'tool_group'
|
||||||
|
) {
|
||||||
|
// If the second-to-last item is a tool_group, it and the last item are updateable
|
||||||
|
staticallyRenderedHistoryItems = history.slice(0, -2);
|
||||||
|
updatableHistoryItems = history.slice(-2);
|
||||||
|
} else {
|
||||||
|
// Otherwise, only the last item is updateable
|
||||||
|
staticallyRenderedHistoryItems = history.slice(0, -1);
|
||||||
|
updatableHistoryItems = history.slice(-1);
|
||||||
|
}
|
||||||
|
return { staticallyRenderedHistoryItems, updatableHistoryItems };
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue