Skip to content

Conversation

@toger5
Copy link
Contributor

@toger5 toger5 commented Jan 23, 2025

This reapplies back "Distinguish room state and timeline events in embedded clients](b595396)" which was reverted because it contained knowing issues.

The widget api was changed so state events get send using the dedicated UpdateState action instead of the normal timeline action: SendEvent.

It now contains the following fix:

  • The embedded client (used by EC) is now only compatible with widgetDrivers that do and do not support UpdateState. As of now the rust sdk does not support UpdateState so embedded js-sdk widgets are compatible with the rust sdk and EW.
  • This PR changes the embedded client so that it first checks if the host client supports UpdateState. If it does not it uses the old widget actions to inject state events into the client sync api.
  • If the hosting client does not support UpdateState the widget will not wait (indefinitely) until an update state action arrives but will load the events manually.

Checklist

  • Tests written for new code (and old code if feasible).
  • New or updated public/exported symbols have accurate TSDoc documentation.
  • Linter and other CI checks pass.
  • Sign-off given on the changes (see CONTRIBUTING.md).

@hughns
Copy link
Member

hughns commented Jan 27, 2025

Closing as duplicate of #4662

@hughns hughns closed this Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants