Skip to content

Preserve incoming intent extras as-is for orcherstrator#1544

Merged
luhmirin-s merged 1 commit into
mainfrom
hitfix/contact-version-fix
Jan 19, 2026
Merged

Preserve incoming intent extras as-is for orcherstrator#1544
luhmirin-s merged 1 commit into
mainfrom
hitfix/contact-version-fix

Conversation

@luhmirin-s
Copy link
Copy Markdown
Contributor

Will be released in: 2026.1.0

Root cause analysis (for bugfixes only)

First known affected version: 2026.1.0

  • Intent extra mapping was done a bit pre-maturely and the LibSimprints version from launcher was lost. This caused the incorrect result mapping into a wrong version of the response which in turn caused all kinds of failed UI tests.

Notable changes

  • Restore intent extra mapping as before to preserve any potential parameter types for the orchestrator to process.
  • In case of invalid intent, map all of the extras to strings before saving the event as it was intended in the Jackson migration.

Testing guidance

  • Run any workflows with launcher, check that response has the correct structure.

Additional work checklist

  • Effect on other features and security has been considered
  • Design document marked as "In development" (if applicable)
  • External (Gitbook) and internal (Confluence) Documentation is up to date (or ticket created)
  • Test cases in Testiny are up to date (or ticket created)
  • Other teams notified about the changes (if applicable)

Copy link
Copy Markdown

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 fixes a bug where intent extras were prematurely converted to strings, causing the LibSimprints version parameter to lose its type information. The fix preserves the original types of intent extras for the orchestrator while ensuring string conversion only happens when reporting invalid intent events.

Changes:

  • Removed premature string conversion of intent extras to preserve type information (e.g., Int values remain as Int)
  • Moved string conversion to only occur when reporting invalid intent events
  • Added test to verify that type information (specifically contractVersion as Int) is properly preserved

Reviewed changes

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

File Description
feature/client-api/src/main/java/com/simprints/feature/clientapi/ClientApiViewModel.kt Removed premature .mapValues { it.value.toString() } conversion and moved it to the error handling path only
feature/client-api/src/test/java/com/simprints/feature/clientapi/ClientApiViewModelTest.kt Added test case to verify contractVersion Int type is preserved through intent handling

@luhmirin-s luhmirin-s force-pushed the hitfix/contact-version-fix branch from ca6d4bc to 7ce9d4c Compare January 19, 2026 12:42
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@luhmirin-s luhmirin-s merged commit 6df39d7 into main Jan 19, 2026
12 of 14 checks passed
@luhmirin-s luhmirin-s deleted the hitfix/contact-version-fix branch January 19, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants