Skip to content

fix: chatbot function calling and UI polish - #72

Merged
mSaayeh merged 4 commits into
developfrom
hotfixes
Aug 9, 2026
Merged

fix: chatbot function calling and UI polish#72
mSaayeh merged 4 commits into
developfrom
hotfixes

Conversation

@mSaayeh

@mSaayeh mSaayeh commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

What & Why

Brings the chatbot up to par: fixes Gemini function calling that was silently looping, and polishes the chat UI so replies render richly and the empty/loading states feel intentional. Also carries a pending bottom-bar navigation fix.

Key Changes

  • Gemini function calling: send a structured multi-turn Content history (FunctionCallPart / FunctionResponsePart) instead of flattening to plain text, so the model sees tool results instead of re-issuing the same call.
  • Markdown replies: new dependency-free MarkdownText renders headings, lists, bold/italic, inline code, strikethrough and links in bot bubbles.
  • Welcome state: animated greeting with tappable suggestion chips replaces the plain "ready" text.
  • Typing indicator: bouncing three-dot indicator replaces the loading spinner.
  • Micro-animations: send button scale/color transitions, message bubble entrance; list items keyed by id.
  • Bottom bar navigation fix (a3ee990).

Related

N/A

Testing

  • Ask the chatbot something that triggers a tool (e.g. order lookup) and confirm it responds instead of looping.
  • Send a reply containing markdown and confirm it renders formatted.
  • Open the chat with no messages to see the welcome state; send a message to see the typing indicator.

Notes for Reviewers

PR is off the hotfixes branch, so it also includes the already-merged-intent bottom bar navigation fix.

mSaayeh added 3 commits July 9, 2026 11:56
- Build a multi-turn Content list instead of flattening messages to plain text
- Map assistant tool calls to FunctionCallPart and tool results to FunctionResponsePart
- Route system messages through systemInstruction rather than inlining them
- Stops the model re-issuing the same call because it never saw the tool result
- Render model replies through a new dependency-free MarkdownText component
- Add an animated welcome state with greeting and tappable suggestion chips
- Replace the loading spinner with a bouncing three-dot typing indicator
- Animate the send button scale/color and give message bubbles an entrance
- Key message list items by id for stable recomposition
@mSaayeh
mSaayeh requested a review from Hazem-0 July 11, 2026 03:55

@Hazem-0 Hazem-0 Jul 11, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you add those into arabic strings too ?

@Hazem-0 Hazem-0 added enhancement New feature or request Refractor labels Jul 12, 2026
@mSaayeh
mSaayeh merged commit 755b6b4 into develop Aug 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Refractor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants