Skip to content

Merging Dev with major changes#270

Merged
sanchitmonga22 merged 318 commits intomainfrom
dev
Jan 12, 2026
Merged

Merging Dev with major changes#270
sanchitmonga22 merged 318 commits intomainfrom
dev

Conversation

@sanchitmonga22
Copy link
Copy Markdown
Contributor

@sanchitmonga22 sanchitmonga22 commented Jan 11, 2026

Description

Brief description of the changes made.

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactoring

Testing

  • Tests pass locally
  • Tested on Macbook if swift changes
  • Tested on Tablet/iPad if swift changes
  • Added/updated tests for changes

Labels

Please add the appropriate label(s):

  • iOS SDK - Changes to iOS/Swift SDK
  • Android SDK - Changes to Android/Kotlin SDK
  • iOS Sample - Changes to iOS example app
  • Android Sample - Changes to Android example app

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • Documentation updated (if needed)

Screenshots - Attach all the relevant UI changes screenshots for iOS/Android and MacOS/Tablet/large screen sizes

sanchitmonga22 and others added 30 commits December 21, 2025 09:09
- Refactored StreamingService to support metrics tracking and backward compatibility with streaming generation.
- Introduced LLMStreamingResult and LLMGenerationResult classes to encapsulate streaming results and metrics.
- Added analytics service integration for tracking generation and model loading events.
- Updated STT and TTS capabilities to include analytics services for improved performance tracking.
- Cleaned up imports and organized code structure for better maintainability.
- Introduced Voice Session module for high-level voice assistant integration, including event handling and configuration options.
- Added Speaker Diarization error handling with specific error codes and classes for improved robustness.
- Updated SDK structure to include new VoiceSession and SpeakerDiarization features, enhancing overall functionality.
- Refactored existing imports to streamline access to new modules and improve organization.
- Updated service registration methods in ModuleRegistry for STT, LLM, TTS, VAD, and Speaker Diarization to enhance readability.
- Improved error handling in VADError by adding new error types for better debugging.
- Refactored APIEndpoint to ensure consistent environment handling.
- Streamlined model discovery logic in ModelDiscoveryService for better maintainability.
- Enhanced ErrorContext logging for clearer error reporting.
- Removed unused error exports and consolidated error handling for STT, TTS, and VAD features to improve clarity and maintainability.
- Updated import statements for better organization and consistency across modules.
- Enhanced error classes with improved formatting for better readability.
- Deleted obsolete files related to error handling to streamline the codebase.
- Updated type parameters in StructuredOutputHandler and DataSource interfaces for improved clarity and consistency.
- Enhanced error handling in SyncCoordinator to ensure remote data source availability before syncing batches.
- Specified type for preferredFramework in LLMGenerationOptions to improve type safety and maintainability.
- Updated backend service files for LlamaCPP and ONNX to improve organization and clarity.
- Introduced new service exports for LlamaCPP and ONNX, enhancing modularity.
- Enhanced analytics services for LLM, STT, TTS, and VAD to improve performance tracking.
- Cleaned up imports and refactored code for better maintainability across various modules.
- Added documentation and comments for improved code understanding and usability.
- Introduced PlatformAudioProcessor for speaker embedding creation and audio feature extraction.
- Added SimpleEnergyVADService for energy-based voice activity detection, replacing the deprecated WebRTCVADService.
- Enhanced VADComponent error handling and service registration for improved clarity.
- Updated model discovery service to streamline framework inference and model format handling.
- Refactored various components for better maintainability and performance across the SDK.
- Updated SettingsScreen to convert string capabilities to numeric indices for better display mapping.
- Enhanced STT and TTS screens to utilize model categories instead of types for improved clarity.
- Improved error handling in SecureStorageService and DeviceIdentityService by logging errors with structured objects.
- Streamlined type exports and added new type declarations for better type safety across various modules.
- Introduced type declarations for react-native-fs to enhance file handling capabilities.
- Refactored APIClient to handle null access tokens gracefully, ensuring fallback to API key when necessary.
- Updated App.tsx to implement two-phase SDK initialization and module registration for LlamaCPP and ONNX models.
- Added detailed model registration logic for LlamaCPP and ONNX, including multiple model definitions with memory requirements and download URLs.
- Enhanced ChatScreen, STTScreen, TTSScreen, SettingsScreen, and VoiceAssistantScreen with comprehensive architecture descriptions and feature lists, aligning with iOS counterparts.
- Introduced new Modules index file to streamline module exports and improve organization.
- Added LlamaCPP and ONNX module wrappers to provide a consistent API for model registration and management.
- Added Sqflite plugin registration for both Android and iOS platforms to support local database functionality.
- Updated TTS model loading methods to TTS voice for consistency across the SDK.
- Refactored related debug print statements and method names to reflect the new terminology.
- Cleaned up unused imports in audio services for improved code clarity and maintainability.
- Updated App.tsx to improve SDK initialization with useCallback for better performance.
- Introduced knip.json for managing unused imports and enhancing code quality.
- Refactored multiple components to improve code readability and maintainability by restructuring imports and applying consistent formatting.
- Enhanced package.json and package-lock.json with updated dependencies for better development experience.
- Streamlined type imports across various files to ensure clarity and consistency in type usage.
- Removed obsolete NativeAudioModule to simplify the audio handling structure.
- Introduced .editorconfig for Ktlint to customize rules for Kotlin files, particularly for Compose functions and imports.
- Updated build.gradle.kts to include Ktlint plugin configuration for better code quality checks.
- Removed outdated detekt-config.yml and adjusted detekt.yml settings to enhance code analysis and maintainability.
- Deleted unused model-related files and cleaned up the project structure for improved clarity and performance.
- Replaced direct access to model IDs with convenience getters in VoiceAgentComponentStates for improved readability.
- Updated voice_assistant_view.dart to utilize the new getters for STT, LLM, and TTS model names, enhancing code maintainability.
…e SDK

- Updated chat_interface_view.dart to replace direct SDK calls with namespaced imports for clarity and maintainability.
- Enhanced model selection and settings management in combined_settings_view.dart to integrate with RunAnywhere SDK for storage operations and model handling.
- Improved storage data loading and management, including methods for clearing cache and cleaning temporary files.
- Refactored UI components for better organization and user experience, including the addition of a downloaded models section and improved API key management.
…ntegration

- Removed outdated models_info.json file to streamline model management.
- Implemented registerModulesAndModels() method in RunAnywhereApplication for explicit model registration, aligning with iOS patterns.
- Enhanced SettingsViewModel to utilize SDK's getStorageInfo(), clearCache(), and cleanTempFiles() APIs for better storage management.
- Introduced LlamaCPP and ONNX modules for LLM and STT/TTS capabilities, respectively, with detailed model registration and usage instructions.
- Added public storage extensions for improved model handling and storage operations, matching iOS functionality.
…atures

- Updated SettingsScreen to integrate new SDK API for retrieving storage information and managing downloaded models.
- Refactored VoiceAssistantScreen to implement a complete voice processing pipeline, including audio recording, transcription, LLM response generation, and TTS synthesis.
- Introduced new extensions for Voice Session, Voice Agent, and Storage Management, providing modular capabilities for voice interactions and storage handling.
- Improved error handling and logging throughout the voice processing and storage management functionalities.
- Streamlined imports and exports across the SDK to enhance organization and maintainability.
…y and consistency

- Updated RunAnywhereApplication to utilize new artifact type methods for model registration, enhancing readability.
- Renamed downloadModel() to startDownload() in ModelSelectionViewModel for better clarity in function purpose.
- Improved logging during model download processes to provide clearer feedback on operations.
- Streamlined device info collection in Android and JVM implementations to match iOS patterns.
- Removed obsolete ModelIntegrityVerifier and related checks to simplify model management.
- Updated SpeechToTextScreen to set the selected model name in the ViewModel for improved user feedback.
- Refactored SpeechToTextViewModel to include a method for setting the selected model name, enhancing clarity in model selection.
- Improved logging in TextToSpeechViewModel and VoiceAssistantViewModel to use modelId consistently, ensuring better traceability during model load events.
- Removed obsolete LlamaCppAdapter and LlamaCppServiceProvider files to streamline the codebase and improve maintainability.
- Updated ONNX module to enhance service creation and registration processes, aligning with recent architectural changes.
- Add TelemetryModality enum for event classification (llm/stt/tts/model/system)
- Update TelemetryEventPayload with V2 schema fields (modality, device_id)
- Add custom encoder for Supabase bulk insert compatibility
- Support both development (Supabase direct) and production (FastAPI) modes
- Group events by modality for correct backend routing
- Add STT live transcription mode switching in example app
- Add DevelopmentConfig for Supabase development mode
- Clean up debug logging for production readiness
- Add SystemTTSServiceProvider with auto-registration support
- Register SystemTTS as built-in fallback during SDK init
- Remove duplicate registration from example app
… management

- Deleted SecureStorage.kt and SettingsDataStore.kt files to simplify the data handling architecture.
- Updated related components to remove dependencies on these classes, enhancing maintainability and clarity in the codebase.
- Removed unused helper function `unawaited` from `runanywhere_ai_app.dart`.
- Updated model retrieval logic in `model_manager.dart` for better readability and performance.
- Changed `_isLoading` variable in `chat_interface_view.dart` to be mutable.
- Added mounted check in `_loadStorageData` method in `combined_settings_view.dart`.
- Enhanced delete confirmation logic in `_StoredModelRow` to handle async deletion properly.
- Improved audio data copying efficiency in `dart_bridge_voice_agent.dart`.
- Updated speech level comparison in `voice_session_handle.dart` to use `>=` for better accuracy.
- Deleted obsolete header files from the Kotlin native module.
@sanchitmonga22 sanchitmonga22 marked this pull request as ready for review January 11, 2026 22:52
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Jan 11, 2026

Too many files changed for review. (2131 files found, 100 file limit)

@ellipsis-dev
Copy link
Copy Markdown

ellipsis-dev bot commented Jan 11, 2026

⚠️ This PR is too big for Ellipsis, but support for larger PRs is coming soon. If you want us to prioritize this feature, let us know at help@ellipsis.dev


Generated with ❤️ by ellipsis.dev

sanchitmonga22 and others added 4 commits January 11, 2026 15:01
* feat(ci): add comprehensive CI/CD pipeline for all SDKs

- Add Android SDK CI workflow with linting, tests, and coverage
- Add React Native SDK CI workflow with ESLint and type checking
- Add Flutter SDK CI workflow with Dart analysis
- Add integration tests workflow for all example apps
- Add release artifacts generation workflow
- Fix Android workflow paths and JDK version
- Enable Android linting in pre-commit
- Add Dependabot for security scanning
- Add Android release automation script
- Standardize Xcode versions across workflows
- Add JaCoCo code coverage for Android SDK

* feat(ci): add comprehensive CI/CD pipeline for all SDKs (Fixed the encoding error)
>> - Add Android SDK CI workflow with linting, tests, and coverage
>> - Add React Native SDK CI workflow with ESLint and type checking
>> - Add Flutter SDK CI workflow with Dart analysis
>> - Add integration tests workflow for all example apps
>> - Add release artifacts generation workflow
>> - Fix Android workflow paths and JDK version
>> - Enable Android linting in pre-commit
>> - Add Dependabot for security scanning
>> - Add Android release automation script
>> - Standardize Xcode versions across workflows
>> - Add JaCoCo code coverage for Android SDK

* feat(ci): cicd pipeline configurations fixed

* feat(ci) : fixed the remaining errors

* feat(ci) : fixed all the Coderabbit suggestions

* feat(ci): fixed the issues and suggestions

---------

Co-authored-by: Sanchit Monga <sanchitmonga22@gmail.com>
- Updated `CLAUDE.md` to reflect the unified structure of the `runanywhere-commons` library, detailing the new backend and capability interfaces.
- Added new CMake options for building ML backends (LlamaCPP, ONNX, WhisperCPP) and updated build messages accordingly.
- Removed outdated backend scripts and capabilities headers to streamline the codebase.
- Introduced new scripts for building backends on Android and iOS, enhancing the overall build process.
- Implemented a new registration mechanism for LlamaCPP and ONNX backends, improving integration with the RAC API.
… loading

- Deleted the `copy_environment_config.sh` script as it was no longer needed.
- Updated various scripts to ensure they load versions from the centralized `VERSIONS` file, eliminating hardcoded fallbacks.
- Added validation checks in build scripts to ensure required version variables are loaded correctly from the `VERSIONS` file.
- Improved messaging in scripts to clarify version loading and dependencies.
- Updated `gradle.properties` to improve local and remote JNI library handling, including clearer instructions for first-time setup and rebuild options.
- Introduced a new `build-kotlin.sh` script for streamlined building, setup, and mode switching between local and remote libraries.
- Enhanced Gradle tasks for local development, including `setupLocalDevelopment` and `rebuildCommons`.
- Removed the `AppModelRegistry.kt` file as it was no longer needed, simplifying the codebase.
- Improved CMake configurations for LlamaCPP and ONNX backends to ensure proper symbol visibility for JNI.
- Added comprehensive documentation for the new build scripts and Gradle tasks in `README.md`.
- Changed the iOS build script to use `build-ios.sh` instead of `build-all-ios.sh`.
- Updated `package-lock.json` to reflect new versions for several dependencies, including `@react-native-community/cli` and related packages, ensuring compatibility and improved functionality.
- Removed the `yarn.lock` file to streamline dependency management.
- Enhanced the Android `build.gradle` to conditionally enable Hermes based on project properties.
- Cleared invalid compiler flags in the iOS Podfile to prevent build issues.
- Introduced a new build script for the React Native SDK, consolidating setup and build processes for both iOS and Android.
- Introduced a new `build-flutter.sh` script for streamlined building of the Flutter SDK and its native dependencies, consolidating setup and build processes for both iOS and Android.
- Added comprehensive documentation in `README.md` for the new build script, including usage instructions and examples.
- Updated `.gitignore` files to better manage native binaries for iOS and Android, ensuring unnecessary files are excluded from version control.
- Removed outdated `.gitignore` files and unnecessary version files from various packages to clean up the project structure.
- Enhanced the Android and iOS build processes to improve clarity and efficiency in handling native libraries.
@sanchitmonga22 sanchitmonga22 merged commit 2585131 into main Jan 12, 2026
5 of 9 checks passed
@sanchitmonga22 sanchitmonga22 deleted the dev branch January 12, 2026 16:39
@sanchitmonga22 sanchitmonga22 restored the dev branch January 12, 2026 16:39
ManthanNimodiya pushed a commit to ManthanNimodiya/runanywhere-sdks that referenced this pull request Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants