Skip to content

fix: amélioration UX mobile chat agent + filtrage erreurs stalées - #5

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/fix-mobile-chat-ux-4e3f
Aug 22, 2026
Merged

cursor[bot] merged 1 commit into
mainfrom
cursor/fix-mobile-chat-ux-4e3f

Conversation

@bobdivx

@bobdivx bobdivx commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Problème

L'interface mobile du chat agent était inutilisable :

  • Erreur Ollama sticky permanente : l'erreur Ollama API error [502] s'affichait en permanence sur un agent Gemini, car AgentErrorAlert affichait toujours agent.latest_run sans vérifier le provider actif
  • UX confuse sur mobile : double vue conversation/exécutions, sidebar sessions visible qui prenait 30vh, composer parfois clippé sur iOS

Solution

1. Filtrage intelligent des erreurs (AgentErrorAlert.tsx)

  • Ajout d'une logique isErrorRelevant() : une erreur Ollama 502 n'est pas affichée si l'agent tourne actuellement sur Gemini
  • Ajout d'un bouton dismiss (X) pour masquer manuellement les erreurs stalées
  • Changement du label : "Erreur récente" au lieu de "Dernière erreur"
  • Passage du activeProvider depuis AgentConversationView via props

2. Simplification UX mobile

  • AgentChatView.tsx : AgentViewSwitcher masqué sur mobile (hidden sm:block), visible uniquement desktop
  • AgentConversationView.tsx : sidebar des sessions masquée sur mobile (hidden lg:flex), visible uniquement à partir de lg breakpoint
  • AgentChatPanel.tsx : ajout de la classe agent-chat-composer avec safe-area-inset-bottom pour iOS/Android
  • global.css : ajout de règles CSS mobile pour éviter l'overflow horizontal des messages

Résultat

Sur mobile (~390px) :

  • ✅ Une seule vue chat simple, comme Grok Bot
  • ✅ Pas d'erreur Ollama sticky sur un agent Gemini
  • ✅ Composer toujours accessible en bas avec safe-area
  • ✅ Pas de sidebar overlay qui cache les messages
  • ✅ Header compact une ligne

Fichiers modifiés

  • frontend/src/components/agents/AgentErrorAlert.tsx : filtrage erreurs + dismiss
  • frontend/src/components/agents/AgentChatPanel.tsx : prop activeRoutingProvider + classe composer
  • frontend/src/components/agents/AgentConversationView.tsx : sidebar cachée mobile + passage provider
  • frontend/src/components/agents/AgentChatView.tsx : AgentViewSwitcher caché mobile
  • frontend/src/styles/global.css : règles CSS mobile chat
Open in Web Open in Cursor 

- Filtrage intelligent des erreurs : une erreur Ollama n'est plus affichée si l'agent tourne sur Gemini
- Ajout d'un bouton de dismiss sur AgentErrorAlert pour masquer les erreurs stalées
- Masquage du AgentViewSwitcher (conversation/exécutions) sur mobile pour simplifier l'UX
- Masquage de la sidebar des sessions sur mobile (visible uniquement desktop lg+)
- Amélioration du composer avec safe-area-inset-bottom pour iOS/Android
- Ajout de classes CSS pour éviter l'overflow horizontal des messages sur mobile
- Label 'Erreur récente' au lieu de 'Dernière erreur' pour plus de clarté

Co-authored-by: Mathieu JESER <bobdivx@users.noreply.github.com>
@cursor
cursor Bot merged commit 55ba7e3 into main Aug 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants