diff --git a/app/components/chat.tsx b/app/components/chat.tsx index aa29e26fd..09fa8df19 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -225,6 +225,8 @@ function useSubmitHandler() { }, []); const shouldSubmit = (e: React.KeyboardEvent) => { + // Fix Chinese input method "Enter" on Safari + if (e.keyCode == 229) return false; if (e.key !== "Enter") return false; if (e.key === "Enter" && (e.nativeEvent.isComposing || isComposing.current)) return false; diff --git a/app/utils.ts b/app/utils.ts index 1184d407d..2ca577406 100644 --- a/app/utils.ts +++ b/app/utils.ts @@ -291,9 +291,11 @@ export function getMessageImages(message: RequestMessage): string[] { } export function isVisionModel(model: string) { - return ( - // model.startsWith("gpt-4-vision") || - // model.startsWith("gemini-pro-vision") || - model.includes("vision") - ); + // Note: This is a better way using the TypeScript feature instead of `&&` or `||` (ts v5.5.0-dev.20240314 I've been using) + const visionKeywords = [ + "vision", + "claude-3", + ]; + + return visionKeywords.some(keyword => model.includes(keyword)); }