diff --git a/packages/server/package.json b/packages/server/package.json index a35f78d36d..52f209a403 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -98,7 +98,7 @@ "koa2-ratelimit": "1.1.1", "lodash": "4.17.21", "memorystream": "0.3.1", - "mongodb": "5.6", + "mongodb": "5.7", "mssql": "9.1.1", "mysql2": "2.3.3", "node-fetch": "2.6.7", diff --git a/packages/server/src/startup.ts b/packages/server/src/startup.ts index 64a6c011c4..9da26ac2aa 100644 --- a/packages/server/src/startup.ts +++ b/packages/server/src/startup.ts @@ -5,7 +5,7 @@ import { generateApiKey, getChecklist, } from "./utilities/workerRequests" -import { installation, tenancy, logging, events } from "@budibase/backend-core" +import { events, installation, logging, tenancy } from "@budibase/backend-core" import fs from "fs" import { watch } from "./watch" import * as automations from "./automations" diff --git a/packages/server/src/websockets/builder.ts b/packages/server/src/websockets/builder.ts index b3d40b5f72..7f4c9fbd33 100644 --- a/packages/server/src/websockets/builder.ts +++ b/packages/server/src/websockets/builder.ts @@ -1,6 +1,6 @@ import authorized from "../middleware/authorized" import { BaseSocket } from "./websocket" -import { permissions, events } from "@budibase/backend-core" +import { permissions, events, context } from "@budibase/backend-core" import http from "http" import Koa from "koa" import { @@ -15,7 +15,7 @@ import { import { gridSocket } from "./index" import { clearLock, updateLock } from "../utilities/redis" import { Socket } from "socket.io" -import { BuilderSocketEvent, GridSocketEvent } from "@budibase/shared-core" +import { BuilderSocketEvent } from "@budibase/shared-core" export default class BuilderSocket extends BaseSocket { constructor(app: Koa, server: http.Server) { @@ -35,7 +35,13 @@ export default class BuilderSocket extends BaseSocket { userIdMap[session._id] = true } }) - await events.user.dataCollaboration(Object.keys(userIdMap).length) + + const tenantId = context.getTenantIDFromAppID(appId) + if (tenantId) { + await context.doInTenant(tenantId, async () => { + await events.user.dataCollaboration(Object.keys(userIdMap).length) + }) + } // Reply with all current sessions callback({ users: sessions }) diff --git a/yarn.lock b/yarn.lock index c6c6235d02..82c1f9f5c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8820,10 +8820,10 @@ bson@*: resolved "https://registry.yarnpkg.com/bson/-/bson-5.0.1.tgz#4cd3eeeabf6652ef0d6ab600f9a18212d39baac3" integrity sha512-y09gBGusgHtinMon/GVbv1J6FrXhnr/+6hqLlSmEFzkz6PodqF6TxjyvfvY3AfO+oG1mgUtbC86xSbOlwvM62Q== -bson@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/bson/-/bson-5.3.0.tgz#37b006df4cd91ed125cb686467c1dd6d4606b514" - integrity sha512-ukmCZMneMlaC5ebPHXIkP8YJzNl5DC41N5MAIvKDqLggdao342t4McltoJBQfQya/nHBWAcSsYRqlXPoQkTJag== +bson@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/bson/-/bson-5.4.0.tgz#0eea77276d490953ad8616b483298dbff07384c6" + integrity sha512-WRZ5SQI5GfUuKnPTNmAYPiKIof3ORXAF4IRU5UcgmivNIon01rWQlw5RUH954dpu8yGL8T59YShVddIPaU/gFA== buffer-alloc-unsafe@^1.1.0: version "1.1.0" @@ -19067,12 +19067,12 @@ mongodb-connection-string-url@^2.6.0: "@types/whatwg-url" "^8.2.1" whatwg-url "^11.0.0" -mongodb@5.6: - version "5.6.0" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.6.0.tgz#caff5278341bfc0f1ef6f394bb403d207de03d1e" - integrity sha512-z8qVs9NfobHJm6uzK56XBZF8XwM9H294iRnB7wNjF0SnY93si5HPziIJn+qqvUR5QOff/4L0gCD6SShdR/GtVQ== +mongodb@5.7: + version "5.7.0" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.7.0.tgz#e16d2fcdfd9f8503ec2d88288392dc3235bb3ecc" + integrity sha512-zm82Bq33QbqtxDf58fLWBwTjARK3NSvKYjyz997KSy6hpat0prjeX/kxjbPVyZY60XYPDNETaHkHJI2UCzSLuw== dependencies: - bson "^5.3.0" + bson "^5.4.0" mongodb-connection-string-url "^2.6.0" socks "^2.7.1" optionalDependencies: