Skip to content

MOBILE-451:Resolve a place as if its last operation were still in effect for the session - #773

Merged
sergeysozinov merged 4 commits into
mission/storiesfrom
feature/MOBILE-451
Sep 22, 2026
Merged

sergeysozinov merged 4 commits into
mission/storiesfrom
feature/MOBILE-451

Conversation

@sergeysozinov

Copy link
Copy Markdown
Collaborator

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

The broad concurrency-sensitive session-state migration warrants final human validation despite no specific defect being identified.

Review effort: Balanced
Findings: None

What changed in this PR

Adds session-scoped operation memory so embedded places can reuse their latest operation during subsequent resolution.

Changes:

  • Introduces replaceable SessionState storage.
  • Remembers the latest operation per embedded place.
  • Updates affected components and tests to use session state.
File Description
sdk/​src/​main/​.../​SessionState.kt Defines consolidated session state.
sdk/​src/​main/​.../​SessionStorageManager.kt Resets sessions by replacing state.
sdk/​src/​main/​.../​InAppInteractorImpl.kt Reuses remembered place operations.
sdk/​src/​main/​.../​interfaces/​interactors/​InAppInteractor.kt Documents operation reuse behavior.
sdk/​src/​main/​.../​MobileConfigSettingsManagerImpl.kt Migrates session timing state.
sdk/​src/​main/​.../​InappSettingsManagerImpl.kt Migrates in-app limits state.
sdk/​src/​main/​.../​WebViewInappViewHolder.kt Reads trigger events from state.
sdk/​src/​main/​.../​InAppMessageManagerImpl.kt Stores config errors in state.
sdk/​src/​main/​.../​ViewProductSegmentNode.kt Migrates segmentation status.
sdk/​src/​main/​.../​MobileConfigRepositoryImpl.kt Reads config errors from state.
sdk/​src/​main/​.../​InAppTargetingErrorRepositoryImpl.kt Migrates targeting errors.
sdk/​src/​main/​.../​InAppSegmentationRepositoryImpl.kt Migrates segmentation data.
sdk/​src/​main/​.../​InAppRepositoryImpl.kt Migrates in-app session data.
sdk/​src/​main/​.../​InAppGeoRepositoryImpl.kt Migrates geo status.
sdk/​src/​main/​.../​ShowBudgetManagerImpl.kt Migrates show reservations.
sdk/​src/​main/​.../​InAppFailureTrackerImpl.kt Migrates failure tracking.
sdk/​src/​main/​.../​MinIntervalBetweenShowsLimitChecker.kt Reads limits from state.
sdk/​src/​main/​.../​MaxInappsPerSessionLimitChecker.kt Reads session limits from state.
sdk/​src/​main/​.../​MaxInappsPerDayLimitChecker.kt Reads daily limits from state.
sdk/​src/​test/​.../​MobileConfigSettingsManagerTest.kt Updates session-time assertions.
sdk/​src/​test/​.../​DataCollectorTest.kt Updates trigger-event setup.
sdk/​src/​test/​.../​DataCollectorParamsTest.kt Updates trigger-event setup.
sdk/​src/​test/​.../​InAppMessageManagerTest.kt Tests state-backed config errors.
sdk/​src/​test/​.../​ViewProductSegmentNodeTest.kt Updates segmentation state setup.
sdk/​src/​test/​.../​InAppProcessingManagerTest.kt Updates targeting status assertions.
sdk/​src/​test/​.../​EmbeddedResolveInteractorTest.kt Covers remembered operations.
sdk/​src/​test/​.../​InAppTargetingErrorRepositoryTest.kt Updates targeting-error fixtures.
sdk/​src/​test/​.../​InAppSegmentationRepositoryTest.kt Updates segmentation fixtures.
sdk/​src/​test/​.../​InAppRepositoryTest.kt Updates repository state fixtures.
sdk/​src/​test/​.../​InAppGeoRepositoryTest.kt Updates geo state fixtures.
sdk/​src/​test/​.../​ShowBudgetManagerImplTest.kt Updates reservation state assertions.
sdk/​src/​test/​.../​SessionStorageManagerTest.kt Covers complete state replacement.
sdk/​src/​test/​.../​MinIntervalBetweenShowsLimitCheckerTest.kt Updates limit fixtures.
sdk/​src/​test/​.../​MaxInappsPerSessionLimitCheckerTest.kt Updates session-limit fixtures.
sdk/​src/​test/​.../​MaxInappsPerDayLimitCheckerTest.kt Updates daily-limit fixtures.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sergeysozinov
sergeysozinov merged commit f4f6d5c into mission/stories Sep 22, 2026
6 checks passed
@sergeysozinov
sergeysozinov deleted the feature/MOBILE-451 branch September 22, 2026 10:34
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