Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow the embedded client to work without the UpdateState api version #4652

Closed
wants to merge 3 commits into from

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.

2 participants