diff --git a/README.md b/README.md index 5ef41deac..994a494f9 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ bolt.diy was originally started by [Cole Medin](https://www.youtube.com/@ColeMed - ✅ PromptLibrary to have different variations of prompts for different use cases (@thecodacus) - ✅ Detect package.json and commands to auto install & run preview for folder and git import (@wonderwhy-er) - ✅ Selection tool to target changes visually (@emcconnell) +- ✅ Detect terminal Errors and ask bolt to fix it (@thecodacus) - ⬜ **HIGH PRIORITY** - Prevent bolt from rewriting files as often (file locking and diffs) - ⬜ **HIGH PRIORITY** - Better prompting for smaller LLMs (code window sometimes doesn't start) - ⬜ **HIGH PRIORITY** - Run agents in the backend as opposed to a single model call diff --git a/app/components/chat/BaseChat.tsx b/app/components/chat/BaseChat.tsx index 7c2a9da12..422c6e469 100644 --- a/app/components/chat/BaseChat.tsx +++ b/app/components/chat/BaseChat.tsx @@ -28,6 +28,8 @@ import { SpeechRecognitionButton } from '~/components/chat/SpeechRecognition'; import type { IProviderSetting, ProviderInfo } from '~/types/model'; import { ScreenshotStateManager } from './ScreenshotStateManager'; import { toast } from 'react-toastify'; +import type { ActionAlert } from '~/types/actions'; +import ChatAlert from './ChatAlert'; const TEXTAREA_MIN_HEIGHT = 76; @@ -58,6 +60,8 @@ interface BaseChatProps { setUploadedFiles?: (files: File[]) => void; imageDataList?: string[]; setImageDataList?: (dataList: string[]) => void; + actionAlert?: ActionAlert; + clearAlert?: () => void; } export const BaseChat = React.forwardRef( @@ -89,6 +93,8 @@ export const BaseChat = React.forwardRef( imageDataList = [], setImageDataList, messages, + actionAlert, + clearAlert, }, ref, ) => { @@ -318,226 +324,247 @@ export const BaseChat = React.forwardRef( }}
- - - - - - - - - - - - - - - - - - -
-
- - {(providerList || []).length > 0 && provider && ( - { - const newApiKeys = { ...apiKeys, [provider.name]: key }; - setApiKeys(newApiKeys); - Cookies.set('apiKeys', JSON.stringify(newApiKeys)); - }} - /> - )} -
-
- { - setUploadedFiles?.(uploadedFiles.filter((_, i) => i !== index)); - setImageDataList?.(imageDataList.filter((_, i) => i !== index)); - }} - /> - - {() => ( - + {actionAlert && ( + clearAlert?.()} + postMessage={(message) => { + sendMessage?.({} as any, message); + clearAlert?.(); + }} /> )} - +
-