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:
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)
I'm seeing two problems with the narration button:
This is the backend error: