Commit Graph

112 Commits

Author SHA1 Message Date
cogwheel
51d9412876 feat(model): Update auto-select model description and behavior 2025-12-22 16:19:50 +05:30
cogwheel
9e73fc93c6 feat(chat): Refactor model selection to use shared restore logic 2025-12-22 11:00:23 +05:30
cogwheel
cc97b7a886 Merge pull request #301 from cogwheel0/update-dependencies
chore: Update dependencies to latest versions
2025-12-20 22:22:43 +05:30
cogwheel
6a07855c9b fix(background): Improve background streaming reliability and error handling
feat(background): Add initialization and error handling for background streaming
feat(background): Improve background streaming reliability and error handling
feat(background): Improve iOS background task and stream management
refactor(android): Remove unused stream state persistence logic
feat(android): Improve wake lock and broadcast receiver handling
2025-12-20 22:10:28 +05:30
cogwheel
671b953f23 feat(android): Improve background service notification and time limit handling
feat: Optimize background streaming and keepalive mechanism
fix(background-streaming): Synchronize stream count between Flutter and Android
2025-12-20 18:21:38 +05:30
cogwheel
b90ba7abc7 chore: Update dependencies to latest versions 2025-12-20 11:18:16 +05:30
cogwheel0
d67780dbbe feat(chat): Add folder support in new chat screen 2025-12-16 19:59:28 +05:30
cogwheel0
745ff01954 feat(widget): Add home screen widget with quick access actions 2025-12-07 12:26:16 +05:30
cogwheel0
df2a921ffd feat(notes): Add notes feature with editor page and drawer integration 2025-12-06 19:44:34 +05:30
cogwheel0
4e105270b8 feat(folders): Preserve feature state on server-side errors 2025-12-06 10:16:44 +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
5cbef38687 feat(auth): Prevent tool selection after logout and improve state management 2025-12-05 13:01:17 +05:30
cogwheel0
5704c5cf8a feat(socket): Add connectivity and health tracking to socket service 2025-12-04 15:05:12 +05:30
cogwheel
8fa839f84e Merge pull request #215 from cogwheel0/socket-connection-reliability-improvements
socket-connection-reliability-improvements
2025-12-03 14:09:08 +05:30
cogwheel0
71939cef5b feat(socket): improve socket connection handling and reliability 2025-12-03 12:17:44 +05:30
cogwheel0
0109b52507 refactor(logging): Remove verbose debug logging across multiple services 2025-12-03 11:24:51 +05:30
cogwheel0
c0c7944f16 feat(startup): Optimize model tools auto-selection timing during app initialization 2025-12-02 21:22:34 +05:30
cogwheel0
1b22143aed feat: Improve model tools auto-selection and lifecycle management 2025-12-02 16:31:54 +05:30
cogwheel0
61a3fcc83a feat(streaming): Simplify streaming logic and remove persistent tracking 2025-11-27 14:36:13 +05:30
cogwheel0
6d56f5d160 feat(ios): Add App Intents support for Conduit interactions 2025-11-25 00:53:13 +05:30
cogwheel0
2d88519abe feat(ios): add ios shortcuts support 2025-11-25 00:08:51 +05:30
cogwheel
b5f4c29e80 Merge pull request #168 from cogwheel0/refactor-auth-cache-manager
refactor-auth-cache-manager
2025-11-24 17:53:07 +05:30
cogwheel0
8f390b0d2d feat(auth): Improve user fetching with caching and background refresh 2025-11-24 17:43:05 +05:30
cogwheel0
6e8a19371c feat(localization): Improve locale resolution and add Chinese script variants 2025-11-24 16:08:55 +05:30
cogwheel0
d38e986d7c feat(callkit): Add CallKit service for native call UI and permissions 2025-11-24 12:29:44 +05:30
cogwheel0
c4a36bb51c feat(cache): Add lightweight in-memory cache with TTL and LRU eviction 2025-11-22 21:53:14 +05:30
cogwheel0
4df22422c2 feat(conversations): Improve conversation and folder fetching with concurrent requests 2025-11-20 22:42:31 +05:30
cogwheel0
45135d9185 fix(auth): Improve auth error handling without token clearing 2025-11-12 13:23:58 +05:30
cogwheel0
122bd0a4b1 feat(storage): Add local folders persistence and caching mechanism 2025-11-10 10:44:03 +05:30
cogwheel0
bf98bbd1fc feat(conversations): Implement local cache persistence for conversations 2025-11-05 14:53:55 +05:30
cogwheel0
e15392ea59 refactor(socket): remove unused connection state management code 2025-11-01 22:51:32 +05:30
cogwheel0
42ef62d565 feat(api): Improve file and knowledge base data parsing with normalization 2025-11-01 15:15:38 +05:30
cogwheel0
073e0cf458 feat(folders): Improve folder management and parsing logic 2025-11-01 15:04:50 +05:30
cogwheel0
a005c14a67 feat(api): Optimize conversation parsing with worker-based decoding 2025-11-01 14:54:08 +05:30
cogwheel0
a374c744ef refactor(api): Migrate conversation parsing to worker-based approach 2025-11-01 01:46:46 +05:30
cogwheel0
a00d64fc26 feat(transport): Improve socket transport mode selection and localization 2025-10-30 22:32:59 +05:30
cogwheel0
561e7dd616 feat(tts): server-backed TTS engine selection
Introduce server TTS support and engine selection while keeping
device TTS as the default.

- Add new persistence keys for storing TTS engine and selected
  server voice (ttsEngine, ttsServerVoiceId, ttsServerVoiceName).
- Extend TextToSpeechService to support two engines:
  TtsEngine.device (FlutterTts) and TtsEngine.server (remote audio).
- Wire in an AudioPlayer and optional ApiService to fetch raw
  audio bytes from the server and play them, with event hooks
  mapped to existing lifecycle callbacks.
- Implement fallback to device TTS on server errors or empty
  responses, and ensure player lifecycle (pause/stop/dispose)
  is handled when using server engine.
- Allow engine and preferred voice to be configured before
  initialization and updated at runtime via updateSettings.

This enables selecting a server-side voice and using a remote
TTS provider while preserving compatibility with the existing
device TTS implementation.
2025-10-23 16:31:15 +05:30
cogwheel0
27bfde8f95 refactor: Enhance onboarding process in chat and app startup providers
- Integrated autofocus management for the composer in both chat and onboarding contexts to improve user experience.
- Added error handling for focus management to ensure smooth onboarding transitions.
- Updated modal bottom sheet handling to restore autofocus state after onboarding completion, enhancing usability across the app.
2025-10-19 21:10:10 +05:30
cogwheel0
60883315a2 refactor: Migrate to Tweakcn themes and enhance UI consistency
- Replaced references to AppColorPalettes with TweakcnThemes across various files to standardize theme usage.
- Updated the AppTheme and AppColorTokens to utilize TweakcnThemeDefinition for improved theme management.
- Adjusted UI components in ChatPage, ChatsDrawer, AppCustomizationPage, and ProfilePage to align with the new theme structure, ensuring consistent styling and color application.
- Removed the deprecated color_palettes.dart file to streamline the theme architecture.
2025-10-18 13:58:15 +05:30
cogwheel0
c07ac6b427 refactor: Improve model tools auto-selection logic
This commit refactors the `modelToolsAutoSelectionProvider` to more robustly handle the automatic selection of tools when the model changes or the list of available tools is updated.

Key changes include:
- Triggering the auto-selection logic not only when the selected model changes, but also when the `toolsListProvider` finishes loading. This ensures tools are correctly applied even if they load after the model is selected.
- Restructuring the logic to handle asynchronous tool loading more gracefully, preventing race conditions.
- Using `Future.microtask` to schedule the tool application, ensuring state updates are handled correctly within the provider lifecycle.
- Clearing selected tools if the new model has no associated tools or if previously selected tools become invalid.
2025-10-13 15:25:20 +05:30
cogwheel0
1333b10cd8 feat: enhance model and tools integration with auto-selection functionality
- Added a new `toolIds` field to the `Model` class to support tool identification.
- Implemented `modelToolsAutoSelectionProvider` to automatically apply model-specific tools when the selected model changes.
- Enhanced the logic to filter and set valid tool IDs based on available tools, improving user experience by ensuring relevant tools are automatically selected.
- Updated the default model auto-selection provider to initialize the new tools auto-selection feature, ensuring seamless integration within the app's lifecycle.
2025-10-11 13:27:39 +05:30
cogwheel0
778116e258 refactor: optimize socket service event handling and token management
- Updated SocketServiceManager to read the authTokenProvider3 without watching it, preventing unnecessary rebuilds on token changes.
- Enhanced SocketService to manage event listeners more effectively by adding and removing event handlers for 'events' and 'events:channel', improving overall socket management.
2025-10-09 20:51:29 +05:30
cogwheel0
c073d71363 feat: enhance background streaming service with foreground handling
- Improved BackgroundStreamingService to manage foreground service notifications more effectively, ensuring compliance with Android requirements.
- Implemented dynamic foreground service type resolution based on microphone permission, enhancing service behavior based on app state.
- Added checks for app foreground status in connectivity management, improving responsiveness to network changes.
- Refactored notification handling to streamline service lifecycle management and improve code maintainability.
2025-10-09 15:47:27 +05:30
cogwheel0
e04b43949b refactor: migrate to flutter_math_fork and markdown_widget for enhanced markdown capabilities
- Replaced flutter_markdown_plus with flutter_math_fork to improve mathematical rendering within markdown content.
- Integrated markdown_widget for better markdown processing and rendering, enhancing overall user experience.
- Updated the markdown configuration to utilize the new packages, ensuring maintainability and adaptability of markdown features.
- Refactored the streaming markdown widget to accommodate the new markdown processing logic, improving code clarity and performance.
2025-10-04 13:37:47 +05:30
cogwheel0
1ea85d5ed1 refactor: enhance theme and error handling across the application
- Updated error handling in EnhancedErrorService to utilize context for color tokens, improving theme consistency.
- Refactored various components to use context-aware shadow and color properties, enhancing visual coherence.
- Replaced hardcoded color values with dynamic tokens in multiple widgets, ensuring better adaptability to theme changes.
- Improved overall code maintainability by centralizing theme-related logic and reducing direct dependencies on static theme values.
2025-10-03 00:12:25 +05:30
cogwheel0
5138491cfa refactor: optimize app initialization and startup flow
- Delayed heavy provider initialization to improve initial UI responsiveness.
- Introduced a queuing mechanism for provider initialization with staggered delays.
- Updated app startup flow to ensure proper handling of mounted state during asynchronous operations.
- Enhanced socket service management and background model loading to improve app performance and reliability.
2025-10-02 21:33:58 +05:30
cogwheel0
1fa8412e0a feat: implement dynamic theme palette selection
- Introduced a new feature allowing users to select from multiple accent color palettes for buttons, cards, and chat bubbles.
- Added `AppThemePalette` provider to manage the current theme palette and persist user selections.
- Updated the `AppTheme` class to utilize the selected palette for light and dark themes, enhancing visual customization.
- Enhanced the `AppCustomizationPage` to include a palette selector, improving user experience and personalization options.
- Updated localization files to support new palette selection UI elements in multiple languages.
2025-10-02 01:58:12 +05:30
cogwheel0
ff02af1e89 refactor: centralize conversation cache management
- Introduced a new method `refreshConversationsCache` to streamline the invalidation of the conversations provider and optionally the folders provider.
- Updated various components to utilize the new cache management method, enhancing code clarity and reducing redundancy.
- This refactor improves the efficiency of conversation and folder synchronization across the application.
2025-10-02 00:30:14 +05:30
cogwheel0
73ccb14b20 refactor: enhance conversation fetching and folder management
- Improved the logic for fetching conversations within folders by introducing a new condition to determine when to fetch folder conversations.
- Added detailed logging for successful and failed fetch attempts to aid in debugging and monitoring.
- Implemented a method to resolve folder conversations, ensuring that conversations are displayed in the correct order and that placeholders are used when necessary.
- Updated the ChatsDrawer to utilize the new conversation resolution logic, enhancing the user experience by ensuring all relevant conversations are displayed.
- This refactor streamlines conversation management and improves the overall efficiency of the chat interface.
2025-10-02 00:06:00 +05:30
cogwheel0
f15a8eda79 refactor: streamline conversation delta stream handling
- Replaced direct stream access in the `regenerateMessage` and `_sendMessageInternal` methods with a new helper function `_conversationDeltaStream` for better encapsulation and reusability.
- Improved the management of chat and channel event streams by utilizing the new helper function, enhancing code clarity and maintainability.
- Removed the previous `conversationDeltaEventsProvider` as it is no longer necessary with the new implementation, simplifying the provider structure.
2025-10-01 19:20:46 +05:30