- Added a method to send failure notifications to Flutter when the background service fails to enter the foreground.
- Implemented a broadcast receiver to handle service failure notifications and notify Flutter about the failure.
- Enhanced the persistent streaming service to attempt recovery for failed streams.
- Introduced heartbeat monitoring for SSE streams to detect stale connections and trigger recovery actions.
- Changed asset paths for Google Play and App Store badges to point to the correct directory.
- Updated the demo GIF path to reflect the new location in the screenshots folder.
- Modified the build command in the setup instructions to use 'dart run' instead of 'flutter pub run' for better compatibility.
- Removed outdated demo GIF and store badge images that are no longer needed.
- Implemented modern edge-to-edge display handling for Android 15+ in MainActivity.kt.
- Removed deprecated SystemUiMode.edgeToEdge configuration from main.dart, as edge-to-edge is now managed natively.
- Ensured backward compatibility by maintaining the previous edge-to-edge display settings for lower Android versions.
- Added action handling for stopping the background streaming service, allowing for a clean shutdown when requested.
- Enhanced the stopStreaming method to ensure proper foreground service termination based on Android version compatibility.
- Updated keepAlive method to conditionally start the foreground service based on the Android version, improving service management and reliability.
- Implemented error handling for service start and stop operations to enhance robustness and provide clearer feedback on failures.
- 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.
- 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.
fix(chat): Improve Markdown formatter state management
- Explicitly clear the streaming formatter when switching conversations to prevent state leakage.
- Implement defensive checks to ensure the formatter is always associated with the correct message, resetting it if a mismatch is detected.
- Refine the formatter seeding logic to only use existing content in resume scenarios, preventing content duplication.
- Add detailed logging to the chat provider for better debugging of streaming and formatter behavior.
- 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.
- Updated the wake lock duration in BackgroundStreamingHandler to 3 hours, ensuring the service remains active for longer periods.
- Modified the keepAlive method to support both iOS and Android, allowing for better background task management across platforms.
- Implemented a periodic keep-alive timer in VoiceCallService to refresh the wake lock every 5 minutes, enhancing service reliability during voice calls.
- Added debug logging for successful keep-alive invocations, improving traceability of background operations.
- Updated BackgroundStreamingHandler to include microphone permission handling for background execution.
- Modified startBackgroundExecution method to accept a requiresMicrophone parameter, allowing dynamic management of streams requiring microphone access.
- Adjusted service intent to pass microphone requirement status, improving service behavior based on app state.
- Enhanced VoiceCallService to utilize the new microphone support during voice call streaming, ensuring proper resource management.
- 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.