diff --git a/pom.xml b/pom.xml index 2991f12..797e542 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ io.akka akka-javasdk-parent - 3.5.11 + 3.5.12 io.akka.ai diff --git a/src/main/java/demo/multiagent/application/ActivityView.java b/src/main/java/demo/multiagent/application/ActivityView.java index 327ca59..b076b5f 100644 --- a/src/main/java/demo/multiagent/application/ActivityView.java +++ b/src/main/java/demo/multiagent/application/ActivityView.java @@ -7,6 +7,7 @@ import akka.javasdk.view.TableUpdater; import akka.javasdk.view.View; import java.util.List; +import java.util.Optional; @Component(id = "activity-view") public class ActivityView extends View { @@ -34,10 +35,20 @@ public static class Updater extends TableUpdater { public Effect onStateChange(AgentTeamWorkflow.State state) { var sessionId = updateContext().eventSubject().get(); // the workflow id - return effects() - .updateRow( - new ActivityEntry(state.userId(), sessionId, state.userQuery(), state.finalAnswer()) - ); + var currentAnswer = rowState() == null ? "" : rowState().finalAnswer; + if (currentAnswer.equals(state.finalAnswer())) { // avoid updating the state if no relevant changes + return effects().ignore(); + } else { + return effects() + .updateRow( + new ActivityEntry( + state.userId(), + sessionId, + state.userQuery(), + state.finalAnswer() + ) + ); + } } @DeleteHandler