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