Skip to content

Narration endpoint is missing a fallback, and shouldn't be there if the narration service isn't up #435

@holly-cummins

Description

@holly-cummins

I'm seeing two problems with the narration button:

  • In all cases, we show it after the fight result comes in. If a workshop has been configured to not do narration – or early in the workshop – do we want the button to be there at all? Keeping the UI simpler seems ideal, so maybe we should put some sort of guard on whether we show the button. The complexity is it would normally have to be something the fight service would tell us, and we don't want people to have to code a guard for a thing they're not doing! So we'd need to think of a nice ui-only mechanism.
  • There should be a fallback for when the service is missing, but when I click the button, I get this in the UI:
image

This is the backend error:

16:55:46 ERROR [io.qu.ve.ht.ru.QuarkusErrorHandler] (executor-thread-3) HTTP Request to /api/fights/narrate failed, error id: ae33f1c8-bd78-4bed-b6c4-5acb42b859fc-1: jakarta.ws.rs.ProcessingException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8086
        at org.jboss.resteasy.reactive.client.handlers.ClientSendRequestHandler$2.accept(ClientSendRequestHandler.java:199)
        at org.jboss.resteasy.reactive.client.handlers.ClientSendRequestHandler$2.accept(ClientSendRequestHandler.java:191)
        at io.smallrye.context.impl.wrappers.SlowContextualConsumer.accept(SlowContextualConsumer.java:21)
        at io.smallrye.mutiny.helpers.UniCallbackSubscriber.onFailure(UniCallbackSubscriber.java:62)
        at io.smallrye.mutiny.operators.uni.UniOperatorProcessor.onFailure(UniOperatorProcessor.java:55)
        at org.jboss.resteasy.reactive.client.AsyncResultUni.lambda$subscribe$1(AsyncResultUni.java:37)

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