webchat-loader

Version Today No `contentUrl` `contentUrl` of 401 A placeholder `contentUrl`
All versions of v4 Working until F5, turns into broken image from https://bcdirectlineeastus3.blob.core.windows.net/at12345/a1b2c3d-original. Shortly after upload, turns into broken image. F5 will continue to show broken image. Shortly after upload, turns into broken image. F5 will continue to show broken image. Shortly after upload, turns into placeholder image. F5 will continue to show placeholder image.
Latest v3 and Scorpio Working until F5, turns into broken image from https://bcdirectlineeastus3.blob.core.windows.net/at12345/a1b2c3d-original. Show uploaded photo. After F5, turns into broken image. Show uploaded photo. After F5, turns into broken image. Show uploaded photo. After F5, turns into placeholder image.
Aries Working. Shortly after upload, turns into broken image. Shortly after upload, turns into broken image. Shortly after upload, turns into placeholder image.

Conclusion

All uploaded images will be echoed back from Direct Line.

  • v4: Initially, Web Chat show the uploading image. After the activity is echoed, Web Chat will use the image in the echoed activity.
    • Empty content URL will eventually show a broken image icon.
    • URL with erroneous respond will eventually show a broken image icon.
    • Placeholder image will eventually show up correctly.
  • v3: Web Chat will always show the uploading image even after activity is echoed. I.e. image not getting replaced until F5.
    • Empty content URL will show an empty bubble only after F5.
    • URL with erroneous respond will show a broken image icon only after F5.
    • Placeholder image will show up correctly only after F5.
  • v1: Very similar to v4. But will not show anything while uploading image. It will show the image in the echoed activity.
    • Empty content URL will eventually show a broken image icon.
    • URL with erroneous respond will eventually show a broken image icon.
    • Placeholder image will eventually show up correctly.

After F5, all of them will show the replaced image (broken, empty, or placeholder). This is because chat history is being resent from Direct Line.

Notes

Buggy Direct Line resend history over Web Socket

Direct Line exhibits very strange behavior for v3/v4 but not Aries. It only bugged in Web Socket, but not thru polling.

When the photo is uploaded, the echoed message has attachment of https://webchat.botframework.com/attachments/H7i...X-j/0000001/0/12345.png?t=token. This is also true if there are two Web Chat loaded at the time the file is uploaded.

After F5, the message history is being resent from Direct Line. But on resend, the attachment URL become https://bcdirectlineeastus3.blob.core.windows.net/at12345/ABCDE-original. And the content of this file is encrypted with an unknown key.

Looks like Direct Line resend history is broken today for Web Socket.