Skip to main content

TODO

23 mar

  1. The token is pulled from .env during build time. User should be able to set it in the <c2c-widget> tag.
  2. <style> is included within DOM elements as they come and go. They should however be injected to shadow DOM root shadowRoot.appendChild(style);. Perhaps a global StyleManager class that can be used to inject styles into the shadow DOM.
  3. 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>
  4. which device is selected? mute/unmute ... and other device based things.

24 mar

  1. on mobile, user's video is not showing.
  2. on mobile, loading spinner is not centered vertically.
  3. on mobile, the drop-down for device selection is offset from buttons.
  4. Handle errors properly. This includes device errors, connection errors and errors from the Client.

25 mar

  1. <c2c-widget>'s callDetails shouldn't be an stringified JSON? It should just be 3 attributes. Why would you ever pass a JSON string?
  2. on desktop safari, the user video is centered. This seems related to the user video stream not showing up on mobile.
  3. on mobile safari ,the up arrow is very scaled down
  4. textcontent replaces even the svg tail (?) in chat bubbles for some reason
  5. clean up stuff correctly on hangup, so the next load is fresh.
  6. 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

  1. Refactor device management code.

27 mar

  1. on safari no image.decode is working.
  2. on safar ios, video not showing cuz too small
  3. on mobile, aspect ratio is flipped when changing devices?

29 mar

  1. make sure the modal is large enough and properly responsive.
  2. 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.

  1. 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>
  2. <c2c-widget>'s callDetails shouldn't be an stringified JSON? It should just be 3 attributes. Why would you ever pass a JSON string?

  3. 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.