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.
- Eliminated edge-to-edge support configurations from styles.xml files for various Android API levels.
- Removed unnecessary AndroidX dependencies related to edge-to-edge support from build.gradle.kts.
- Updated release notes to reflect the version bump to 2.1.7.
- Replaced multiple splash and launcher images across various resolutions to enhance the app's visual identity.
- Adjusted the splash screen background color in styles.xml for a more cohesive appearance.
- Updated icon assets for iOS to ensure consistency with the new branding guidelines.
- Added functionality to write changelog links for Android releases in Fastfile.
- Updated iOS Fastfile to generate release notes with the new version link.
- Modified Info.plist to include encryption declaration.
- Removed Apple ID from Appfile for security reasons.
- Added precheck option in Deliverfile to disable pre-submit checks.
- Enhanced Fastfile with a new release lane for App Store Connect API key integration.
- Updated the Deliverfile to submit for review and skip metadata and screenshots.
- Removed outdated build lane from Fastfile.
- Refactored API service to eliminate fallback to latest assistant message, addressing duplication issues in multi-turn conversations.
- Updated image paths in README to reflect new locations.
- Removed outdated localization guidelines and related documentation files.
- Deleted unused metadata files for app descriptions and screenshots.
- Integrated BackgroundTasks framework in iOS to manage background processing for audio streams.
- Added methods to register, schedule, and handle background tasks, allowing streams to continue for extended periods.
- Enhanced the BackgroundStreamingHandler to support background task notifications and keep-alive signals.
- Updated Info.plist to permit background task identifiers, ensuring compliance with iOS requirements.
- Improved the PersistentStreamingService to handle background task extensions and keep-alive signals effectively, enhancing overall streaming reliability.
- Removed unnecessary clearing of active streams in the Android implementation, allowing for more efficient management of stream IDs.
- Updated iOS implementation to use formUnion and formIntersection for better handling of active and microphone streams, enhancing performance and clarity in stream management.
- Ensured that microphone activation only occurs when there are active microphone streams, improving resource utilization.
- Replaced splash screen images across various resolutions (hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi) to enhance visual consistency.
- Updated the app icon to align with the new branding guidelines.
- Ensured that all asset paths are correctly referenced in the project structure.
- Added support for self-signed TLS certificates in the ApiService, allowing configuration based on server settings.
- Introduced a toggle in the ServerConnectionPage to enable or disable trusting self-signed certificates.
- Updated localization files to include new strings for self-signed certificate settings in multiple languages.
- Enhanced the OptimizedStorageService to manage trusted servers based on user preferences for self-signed certificates.
- Improved error handling and logging throughout the affected services to ensure clarity and maintainability.
- Added `connectivity_plus` dependency to manage network connectivity status.
- Updated `pubspec.yaml` to include the new dependency version.
- Enhanced `ConnectivityService` to utilize `connectivity_plus` for improved connectivity monitoring and handling.
- Refactored connectivity checks and state management for better performance and reliability.
- Updated Info.plist to include background modes for audio and processing, enabling the app to continue audio playback and processing tasks while in the background.