-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Bug
The image upload button (📎 icon) is intentionally hidden on the web platform via a Platform.OS !== 'web' condition in AgentInput.tsx.
Root Cause
// happy/sources/components/AgentInput.tsx ~line 1195
{props.onImagePickerPress && Platform.OS !== 'web' && (
<Pressable ...>
<Ionicons name="image-outline" ... />
</Pressable>
)}The Platform.OS !== 'web' guard completely removes the image picker button on web.
Impact
- Web: No image upload button visible → users cannot upload images at all
- Android: Button should be visible (condition passes), but user reports it's also broken — needs separate investigation
Expected Behavior
- Web should have an image upload button using
<input type="file" accept="image/*"> - The existing
useImagePickerhook usesexpo-image-pickerwhich may not support web — need a web-specific implementation (HTML file input + FileReader for base64)
Fix Plan
- Remove the
Platform.OS !== 'web'guard - Create a web-specific image picker (using native HTML
<input type="file">+ drag-and-drop) - Add clipboard paste support (
Ctrl+V) for web (as described in PRD) - Investigate Android separately if still broken
Files
happy/sources/components/AgentInput.tsx— button visibilityhappy/sources/components/ImageUpload/useImagePicker.ts— picker logic (expo-image-picker, may not work on web)happy/sources/components/ImageUpload/ImagePreviewRow.tsx— preview UIhappy/sources/-session/SessionView.tsx— wiringhappy/docs/prd/PRD_image-upload.md— original PRD with web support plans
Labels
bug
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels