matrix-art

An image gallery for Matrix
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-art.git
Log | Files | Refs | README | LICENSE

commit 95059be244e00c5b85beee088d42a72a44f05c17
parent 936717a610e52274fe7ab94f62b2982e7a294977
Author: MTRNord <mtrnord1@gmail.com>
Date:   Fri, 21 Jan 2022 14:53:45 +0100

Make sure to login as guest on the guest client if needed

Diffstat:
Mpages/post/[id].tsx | 15++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/pages/post/[id].tsx b/pages/post/[id].tsx @@ -56,6 +56,14 @@ class Post extends PureComponent<Props, State> { console.error("Failed to register as guest:", error); } } else { + if (!this.context.guest_client?.accessToken) { + try { + let serverUrl = constMatrixArtServer + "/_matrix/client"; + await this.context.guest_client?.registerAsGuest(serverUrl); + } catch (error) { + console.error("Failed to register as guest:", error); + } + } console.log("Already logged in"); } if (this.props.directory_data && this.props.event_id && this.props.event_id.startsWith("$")) { @@ -68,6 +76,7 @@ class Post extends PureComponent<Props, State> { if (isLoadingImages || hasFullyLoaded || !this.props.directory_data) { return; } + const client = this.context.client.isGuest ? this.context.client : this.context.guest_client; this.setState({ isLoadingImages: true, }); @@ -75,14 +84,14 @@ class Post extends PureComponent<Props, State> { // TODO fix this. It is super inefficent. for (let user of this.props.directory_data) { // We dont need many events - const roomId = await this.context.client?.followUser(user.user_room); - const events = await this.context.client?.getTimeline(roomId, 100); // Filter events by type + const roomId = await client?.followUser(user.user_room); + const events = await client?.getTimeline(roomId, 100); // Filter events by type const image_event = events.find((event) => (event.type === "m.image_gallery" || event.type === "m.image") && event.event_id === event_id); if (image_event == undefined) { continue; } try { - const profile = await this.context.client.getProfile(image_event.sender); + const profile = await client.getProfile(image_event.sender); this.setState({ image_event: image_event as MatrixImageEvents, displayname: profile.displayname,