diff --git a/app/components/chat.tsx b/app/components/chat.tsx index bcd0e605df2a..b9750f2851db 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -219,6 +219,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 8b755afeac1f..b4fc1980ce35 100644 --- a/app/utils.ts +++ b/app/utils.ts @@ -292,9 +292,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)); }