Fix/flaky integration tests#1740
Closed
siri-varma wants to merge 27 commits intodapr:masterfrom
Closed
Conversation
Port the BookTrip compensation (Saga) workflow from the plain Java examples into the Spring Boot workflow patterns module, adding @Component-annotated activities and a /wfp/compensation REST endpoint. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@Siris-MacBook-Pro.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
* Add baggage Signed-off-by: siri-varma <siri.varma@outlook.com> * Update sdk/src/test/java/io/dapr/client/DaprClientGrpcBaggageTest.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Remove empty tearDown method in test class Removed empty tearDown method from DaprClientGrpcBaggageTest. Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Refactor contextWrite calls to remove casting Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> --------- Signed-off-by: siri-varma <siri.varma@outlook.com> Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The dapr/durabletask-protobuf#32 PR refactored protos by concept, splitting orchestrator_service.proto into orchestration.proto, history_events.proto, and orchestrator_actions.proto. This broke the build because only the single file was being downloaded. - Download all 4 proto files in durabletask-client/pom.xml - Replace single-file URL property with base URL in parent pom - Update Java type references from OrchestratorService.* to the correct new outer classes: Orchestration, HistoryEvents, OrchestratorActions Signed-off-by: Javier Aliaga <javier@diagrid.io>
* create the release + release notes automatically Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Cassie Coyle <cassie.i.coyle@gmail.com> * pr feedback Signed-off-by: Cassandra Coyle <cassie@diagrid.io> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: Cassie Coyle <cassie.i.coyle@gmail.com> Co-authored-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…buf#33) (dapr#1704) Update Java type references to match the Workflow terminology rename in dapr/durabletask-protobuf#33. Point proto base URL to JoshVanL's fix-named-reserved branch (durabletask-protobuf#36) which fixes the mixed reserved syntax incompatible with protoc 3.x, and remove the antrun workaround. Signed-off-by: Javier Aliaga <javier@diagrid.io>
* chore: Deprecate invoke methods Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore: Deprecate invoke methods Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore: Deprecate invoke methods Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore: Change examples Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: Siri Varma Vegiraju <siri.varma@outlook.com> Co-authored-by: salaboy <Salaboy@gmail.com> Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com> Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
* fix: upgrade dependencies to address critical CVEs Upgrade jackson-bom 2.16.2 → 2.18.6 (CVE-2025-52999, CVSS 8.7 DoS), add netty-bom 4.1.132.Final (CVE-2026-33871 CVSS 8.7, CVE-2026-33870 CVSS 7.5), and bump Spring Boot 3.4.9 → 3.4.10 which pulls Tomcat 10.1.46 (CVE-2025-55754 CVSS 9.6, CVE-2025-55752 CVSS 7.5). Reorder BOM imports so netty-bom and jackson-bom take precedence over Spring Boot's managed versions. Align springframework.version 6.2.11 with Spring Boot 3.4.10. Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore: add TODO to remove netty-bom once gRPC bundles >= 4.1.132 Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: upgrade Spring Boot 4.0.2 to 4.0.5 to fix jackson-core 3.0.4 (GHSA-72hv-8253-57qq) Spring Boot 4.0.4+ ships with jackson 3.1.0, fixing the async JSON parser DoS vulnerability in jackson-core 3.0.4. Upgrade all 6 modules that pin springboot4.version from 4.0.2 to 4.0.5 (latest patch). No jackson-bom override needed — Spring Boot 4.0.5 manages it natively. Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@diagrid.io>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v5.5.2...v5.5.3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: 5.5.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Dapr Bot <daprweb@microsoft.com>
* fix: bump jackson to 2.21.2 to address CVE (SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551) Upgrade jackson-bom from 2.16.2 to 2.21.2 to fix the high-severity Allocation of Resources Without Limits or Throttling vulnerability in jackson-core reported in dapr#1714. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix(deps): upgrade dependencies to address multiple CVEs - Spring Boot 3.4.10 → 3.4.13 - Spring Framework 6.2.11 → 6.2.17 (CVE injection) - Jackson 3.x BOM 3.1.0 → 3.1.1 (SNYK-JAVA-TOOLSJACKSONCORE-15907550) - Logback 1.5.18 → 1.5.25 (SNYK-JAVA-CHQOSLOGBACK-13169722, -15062482) - Commons Compress 1.24.0 → 1.26.0 (SNYK-JAVA-ORGAPACHECOMMONS-6254296, -6254297) - Tomcat Embed 10.1.46 → 10.1.52 (SNYK-JAVA-ORGAPACHETOMCATEMBED-15307781, -15307822) Note: spring-boot-actuator auth bypass CVEs remain in example apps only — requires Spring Boot 3.5.x which is a breaking change. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix(deps): upgrade Spring Boot to 3.5.12 and remove redundant overrides Spring Boot 3.5.12 natively manages logback 1.5.32, tomcat 10.1.52, and spring-framework 6.2.17 — removing all manual overrides that are now unnecessary. This also resolves the spring-boot-actuator auth bypass CVEs that required SB 3.5.x. Only commons-compress 1.26.0 override remains (testcontainers transitive). Signed-off-by: Javier Aliaga <javier@diagrid.io> * chore(deps): remove unnecessary Jackson 3.x BOM overrides Only dapr-spring-boot-4-autoconfigure and spring-boot-4-examples actually use Jackson 3.x (tools.jackson.core). Removed the override from 4 modules that don't pull it in transitively. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix(deps): add commons-codec dependency for commons-compress 1.26.0 Commons-compress 1.26.0 declares commons-codec as optional, but testcontainers uses it at runtime causing ClassNotFoundException for org.apache.commons.codec.Charsets. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix(deps): add commons-codec as direct dependency in testcontainers-dapr The dependencyManagement entry alone doesn't pull in optional transitive deps. commons-codec must be declared as a direct dependency so it's available at runtime for commons-compress/testcontainers. Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@diagrid.io>
Bumps [fossas/fossa-action](https://github.com/fossas/fossa-action) from 1.8.0 to 1.9.0. - [Release notes](https://github.com/fossas/fossa-action/releases) - [Commits](fossas/fossa-action@v1.8.0...v1.9.0) --- updated-dependencies: - dependency-name: fossas/fossa-action dependency-version: 1.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Javier Aliaga <javier@diagrid.io>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v5.5.3...v6.0.0) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Javier Aliaga <javier@diagrid.io>
* adding sdk tracing capabilities on spring Signed-off-by: salaboy <Salaboy@gmail.com> * fix: guard highCardinalityKeyValue calls against null values in ObservationDaprClient Micrometer's highCardinalityKeyValue throws NPE when the value is null. Added a safe() helper that coalesces nulls to empty string, applied to all observation tag values in both Spring Boot 3 and Boot 4 modules. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: add null validation in constructors and fix license header formatting Add Objects.requireNonNull for delegate and observationRegistry in ObservationDaprClient and ObservationDaprWorkflowClient constructors to fail fast on misconfiguration. Fix missing ' * ' prefix on the last line of license headers in all four new files. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: defer observation start to subscription time in ObservationDaprClient Wrap observe() and observeFlux() helpers with Mono.defer/Flux.defer so that obs.start() runs on subscription, not on method call. This prevents leaked spans when a Mono is never subscribed and ensures span timing reflects actual execution, not the gap before subscription. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: use proper Objects import, revert license header, add deferred-start test Replace fully-qualified java.util.Objects with import statement and fix alphabetical import order to satisfy checkstyle. Revert license header change since the project's checkstyle config expects the original format. Add test verifying that an unsubscribed Mono does not leak an observation. Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: salaboy <Salaboy@gmail.com> Signed-off-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> Co-authored-by: Javier Aliaga <javier@diagrid.io>
Update maven.compiler.source, target, and release from 11 to 17 in root pom.xml and dapr-spring/pom.xml. Update all example README prerequisites to reference JDK 17 download links. Signed-off-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Dapr Bot <daprweb@microsoft.com>
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@v8...v9) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ent (dapr#1722) * feat: add dapr-sdk-bom module for dependency version management (dapr#1720) Standalone BOM (no parent inheritance) so consumers only get Dapr SDK artifact versions and security-critical transitive dependency overrides without inheriting the parent's 1500+ internal managed dependencies. Includes all published io.dapr and io.dapr.spring modules, plus security overrides for netty-bom (CVE-2026-33870/33871), jackson-bom, commons-compress, and commons-codec. Closes dapr#1720 Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io> * docs: add BOM usage instructions to README (dapr#1720) Document dapr-sdk-bom as the recommended way to import the SDK, with version-free dependency declarations for both Maven and Gradle. Keep the manual version approach as an alternative. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: update version script to handle standalone BOM (dapr#1720) The BOM has no parent, so mvn versions:set skips it during the reactor walk. Add explicit -f sdk-bom/pom.xml calls to update both the artifact version and dapr.sdk.version property. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: add deploy and signing config to standalone BOM (dapr#1720) The BOM has no parent so it doesn't inherit distributionManagement, nexus-staging-maven-plugin, or maven-gpg-plugin from the root POM. Without these the publish step would fail to stage and sign the artifact for Maven Central. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: skip site generation for standalone BOM (dapr#1720) The BOM has no parent, so it picks up maven-site-plugin 3.3 from Maven's defaults instead of 3.12.1 from pluginManagement. Pin the version and skip site since a POM-only BOM has no content to render. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io> * refactor: split BOM into core and Spring BOMs (dapr#1720) Per review feedback from @siri-varma, split the single BOM into two: - io.dapr:dapr-sdk-bom — core SDK modules (dapr-sdk, dapr-sdk-actors, dapr-sdk-workflows, dapr-sdk-autogen, durabletask-client, testcontainers-dapr) plus security overrides - io.dapr.spring:dapr-spring-bom — Spring-specific modules (dapr-sdk-springboot, dapr-spring-*). Imports dapr-sdk-bom so Spring users only need this single BOM. This keeps the core BOM lightweight for non-Spring users, while letting Spring users align naturally with their existing dependency management. Also updates the version script and README to cover both BOMs. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io>
* adding trace propagation to local observations Signed-off-by: salaboy <Salaboy@gmail.com> Signed-off-by: Javier Aliaga <javier@diagrid.io> * refactor(spring): extract Observation decorators into shared dapr-spring-boot-observation module Eliminates the verbatim duplication between dapr-spring-boot-autoconfigure (Spring Boot 3.x) and dapr-spring-boot-4-autoconfigure (Spring Boot 4.x): both modules previously held 100%-identical copies of ObservationDaprClient (~820 LOC) and ObservationDaprWorkflowClient (~400 LOC, including the W3C traceparent/tracestate formatters, repeated 4 times overall). Introduces a new Spring-agnostic module dapr-spring/dapr-spring-boot-observation under package io.dapr.spring.observation.client holding a single canonical copy of both decorators plus a package-private TraceContextFormat helper that replaces the 4 duplicated formatter copies. The module has zero Spring imports so it can be shared safely across Spring Boot 3.x and 4.x without API drift. Autoconfigure modules now depend on dapr-spring-boot-observation (optional), replacing their direct opentelemetry-api dependency. Consumers who skip observation wiring still don't pull OTel onto the classpath. OtelTracingClientInterceptor is now a private static final singleton on ObservationDaprWorkflowClient instead of allocated per client — justified by its existing javadoc which already stated it is stateless and shareable. Tests for the decorators themselves moved to the new module (33 pass); the Spring-wiring test DaprClientObservationAutoConfigurationTest stays in boot 3 with updated imports. Net: -1104 lines. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix(spring): make dapr-spring-boot-observation non-optional in autoconfigure poms The autoconfigure classes directly reference ObservationDaprClient and ObservationDaprWorkflowClient in their bean factory methods. When the observation module was marked <optional>, it was not propagated through the starters, causing a potential NoClassDefFoundError at runtime for users with a non-noop ObservationRegistry (e.g. actuator + tracing). Removing <optional> restores the original behavior: the Observation decorator classes are always on the classpath wherever the autoconfig is loaded. Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: salaboy <Salaboy@gmail.com> Signed-off-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
* fix: detect shutdown and break DurableTaskGrpcWorker loop The worker loop ran `while (true)` and only exited if an InterruptedException happened during the 5-second retry sleep. If `close()` was called while the gRPC stream was blocking, the CANCELLED exception was logged but the loop kept retrying. - Replace `while (true)` with a check on `isNormalShutdown` and the thread interrupt flag so the loop exits promptly. - Break out of the retry path on CANCELLED when `isNormalShutdown` is set, avoiding a misleading 5-second sleep after `close()`. - Re-set the interrupt flag before breaking on InterruptedException to preserve the interrupt contract for callers higher up. Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: address PR review — skip retry sleep on shutdown, add tests - Capture workerThread in startAndBlock() so close() can interrupt the thread even when startAndBlock() is called directly (not via start()), fixing the case where the 5s sleep blocks shutdown. - Add isNormalShutdown guard before the retry sleep so any exception code (UNAVAILABLE, CANCELLED, etc.) exits promptly during shutdown. - Add DurableTaskGrpcWorkerShutdownTest with 3 scenarios: - start() + close() terminates the worker thread promptly - startAndBlock() on a separate thread exits on close() - startAndBlock() exits on thread interrupt Signed-off-by: Javier Aliaga <javier@diagrid.io> * fix: address second round of PR review comments - Mark workerThread as volatile for cross-thread visibility - Remove unused imports (ManagedChannel, ManagedChannelBuilder) - Fail test explicitly when reflection fails instead of silently returning null - Assert interrupt status is preserved in startAndBlockExitsOnInterrupt Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: Siri Varma Vegiraju <siri.varma@outlook.com> Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
…tional timers (dapr#1733) * feat(durabletask): implement timer origin and backwards-compatible optional timers Annotate every CreateTimerAction the SDK emits with the new origin oneof from durabletask-protobuf (CreateTimer / ExternalEvent / ActivityRetry / ChildWorkflowRetry), and emit a synthetic "optional" timer for waitForExternalEvent calls with a negative (indefinite) timeout. - CreateTimer: TimerOriginCreateTimer on every user-facing timer. - waitForExternalEvent: TimerOriginExternalEvent{name} on timeout timers; indefinite timeouts emit a single optional timer with fireAt = sentinel 9999-12-31T23:59:59.999999999Z so the backend has a record of the wait. - Activity retry delays: TimerOriginActivityRetry carrying a stable taskExecutionId shared with the ScheduleTaskAction. - Child-workflow retry delays: TimerOriginChildWorkflowRetry carrying the first child's instanceId. Add dropOptionalExternalEventTimerAt(atId) and wire it into handleTaskScheduled, handleSubOrchestrationCreated, and handleTimerCreated so pre-upgrade histories (which lack the synthetic timer emitted by indefinite waitForExternalEvent calls) replay without non-determinism errors. Mirrors the shape of durabletask-go's task/orchestrator.go. Includes 13 unit tests covering origin assignment across all four call sites and the optional-timer replay-compatibility machinery. Fixes dapr#1729 Signed-off-by: Javier Aliaga <javier@diagrid.io> * refactor(durabletask): address PR feedback — extract sentinel helper, drop unused taskExecutionId in tests - Extract isSentinelFireAt(Timestamp) helper; use Timestamp.equals() instead of manual seconds/nanos comparison in both recognition predicates. Proto-generated equals() compares fields exactly, so nanosecond fidelity is preserved. - Tests 10 and 13 exercise drop-and-shift replay-compat and do not verify taskExecutionId; pass null instead of hardcoded "exec-A" / "exec-B" filler values so the tests stay robust if the SDK ever adds stricter validation on that field. Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Javier Aliaga <javier@diagrid.io>
* Update github runners to oci gh arc runners Signed-off-by: Koray Oksay <koray.oksay@gmail.com> * correct the runner size Signed-off-by: Koray Oksay <koray.oksay@gmail.com> * Move to the VM instead of container runner Signed-off-by: Koray Oksay <koray.oksay@gmail.com> * chore: Increase timeout for Javadocs validation job to 60 minutes Signed-off-by: Javier Aliaga <javier@diagrid.io> --------- Signed-off-by: Koray Oksay <koray.oksay@gmail.com> Signed-off-by: Javier Aliaga <javier@diagrid.io> Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com> Co-authored-by: salaboy <Salaboy@gmail.com> Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com> Co-authored-by: Javier Aliaga <javier@diagrid.io>
… to JUnit 5 (dapr#1736) Upgrade Testcontainers to v2.0.5 which removes the transitive JUnit 4 dependency and modernizes the test infrastructure. This includes renaming all module artifact IDs with the testcontainers- prefix, migrating container class imports to their new packages, removing JUnit 4 runner imports and TestRule apply() overrides from Network anonymous classes, removing generic type parameters from PostgreSQLContainer, MySQLContainer and CustomMySQLContainer (no longer generic in TC v2), converting remaining JUnit 4 test annotations and assertions to JUnit 5, removing junit-vintage-engine, and ensuring third-party TC dependencies (testcontainers-redis 2.2.4, microcks-testcontainers 0.3.1) are compatible via TC 1.x exclusions. Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
2545e0b to
8e8fead
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Please explain the changes you've made
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: