Skip to content

MOBILEWEBVIEW-60: add timeToDisplay for Inapp.Show action#684

Merged
sergeysozinov merged 2 commits intomission/webview-inappfrom
feature/MOBILEWEBVIEW-60
Mar 2, 2026
Merged

MOBILEWEBVIEW-60: add timeToDisplay for Inapp.Show action#684
sergeysozinov merged 2 commits intomission/webview-inappfrom
feature/MOBILEWEBVIEW-60

Conversation

@sergeysozinov
Copy link
Collaborator

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds timeToDisplay tracking and tags support for InApp.Show actions to measure and report how long it takes to prepare and render in-app messages, with optional tag metadata.

Changes:

  • Added tags field to InApp data models and DTOs to support optional metadata
  • Implemented timeToDisplay calculation by tracking preparation and rendering timestamps
  • Updated InApp.Show action serialization to include timeToDisplay and tags

Reviewed changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated no comments.

Show a summary per file
File Description
ConfigWithSettingsABTestsMonitoringInapps.json Added tags field to test configuration
InAppStub.kt Updated stub objects to include tags parameter
InAppMessageManagerTest.kt Updated tests to handle Pair<InApp, Long> and timeProvider mock
InAppMessageDelayedManagerTest.kt Updated tests to pass preparedTimeMs and handle Pair return type
InAppInteractorImplTest.kt Updated tests for Pair<InApp, Long> return type and fixed Form.copy calls
InAppRepositoryTest.kt Updated tests for new sendInAppShown signature with timeToDisplay and tags
InAppMapperTest.kt Added comprehensive tests for tags mapping scenarios
MobileConfigSerializationManagerTest.kt Added tests for tags deserialization with various edge cases
InAppSerializationManagerTest.kt Refactored tests and added serialization tests for InAppShowRequest
InAppTagsDeserializerTest.kt New test file for custom tags deserializer
InAppConfigResponse.kt Added tags field to DTOs with custom deserializer
InAppHandleRequest.kt Added InAppShowRequest data class
WebViewInappViewHolder.kt Added error cleanup calls (release/hide)
InAppMessageViewDisplayerImpl.kt Added onRenderStart callback handling
InAppMessageViewDisplayer.kt Added onRenderStart parameter to interface
InAppMessageManagerImpl.kt Implemented timeToDisplay calculation and handleInAppShown
InAppMessageDelayedManager.kt Modified to track and propagate preparedTimeMs
InAppTypeWrapper.kt Added onRenderStart callback field
InAppConfig.kt Added tags field to InApp data class
InAppRepository.kt Updated sendInAppShown signature
InAppSerializationManager.kt Split serialization into action-specific methods
InAppInteractor.kt Updated interface for timeToDisplay support
InAppInteractorImpl.kt Implemented preparation time tracking
InAppRepositoryImpl.kt Updated to use new serialization methods
InAppMapper.kt Added tags mapping logic with empty map filtering
InAppSerializationManagerImpl.kt Implemented separate serialization for show and action events
InAppTagsDeserializer.kt New deserializer filtering non-string tag values
PresentationModule.kt Added timeProvider dependency injection
kmp-common-sdk Updated submodule commit reference

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sergeysozinov sergeysozinov merged commit 2410acd into mission/webview-inapp Mar 2, 2026
4 checks passed
@sergeysozinov sergeysozinov deleted the feature/MOBILEWEBVIEW-60 branch March 2, 2026 12:12
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.

3 participants