finos / spring-bot

Spring Boot + Java Integration for Symphony/Teams Chat Platform Bots and Apps
https://springbot.finos.org
Apache License 2.0
60 stars 35 forks source link

PresentationMLHandler NPE for Federation POD/Whatsapp users #357

Closed pankaj-a-khandelwal-db closed 2 years ago

pankaj-a-khandelwal-db commented 2 years ago

Bug Report

Steps to Reproduce:

  1. Create room with Bot and External Whatsapp user
  2. Send message from Whatsapp

Expected Result:

Message from Whatsapp user is received correctly by bot/framework

Actual Result:

NPE is thrown when PresentationMLHandler code tries to check if message is from bot itself

Additional Context:

Stacktrace: java.lang.NullPointerException: null at org.finos.springbot.symphony.messages.PresentationMLHandler.onApplicationEvent(PresentationMLHandler.java:48) [symphony-bdk-chat-workflow-spring-boot-starter-9.0.0.jar:9.0.0] at org.finos.springbot.symphony.messages.PresentationMLHandler.onApplicationEvent(PresentationMLHandler.java:22) [symphony-bdk-chat-workflow-spring-boot-starter-9.0.0.jar:9.0.0] at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) [spring-context-5.3.12.jar:5.3.12] at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) [spring-context-5.3.12.jar:5.3.12] at org.springframework.context.event.SimpleApplicationEventMulticaster.lambda$multicastEvent$0(SimpleApplicationEventMulticaster.java:140) [spring-context-5.3.12.jar:5.3.12] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_291]

External User object - user: class V4User { userId: 378855061010084 firstName: null lastName: null displayName: John Smith [WHATSAPP] email: [WHATSAPP.919730212345@symphony.com](mailto:WHATSAPP.919730212345@symphony.com) username: null }

robmoffat commented 2 years ago

Interesting - username is null. This doesn't happen for symphony-native accounts.

pankaj-a-khandelwal-db commented 2 years ago

Yes, observed it for 1st time. Make sense even, as Whatsapp users gets Symphony Identity however no login account.