[
https://issues.apache.org/jira/browse/CAMEL-24611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18111168#comment-18111168
]
Andrea Cosentino commented on CAMEL-24611:
------------------------------------------
Fixed in https://github.com/apache/camel/pull/26076 (merged to main, 4.23.0).
_Claude Code on behalf of oscerd_
> camel-chatscript: multiple functional bugs (resetChat no-op, chatUserName
> ignored, no socket timeout, non-String body NPE)
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-24611
> URL: https://issues.apache.org/jira/browse/CAMEL-24611
> Project: Camel
> Issue Type: Bug
> Components: camel-ai
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.23.0
>
>
> An audit of camel-chatscript found several functional bugs:
> 1. ChatScriptBot.reset() has an empty body, so the resetChat endpoint option
> does nothing - no :reset is ever sent to the ChatScript server. It is also
> invoked once in the ChatScriptProducer constructor rather than per exchange,
> so even the documented 'everytime' semantics is wrong.
> 2. The chatUserName endpoint option is never applied: ChatScriptEndpoint
> always builds new ChatScriptBot(host, port, botName, "") with an empty user
> name, and getChatUserName() is read nowhere. Since the ChatScript wire format
> identifies per-user server state by user name, ?chatUserName=alice is
> silently ignored and the conversation identity is wrong.
> 3. ChatScriptBot.doMessage opens new Socket(host, port) with no connect
> timeout and never calls setSoTimeout, so in.readLine() blocks the route
> thread indefinitely if the server accepts the connection but never replies.
> 4. ChatScriptProducer.buildMessage returns null for any non-String body
> (byte[], InputStream, Map, null), causing a NullPointerException at process()
> (inputMessage.setBotName(...)) instead of a clear error. (Separately, a plain
> non-JSON String body reaches mapper.readValue and throws a parse exception,
> so plain text is unsupported despite the 'json or the object itself' comment.)
> Two further items were noted: the first message body is dropped by the init
> handshake (ChatScriptBot.init forces the body to null - needs a design
> decision on whether that handshake is intended), and sendChat(String) calls
> init(null) which would NPE (latent; not reachable through the producer, which
> uses the ChatScriptMessage overload).
> _Reported by an automated functional audit._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)