-
Notifications
You must be signed in to change notification settings - Fork 328
feat: Matrix Integration for EmbeddedChat #1030
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
base: develop
Are you sure you want to change the base?
feat: Matrix Integration for EmbeddedChat #1030
Conversation
|
Hi @Spiral-Memory , when you get time, could you take a quick look at this PR? I've implemented the first pass for matrix integration |
|
Hey @Aryan-Verma-999! If I am not wrong, there are some linting issues with the file packages/api/src/EmbeddedChatApi.ts, please do give it a check. If I am mistaken, ignore this message. Thank you! |
|
Hi @Aryan-Verma-999, |
|
Hi @Spiral-Memory !, |
|
@Aryan-Verma-999 Could you please attach a demo video showcasing all the features you’ve implemented? This would help us understand it better. Great work, by the way! |
|
Hi @Spiral-Memory , I've recorded a demo video showcasing all the implemented features. Here's what's demonstrated: Features Demonstrated
demo-pr-1030.mp4All core functionality is working as expected for public, unencrypted Matrix rooms. Please let me know if you'd like me to demonstrate any specific scenarios or if you have any questions! |
|
Thanks, @Aryan-Verma-999. I'll go through it and post the updates. Thanks a lot for your contribution. |
Previously, Matrix login failures would throw exceptions that weren't
caught by the UI error handling. Now returns error in Rocket.Chat format ({ error: 403 }) to trigger proper toast notifications.
- Add proper error returns for channelInfo/getRoomInfo for toast messages - Add try-catch to sendMessage for error handling - Add stub methods (star, pin, react, etc.) to prevent UI errors - Fix edit message to show toast instead of triggering logout - Add null-safety checks in connect() method
|
The video looks great. In the description, you mentioned it can display avatar images and room avatars, so please share a screenshot of this with some pictures. It would also be helpful if the video could demonstrate two-way communication for better understanding, with both users being different, to see if it renders correctly all other modes. One small suggestion: instead of having a separate folder for matrix mode, consider naming it like the others, such as WithMatrix. Great job so far; this might take some time for review and a few iterations, so be sure to collaborate. |
|
I think you’re using the Matrix JS-SDK but we don’t want to log in directly with Matrix credentials. Instead, we want to use the Rocket.Chat-built homeserver. The current implementation might not correct, so please check the homeserver setup. I should be able to log in with Rocket.Chat credentials and still send messages to Matrix, with the homeserver possibly running on your system to make this work. Please have a look at : https://github.com/RocketChat/homeserver |
|
Thanks for pointing this out. I’ll switch the implementation to use the Rocket.Chat homeserver instead of direct Matrix credential login. I’ll go through the homeserver repo, set it up locally, and adjust the flow so users authenticate with their Rocket.Chat credentials while still being able to send messages to Matrix rooms. I’ll update the PR once I have this aligned |
feat: Matrix Integration for EmbeddedChat
Acceptance Criteria fulfillment
modeprop) to choose between using the native Matrix homeserver and direct Rocket.Chat access.Fixes Epic: EmbeddedChat integration with Rocket.Chat native Matrix homeserver #1029
Video/Screenshots
PR Test Details
yarn storybook.modetomatrix.host(e.g.,https://matrix.org) androomId.Note: The PR will be ready for live testing at https://rocketchat.github.io/EmbeddedChat/pulls/pr-1030 after approval. Contributors are requested to replace
<pr_number>with the actual PR number.