Skip to content

Conference with existing transcriber returns no error to client #1263

@ruozhen-vsee

Description

@ruozhen-vsee

This Issue tracker is only for reporting bugs and tracking code related issues.

Before posting, please make sure you check community.jitsi.org to see if the same or similar bugs have already been discussed. General questions, installation help, and feature requests can also be posted to community.jitsi.org.

Description

When handling a request to create/enable a transcriber, the code checks conference.hasTranscriber() and builds an IQ.createErrorResponse(...), but the response is never sent back to the requester. As a result, the error is silently ignored and the client receives no feedback.

Problematic block:

if (conference.hasTranscriber()) {
    logger.warn("Request failed, transcriber already available: ${request.iq.toXML()}")
    IQ.createErrorResponse(
        request.iq,
        StanzaError.getBuilder(StanzaError.Condition.conflict).build()
    )
    return
}

Current behavior

When a transcriber already exists, a conflict IQ error is created
The error response is not sent
Client receives no response (silent failure)


Expected Behavior

The conflict IQ error should be sent back to the requester
Client should receive a proper XMPP error response stating the conflict


Possible Solution

Send the error IQ before returning:

if (conference.hasTranscriber()) {
    logger.warn("Request failed, transcriber already available: ${request.iq.toXML()}")

    request.connection.tryToSendStanza(
        IQ.createErrorResponse(
            request.iq,
            StanzaError.getBuilder(StanzaError.Condition.conflict).build()
        )
    )
    return
}

Steps to reproduce


Environment details


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions