forked from cadence/out-of-your-element
Emergency sync #11
1 changed files with 10 additions and 10 deletions
|
|
@ -54,17 +54,17 @@ async function onBotMembership(event, api, createRoom) {
|
||||||
assert.equal(event.type, "m.room.member")
|
assert.equal(event.type, "m.room.member")
|
||||||
assert.equal(event.state_key, utils.bot)
|
assert.equal(event.state_key, utils.bot)
|
||||||
|
|
||||||
// Check if an upgrade is pending for this room
|
|
||||||
const newRoomID = event.room_id
|
|
||||||
const oldRoomID = select("room_upgrade_pending", "old_room_id", {new_room_id: newRoomID}).pluck().get()
|
|
||||||
if (!oldRoomID) return false
|
|
||||||
const channelRow = from("channel_room").join("guild_space", "guild_id").where({room_id: oldRoomID}).select("space_id", "guild_id", "channel_id").get()
|
|
||||||
assert(channelRow) // this could only fail if the channel was unbridged or something between upgrade and joining
|
|
||||||
|
|
||||||
// Check if is join/invite
|
|
||||||
if (event.content.membership !== "invite" && event.content.membership !== "join") return false
|
|
||||||
|
|
||||||
return await roomUpgradeSema.request(async () => {
|
return await roomUpgradeSema.request(async () => {
|
||||||
|
// Check if an upgrade is pending for this room
|
||||||
|
const newRoomID = event.room_id
|
||||||
|
const oldRoomID = select("room_upgrade_pending", "old_room_id", {new_room_id: newRoomID}).pluck().get()
|
||||||
|
if (!oldRoomID) return false
|
||||||
|
const channelRow = from("channel_room").join("guild_space", "guild_id").where({room_id: oldRoomID}).select("space_id", "guild_id", "channel_id").get()
|
||||||
|
assert(channelRow) // this could only fail if the channel was unbridged or something between upgrade and joining
|
||||||
|
|
||||||
|
// Check if is join/invite
|
||||||
|
if (event.content.membership !== "invite" && event.content.membership !== "join") return false
|
||||||
|
|
||||||
// If invited, join
|
// If invited, join
|
||||||
if (event.content.membership === "invite") {
|
if (event.content.membership === "invite") {
|
||||||
await api.joinRoom(newRoomID)
|
await api.joinRoom(newRoomID)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue