Original issue is #135, which has been split into multiple issues.
We need UI specs and implementation for:
(This thread is very long -- please see the summary so you don't have to read every comment. :) )

Text:
Web Chat is taking longer than usual to connect. Retrying in 30 seconds. (Retry now)(button)
Web Chat is unable to connect.
> ‘Web Chat is unable to connect; please check your bot's credentials’
@mewa1024 can we sit down and discuss this?
@cwhitten @mewa1024 I'm working today if this needs a visual. I have not experienced this error, so not sure what we are looking for, but happy to create something if we need it.
Sure @DesignPolice that would be great! We need primarily three indicators:
Updated top comment with design specs and acceptance criteria. Please let me know your feedback. :)
@corinagum - It depends on how often this happens, seems like it might be nice to see it in line, vs disappearing.
@corinagum @DesignPolice Hey all, quick question about the behavior: does Web Chat check for a connection periodically or only when the a message is sent? The reason I'm asking, if it's the latter case, then I think the error message should appear in place of the time stamp below the failed message, similar to the iPhone Message app and slack screens here:


If we do this, then the error message should scroll along with the message bubble. We might also want to allow the user to click on the error message to resend, similar to this feature, but not necessary:


If it's the former case, I think we should disable the text input button until the connection is restored. Examples are Skype for Business and slack.com:


In this case, we wouldn't need to scroll the error message since the conversation would be stopped until the connection is established.
Thanks @mewa1024 well with 700 Million iPhones in service that does seem like a solid solution. @cwhitten can call the ball on his preference, if I need to design a screen like that or if we have a default already and it is just plugging in the text?
[EDIT]
After speaking with @compulim, it looks like Web Chat checks the DLJS connectionStatus$ on the server every second. I think this may mean that it's better to have it as a status, as opposed to a notification on each message, that disappears once it no longer applies. Thoughts?
@corinagum @DesignPolice Then I think we should do this:
The message above the sendbox should be one of these:
Does this cover everything?
Do we support clicking on a message that failed to send and allowing the user to retry?
@mewa1024 This looks good to me. :)
@mewa1024 love your UX study on this topic, especially focused on mobile scenario. 👍
Similar to @corinagum. I think for unusual errors (more like dev errors, e.g. wrong credentials), we could surface the actual error message in the F12 log. We can just say, unable to connect.
Few things:
@corinagum @compulim How about this?
Web Chat tries to connect and cannot, so it shows the message
I think "send failed, retry" is fine. Maybe just change the capitalization and punctuation to "Send failed. __Retry__." And yes, I agree in that I don't think we should resend a failed message automatically when the connection is restored.
Regarding what "longer than usual" means, I'm thinking 15 seconds is too late to get an error message. Is that something we can try out and then adjust?
I think that is a solid solution. @mewa1024 I will make some mockups today.
after discussing with @DesignPolice, I'll be getting started on the implementation of this feature while he works on redlines. :)
Hey all, I wanted to summarize the above (super long) thread, just to make sure that we're on the same page. @mewa1024 and @DesignPolice, could you take a look and add final comments? After the confirmation I'll add this summary to the top of the issue for anyone to have access to.
@corinagum @DesignPolice
To questions above,
yes! @mewa1024 @corinagum thanks
Most helpful comment
yes! @mewa1024 @corinagum thanks