TODO
23 mar
The token is pulled from .env during build time. User should be able to set it in the<c2c-widget>
tag.<style>
is included within DOM elements as they come and go. They should however be injected to shadow DOM rootshadowRoot.appendChild(style);
. Perhaps a global StyleManager class that can be used to inject styles into the shadow DOM.The widget should be able to be used in a non-modal form. Perhaps a modal wrapper that's decoupled from the widget.<!-- modal usage -->
<c2c-modal trigger="callButton">
<c2c-widget callStartTrigger="callButton>"</c2c-widget>
</c2c-modal>
<!-- non-modal usage -->
<c2c-widget callStartTrigger="callButton></c2c-widget>which device is selected? mute/unmute ... and other device based things.
24 mar
on mobile, user's video is not showing.on mobile, loading spinner is not centered vertically.on mobile, the drop-down for device selection is offset from buttons.Handle errors properly. This includes device errors, connection errors and errors from the Client.
25 mar
<c2c-widget>
'scallDetails
shouldn't be an stringified JSON? It should just be 3 attributes. Why would you ever pass a JSON string?on desktop safari, the user video is centered. This seems related to the user video stream not showing up on mobile.on mobile safari ,the up arrow is very scaled downtextcontent replaces even the svg tail (?) in chat bubbles for some reasonclean up stuff correctly on hangup, so the next load is fresh.there's a device timeout if you don't give permission within like 5 seconds. seems to be coming from the SDK. looks incredibly weird.(about this, see this)
26 mar
Refactor device management code.
27 mar
on safari no image.decode is working.on safar ios, video not showing cuz too smallon mobile, aspect ratio is flipped when changing devices?
29 mar
make sure the modal is large enough and properly responsive.write usage and other guides.
Nice to haves:
I am taking notes of the nice to haves, but these won't be done until the basics are solid.
-
The widget should be able to be used in a non-modal form. Perhaps a modal wrapper that's decoupled from the widget.
<!-- modal usage -->
<c2c-modal trigger="callButton">
<c2c-widget callStartTrigger="callButton>"</c2c-widget>
</c2c-modal>
<!-- non-modal usage -->
<c2c-widget callStartTrigger="callButton></c2c-widget> -
<c2c-widget>
'scallDetails
shouldn't be an stringified JSON? It should just be 3 attributes. Why would you ever pass a JSON string? -
Chat bubbles should type in word by word, instead of block by block. I have a working implementation, but it's fundamentally flawed. A more sophisticated implementation will be required.