Skip to content

Conversation

@meladRaouf
Copy link
Collaborator

@meladRaouf meladRaouf commented Jan 26, 2026

JIRA ticket
Will be released in: 2026.1.0

Root cause analysis (for bugfixes only)

First known affected version: 2025.1.0

  • it was reported in catalytics

Notable changes

  • Add test to find all step parms and results that are not java.io.serializable.
  • fix them

Testing guidance

  • Navigate through different steps

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)

@cla-bot cla-bot bot added the ... label Jan 26, 2026
@meladRaouf meladRaouf force-pushed the bugfix/java-serilization-problem branch from 8bab261 to aa9868f Compare January 26, 2026 14:23
@meladRaouf meladRaouf requested review from a team, BurningAXE, TristramN, alex-vt, alexandr-simprints and ybourgery and removed request for a team January 26, 2026 14:26
@luhmirin-s luhmirin-s force-pushed the bugfix/java-serilization-problem branch from e659673 to aa9868f Compare January 26, 2026 15:12
@sonarqubecloud
Copy link

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 Java serialization support for orchestrator step parameters and results to ensure they can survive Android process death and configuration changes. The issue was discovered in production (Catalytics) starting in version 2025.1.0.

Changes:

  • Added java.io.Serializable interface to core data classes used in orchestrator steps (Step, Timestamp, TokenizableString, BoundingBox)
  • Replaced Parcelable with JavaSerializable for TokenizableString to ensure proper serialization
  • Added comprehensive integration test to verify all step types are fully Java serializable
  • Refactored test data into reusable helper methods for better maintainability

Reviewed changes

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

Show a summary per file
File Description
infra/core/src/main/java/com/simprints/core/tools/time/Timestamp.kt Added JavaSerializable interface to Timestamp data class
infra/core/src/main/java/com/simprints/core/domain/tokenization/TokenizableString.kt Replaced Parcelable with JavaSerializable for TokenizableString and its subclasses
feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/steps/Step.kt Added JavaSerializable interface to Step data class
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/model/BoundingBox.kt Added JavaSerializable interface to BoundingBox data class
feature/orchestrator/src/test/java/com/simprints/feature/orchestrator/cache/OrchestratorCacheIntegrationTest.kt Added new test for Java serialization and refactored existing tests to use helper methods

@meladRaouf meladRaouf merged commit 39c39c0 into main Jan 26, 2026
31 checks passed
@meladRaouf meladRaouf deleted the bugfix/java-serilization-problem branch January 26, 2026 17:31
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.

4 participants