This is an Element project (in the vector-im repo) so the Copyright
should be for New Vector: it was incorrectly attributed to the
foundation for some files (and some files were missing headers).
* load analytics id from url in embedded mode
Signed-off-by: Timo K <timok@element.io>
* add start call in the widget code path
Signed-off-by: Timo K <timok@element.io>
* send group call id instead of call name
Signed-off-by: Timo K <timok@element.io>
* generate analyticsid based on account analyticsid
This make it impossible to find users from the element web posthog instance
in the element call instance
* move registration type setup PosthogAnalytics.ts
* Order identificaition and tracking.
This fixes an issue that the widget version did not identify the user before sneding
the first track event.
Because start call is called right after app startup.
Signed-off-by: Timo K <timok@element.io>
Hopefully explained in comment: we have a heisenbug where we sometimes
lack audio from a certain participant, so this simplifies the audio
path by removing the workaround required to do AEC with spatial audio
on chrome.
Because useMeasure always returns a width and height of zero on the first render, various call UI elements would flash in and out of existence or animate in from the wrong place when joining a call. This poses an accessibility issue, and is generally unpleasant.
The 'connecting' tile change meant that we could have tiles right
at the start of the call where we wouldn't have before, and in fact
could have tiles for other users before we even had a tile for ourself.
This threw off the logic for ordering tiles which had a special case
for 1:1 calling which assumed that one of the tiles in a 1:1 call was
the local user. In this case, this assumption wasn't true at the very
start of the call, so the tile orders got assigned incorrectly and then
persisted for the rest of the call.
Fixes https://github.com/vector-im/element-call/issues/694
RoomWidgetClient doesn't do lazy loading, so it only has the state event data to work with and not the lazy loaded user object.
Previously avatars of remote participants were all replaced by fallback avatars.