Chat message rendering: - MessageBubble: replace plain SelectableText with MarkdownBody for assistant messages, with full dark-theme stylesheet (headers, code blocks, tables, blockquotes, list bullets) - StreamTextWidget: render completed messages as MarkdownBody, keep plain-text + blinking cursor for actively streaming messages Voice interaction redesign: - Remove all long-press-to-record code (~100 lines): AudioRecorder, SpeechEnhancer, mic pulse animation, voice indicator bar, SingleTickerProviderStateMixin - Add phone-call button in AppBar (Icons.call) that navigates to the existing AgentCallPage for full-duplex voice conversation - Add prominent "语音通话" entry button on empty chat state - AgentCallPage was already fully implemented (ringing → connecting → active → ended, dual-direction WebSocket audio, GTCRN denoise, Kokoro TTS playback, waveform visualization) but previously unused Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| android | ||
| assets | ||
| ios/Runner/Assets.xcassets/AppIcon.appiconset | ||
| lib | ||
| test | ||
| .gitignore | ||
| .metadata | ||
| README.md | ||
| analysis_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
README.md
it0_app
A new Flutter project.
Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.