From c655be17ca2eb7272c1d9aa44f19eecb3b3d67df Mon Sep 17 00:00:00 2001 From: Matheus Barbosa Silva <36537004+matheusbsilva137@users.noreply.github.com> Date: Mon, 18 Sep 2023 09:54:49 -0300 Subject: [PATCH] fix: Presence broadcast isn't enabled after license validation (#30282) Co-authored-by: Diego Sampaio --- .changeset/tall-pumpkins-cross.md | 5 +++++ ee/packages/presence/src/Presence.ts | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 .changeset/tall-pumpkins-cross.md diff --git a/.changeset/tall-pumpkins-cross.md b/.changeset/tall-pumpkins-cross.md new file mode 100644 index 000000000000..e6cfd8a309b9 --- /dev/null +++ b/.changeset/tall-pumpkins-cross.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/presence": patch +--- + +Fixed presence broadcast being disabled on server restart diff --git a/ee/packages/presence/src/Presence.ts b/ee/packages/presence/src/Presence.ts index 9bb29b011c26..62fdc87fa9eb 100755 --- a/ee/packages/presence/src/Presence.ts +++ b/ee/packages/presence/src/Presence.ts @@ -39,9 +39,14 @@ export class Presence extends ServiceClass implements IPresence { } }); - this.onEvent('license.module', ({ module, valid }) => { + this.onEvent('license.module', async ({ module, valid }) => { if (module === 'scalability') { this.hasLicense = valid; + + // broadcast should always be enabled if license is active (unless the troubleshoot setting is on) + if (!this.broadcastEnabled && valid) { + await this.toggleBroadcast(true); + } } }); } @@ -58,9 +63,9 @@ export class Presence extends ServiceClass implements IPresence { }, 10000); try { - this.hasLicense = await License.hasLicense('scalability'); - await Settings.updateValueById('Presence_broadcast_disabled', false); + + this.hasLicense = await License.hasLicense('scalability'); } catch (e: unknown) { // ignore }