Commit Graph

172 Commits

Author SHA1 Message Date
cogwheel0
55cedc3ab8 feat(chat): Add usage statistics support for message persistence 2025-12-15 18:42:06 +05:30
cogwheel0
fefbf40364 feat(chat): improve chat input multiline handling and border radius 2025-12-14 18:52:12 +05:30
cogwheel0
4c80d9f521 fix(chat): Adjust input and padding spacing for better UI layout 2025-12-11 16:57:53 +05:30
cogwheel0
8d8ad8478b feat(chat): Refactor chat input styling and remove compact mode 2025-12-11 11:35:56 +05:30
cogwheel
793800bf67 Merge pull request #262 from cogwheel0/optimize-file-id-extraction
feat(attachments): Optimize file ID extraction and image conversion
2025-12-10 22:14:17 +08:00
cogwheel0
da63e3cbff feat(attachments): Optimize file ID extraction and image conversion 2025-12-10 19:40:38 +05:30
cogwheel0
5b7cd0dd42 feat(l10n): Add localization for code interpreter states 2025-12-10 18:16:04 +05:30
cogwheel0
9feba7f9b9 feat(chat): Add ellipsis text for long model names in assistant message 2025-12-08 17:28:49 +05:30
cogwheel0
9c7789ca02 feat: Add minor widget and asset refinements 2025-12-08 17:13:26 +05:30
cogwheel0
145a42b504 feat(clipboard): Add pasteboard support for cross-platform image paste 2025-12-08 12:47:12 +05:30
cogwheel0
b7aa8f9dda feat(chat): add shimmer effect for streaming tool calls and reasoning 2025-12-08 10:41:27 +05:30
cogwheel0
dcca839e35 feat(chat): Improve text color and segment spacing in UI components 2025-12-07 23:47:40 +05:30
cogwheel0
03c2b030e1 feat(chat): Simplify tool call tile with minimal design 2025-12-07 23:33:26 +05:30
cogwheel0
e9de32fbec refactor(chat): Replace StatusHistoryTimeline with StreamingStatusWidget 2025-12-07 23:19:22 +05:30
cogwheel0
12c10ab0b7 feat(sources): Simplify source display text logic for URLs 2025-12-07 22:38:00 +05:30
cogwheel0
6e4ee2acd3 feat(widget): Add citation badge for source references 2025-12-07 22:35:16 +05:30
cogwheel0
898f1773c7 feat(chat): Add prompt variables 2025-12-07 10:48:25 +05:30
cogwheel0
b387b64e4e refactor: Remove deprecated code and unused comments 2025-12-06 06:45:57 +05:30
cogwheel0
c9b888df79 fix(navigation): Ensure context is mounted before navigation and improve error handling 2025-12-05 22:24:36 +05:30
cogwheel
a5c7bbe2f2 Merge pull request #224 from cogwheel0/add-model-filters-support
feat(models): Add filters support and auto-validation for model-specific filters
2025-12-05 22:20:47 +05:30
cogwheel0
c630ce8c27 feat(models): Add filters support and auto-validation for model-specific filters 2025-12-05 22:19:31 +05:30
cogwheel0
e3b47ecf87 feat(chat): Improve keyboard shortcuts and accessibility in chat input 2025-12-05 18:23:00 +05:30
cogwheel0
6b1ecff302 feat(reasoning): Add html_unescape and enhance reasoning parser 2025-12-04 15:05:20 +05:30
cogwheel0
0daf840a03 feat(chat): Improve chat input semantics and keyboard interactions 2025-12-03 15:04:53 +05:30
cogwheel0
ecad71dcf6 feat(chat): Add clipboard image paste support in chat input 2025-12-02 21:11:08 +05:30
cogwheel0
c156b0f6d9 feat(chat): Enhance tag balancing for details, think, and reasoning tags 2025-12-01 10:04:57 +05:30
cogwheel0
3f34140873 feat(chat): sanitize content to handle malformed details tags 2025-11-29 13:05:49 +05:30
cogwheel0
aefd4dfa2c feat(chat): add support for custom HTTP headers in image attachments 2025-11-29 11:04:59 +05:30
cogwheel0
4c5f12919f feat(chat): Add SVG image support for attachments 2025-11-29 11:04:59 +05:30
cogwheel0
98ae65d08f feat(ui): Improve text overflow and spacing in chat drawer 2025-11-28 14:59:38 +05:30
cogwheel0
de18f1463c feat(chat): Add keys to composer widgets for improved testing 2025-11-27 20:14:30 +05:30
cogwheel0
75ba0dc01d feat(chat): Add context attachment and knowledge base support 2025-11-26 22:19:19 +05:30
cogwheel0
a05837b985 refactor(streaming): Optimize image collection and debounce mechanism 2025-11-02 22:14:45 +05:30
cogwheel0
86339715b1 feat(sts): add server side speech-to-text 2025-11-02 19:03:36 +05:30
cogwheel0
8321e3c721 feat(l10n): Update English localization with voice call states and model capabilities 2025-11-02 17:44:23 +05:30
cogwheel0
71d63ac157 refactor(network): Replace read with watch for providers in image handling 2025-11-01 15:42:08 +05:30
cogwheel0
ada6d40e5e feat(chat): Add worker manager to streaming helper for image processing 2025-11-01 00:57:40 +05:30
cogwheel0
5d33e5fe65 fix: server side tts on ios 2025-10-31 23:20:04 +05:30
cogwheel0
cf87d255d3 feat(settings): Allow unlimited quick pill selections 2025-10-30 22:44:08 +05:30
cogwheel0
15299ecd82 feat(chat): dismiss after send to recover screen space 2025-10-24 00:39:43 +05:30
cogwheel0
9c2cf347a7 feat(chat): inline action panel with context menu edit flow 2025-10-24 00:31:29 +05:30
cogwheel0
5d898aaca0 refactor: improve composer layout and constrain height
the modern chat input composer layout to better handle vertical
space and alignment. Change the row crossAxisAlignment from
center to end so controls align to the input bottom. Wrap the animated
container with a ConstrainedBox that limits the composer max height to
25% of the screen, preventing excessive growth on tall displays.

Reorder and clean up the AnimatedContainer/decoration block, extracting
the composer radius constant and preserving styling (background color,
border color/width). Move the text field and inline mic into the same
row structure under the constrained container and retain the isActive
flag and padding. These changes prevent layout overflow, ensure a
consistent border radius, and improve visual alignment of controls.
2025-10-23 23:19:41 +05:30
cogwheel0
be62358270 feat(chat): strip reasoning when copying
Remove internal reasoning from copied message text to avoidleaking implementation details or developer-only when a
user content from the chat- In chat_pagecopyMessage, cleaning steps to:
  - <details type="ing">...</details blocks
  - <think>think> and <ing>...</reason> tags
 - trim leftover whitespace before writing to the clipboard
- In assistant_message_widget._buildSegmentedContent, remove an
  unused hasMediaAbove calculation and a conditional spacer that added
  extra top padding before reasoning tiles. This simplifies rendering
  logic and avoids relying on removed spacing behavior.
2025-10-23 22:37:06 +05:30
cogwheel0
1cb8926e21 feat(chat): regenerate variants and support
Hide archived assistant variants in the linear chat view and track
previous assistant as versions so regenerated responses do not
duplicate or lose history. When regenerating, mark the previous assistant
message with an archivedVariant flag for the UI and keep it in server
history. Add a ChatMessageVersion model and a versions field to
ChatMessage to store prior generated variants. Implement
archiveLastAssistantAsVersion in chat providers to snapshot the last
assistant message into versions and reset the message for a fresh
streamed generation. Finalize flow updates to attach an adjacent archived
assistant as a version when needed so the UI can present a switcher
between current and past variants. These changes prevent duplicate
messages, preserve previous responses, and enable variant switching.
2025-10-23 22:29:28 +05:30
cogwheel0
0df4b4f050 feat(ui): support authenticated image loading with cache manager
Add Riverpod-aware image header and cache manager support for network
images used in avatar and markdown widgets. Convert AvatarImage to a
ConsumerWidget and read a self-signed cache manager and HTTP headers
from Riverpod so CachedNetworkImage can send auth/custom headers and use
the provided cache manager. In Markdown image builder, obtain headers
and cache manager from a ProviderContainer (via ProviderScope.containerOf)
to enable the same authenticated loading in non-consumer contexts.

Introduce image_header_utils.dart to centralize building Authorization
and custom headers from auth/api providers, with helpers for Ref,
WidgetRef, and ProviderContainer. Add dependency adjustments in
pubspec.lock for flutter_cache_manager and http marked as direct main.

These changes ensure protected images (self-signed or auth-required)
load correctly across the app and reuse the configured cache manager.
2025-10-23 17:36:31 +05:30
cogwheel0
56246507de feat(tts): add karaoke-style TTS progress bar to assistant UI
Add rendering and support for a karaoke-style text-to-speechprogress bar in assistant messages so users can see the currently
spoken sentence and highlighted word during playback.

- Append TTS karaoke bar to AssistantMessageWidget when the message is
  the active TTS target and playback is speaking/paused/loading.
- Implement _buildKaraokeBar to render the active sentence with a
  highlighted word span, using ConduitCard and theme styles.
- Import conduit_components for shared UI primitives.
- Extend TextToSpeechState with sentence data:
  sentences, sentenceOffsets, activeSentenceIndex, and per-word
  progress (wordStartInSentence, wordEndInSentence).
- Add provider callbacks wiring: onSentenceIndex and
  onDeviceWordProgress handlers (hooked into TTS backend).
- Prepare sentence splitting and word-progress plumbing in the TTS
  provider (prepares data used to drive the karaoke display).

This change improves UX by visually indicating the spoken sentence
and current word during TTS playback, aiding comprehension and
accessibility.
2025-10-23 17:05:35 +05:30
cogwheel0
d00cbe36cf refactor: Replace hardcoded monospace font with AppTypography constant
- Updated multiple instances of the 'monospace' font family to use AppTypography.monospaceFontFamily for consistency across the application.
- This change enhances maintainability and ensures a unified typography approach throughout the app.
2025-10-21 00:09:12 +05:30
cogwheel0
e05a560966 refactor: Enhance markdown processing for text-to-speech conversion
- Introduced new regex patterns to remove thinking and reasoning blocks from markdown input.
- Added functionality to strip emojis from the text, improving clarity for TTS.
- Implemented HTML entity decoding to ensure proper text representation.
- Replaced the existing sanitization method with a more comprehensive markdown-to-text conversion approach, enhancing performance and maintainability.
2025-10-20 23:53:07 +05:30
cogwheel0
810b44975d refactor: Enhance chat input interaction with state-based overlay colors
- Implemented state-based overlay color changes for the chat input's InkWell widget to improve user feedback during interactions.
- Adjusted the color of the chat input icon to align with the primary button text color, enhancing visual consistency and usability.
2025-10-19 23:07:36 +05:30
cogwheel0
553c213a47 refactor: Update placeholder color in chat input for improved visibility
- Changed the placeholder color in the modern chat input to use the input text color with adjusted alpha for better contrast and visibility in both light and dark themes.
- This enhancement aims to improve user experience by ensuring the placeholder text is more legible across different brightness settings.
2025-10-19 15:08:15 +05:30