Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bump-patch-1767992045366.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Bump @rocket.chat/meteor version.
5 changes: 5 additions & 0 deletions .changeset/stale-shoes-serve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/account-service': patch
---

Fixes an issue where some DDP streamer requests were returning before processing was completed
52 changes: 40 additions & 12 deletions .github/actions/build-docker/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,25 +119,53 @@ runs:
echo "Contents of /tmp/meta.json:"
cat /tmp/meta.json

SERVICE_SUFFIX=${{ inputs.service == 'rocketchat' && inputs.type == 'coverage' && (github.event_name == 'release' || github.ref == 'refs/heads/develop') && '-cov' || '' }}
if [[ "${{ inputs.publish-image }}" == 'true' ]]; then
SERVICE_SUFFIX=${{ inputs.service == 'rocketchat' && inputs.type == 'coverage' && (github.event_name == 'release' || github.ref == 'refs/heads/develop') && '-cov' || '' }}

mkdir -p /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}

mkdir -p /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}
# Get digest and image info
DIGEST=$(jq -r '.["${{ inputs.service }}"].["containerimage.digest"]' "/tmp/meta.json")
IMAGE_NO_TAG=$(echo "$IMAGE" | sed 's/:.*$//')
FULL_IMAGE="${IMAGE_NO_TAG}@${DIGEST}"

# Get digest and image info
DIGEST=$(jq -r '.["${{ inputs.service }}"].["containerimage.digest"]' "/tmp/meta.json")
IMAGE_NO_TAG=$(echo "$IMAGE" | sed 's/:.*$//')
FULL_IMAGE="${IMAGE_NO_TAG}@${DIGEST}"
echo "Inspecting image: $FULL_IMAGE"

echo "Inspecting image: $FULL_IMAGE"
# Inspect the image and save complete manifest with sizes (using -v for verbose)
docker manifest inspect -v "$FULL_IMAGE" > "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"

echo "Saved manifest to /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
cat "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json" | jq '.'
fi
Comment on lines +122 to +139
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Verify jq path syntax for nested keys with special characters.

The jq query on line 128 uses a nested bracket syntax .["${{ inputs.service }}"].["containerimage.digest"] which has an extra period before the second bracket. This may cause issues.

Proposed fix
-          DIGEST=$(jq -r '.["${{ inputs.service }}"].["containerimage.digest"]' "/tmp/meta.json")
+          DIGEST=$(jq -r '.["${{ inputs.service }}"]["containerimage.digest"]' "/tmp/meta.json")
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if [[ "${{ inputs.publish-image }}" == 'true' ]]; then
SERVICE_SUFFIX=${{ inputs.service == 'rocketchat' && inputs.type == 'coverage' && (github.event_name == 'release' || github.ref == 'refs/heads/develop') && '-cov' || '' }}
mkdir -p /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}
mkdir -p /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}
# Get digest and image info
DIGEST=$(jq -r '.["${{ inputs.service }}"].["containerimage.digest"]' "/tmp/meta.json")
IMAGE_NO_TAG=$(echo "$IMAGE" | sed 's/:.*$//')
FULL_IMAGE="${IMAGE_NO_TAG}@${DIGEST}"
# Get digest and image info
DIGEST=$(jq -r '.["${{ inputs.service }}"].["containerimage.digest"]' "/tmp/meta.json")
IMAGE_NO_TAG=$(echo "$IMAGE" | sed 's/:.*$//')
FULL_IMAGE="${IMAGE_NO_TAG}@${DIGEST}"
echo "Inspecting image: $FULL_IMAGE"
echo "Inspecting image: $FULL_IMAGE"
# Inspect the image and save complete manifest with sizes (using -v for verbose)
docker manifest inspect -v "$FULL_IMAGE" > "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
echo "Saved manifest to /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
cat "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json" | jq '.'
fi
if [[ "${{ inputs.publish-image }}" == 'true' ]]; then
SERVICE_SUFFIX=${{ inputs.service == 'rocketchat' && inputs.type == 'coverage' && (github.event_name == 'release' || github.ref == 'refs/heads/develop') && '-cov' || '' }}
mkdir -p /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}
# Get digest and image info
DIGEST=$(jq -r '.["${{ inputs.service }}"]["containerimage.digest"]' "/tmp/meta.json")
IMAGE_NO_TAG=$(echo "$IMAGE" | sed 's/:.*$//')
FULL_IMAGE="${IMAGE_NO_TAG}@${DIGEST}"
echo "Inspecting image: $FULL_IMAGE"
# Inspect the image and save complete manifest with sizes (using -v for verbose)
docker manifest inspect -v "$FULL_IMAGE" > "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
echo "Saved manifest to /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
cat "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json" | jq '.'
fi
🤖 Prompt for AI Agents
In @.github/actions/build-docker/action.yml around lines 122 - 139, The jq query
used to set DIGEST is malformed: replace the `.["${{ inputs.service
}}"].["containerimage.digest"]` expression with a valid jq path such as `.["${{
inputs.service }}"]["containerimage.digest"]` (or use jq with --arg and access
via .[$svc]["containerimage.digest"]) so the nested key with a dot in its name
is accessed correctly when computing DIGEST.


# Inspect the image and save complete manifest with sizes (using -v for verbose)
docker manifest inspect -v "$FULL_IMAGE" > "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
- name: Save Docker image as artifact
if: inputs.publish-image == 'false' && inputs.arch == 'amd64'
shell: bash
run: |
set -o xtrace

echo "Saved manifest to /tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json"
cat "/tmp/manifests/${{ inputs.service }}${SERVICE_SUFFIX}/${{ inputs.arch }}/manifest.json" | jq '.'
# Get image name from docker-compose-ci.yml
IMAGE=$(docker compose -f docker-compose-ci.yml config --format json 2>/dev/null | jq -r --arg s "${{ inputs.service }}" '.services[$s].image')

# Create directory for image archives
mkdir -p /tmp/docker-images

# Save the image to a tar file
docker save "${IMAGE}" -o "/tmp/docker-images/${{ inputs.service }}-${{ inputs.arch }}-${{ inputs.type }}.tar"

echo "Saved image to /tmp/docker-images/${{ inputs.service }}-${{ inputs.arch }}-${{ inputs.type }}.tar"
ls -lh /tmp/docker-images/

- name: Upload Docker image artifact
if: inputs.publish-image == 'false' && inputs.arch == 'amd64'
uses: actions/upload-artifact@v4
with:
name: docker-image-${{ inputs.service }}-${{ inputs.arch }}-${{ inputs.type }}
path: /tmp/docker-images/${{ inputs.service }}-${{ inputs.arch }}-${{ inputs.type }}.tar
retention-days: 1

- uses: actions/upload-artifact@v4
if: inputs.publish-image == 'true'
if: inputs.publish-image == 'true' && inputs.arch == 'amd64'
with:
name: manifests-${{ inputs.service }}-${{ inputs.arch }}-${{ inputs.type }}
path: /tmp/manifests
Expand Down
38 changes: 27 additions & 11 deletions .github/workflows/ci-test-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ env:
MONGO_URL: mongodb://localhost:27017/rocketchat?replicaSet=rs0&directConnection=true
TOOL_NODE_FLAGS: ${{ vars.TOOL_NODE_FLAGS }}
LOWERCASE_REPOSITORY: ${{ inputs.lowercase-repo }}
DOCKER_TAG: ${{ inputs.gh-docker-tag }}
DOCKER_TAG: ${{ inputs.gh-docker-tag }}-amd64

jobs:
test:
Expand Down Expand Up @@ -139,17 +139,33 @@ jobs:
run: |
tar -xzf /tmp/RocketChat-packages-build.tar.gz -C .

# if we are testing a PR from a fork, we need to build the docker image at this point
- uses: ./.github/actions/build-docker
if: github.event_name == 'pull_request' && (github.event.pull_request.head.repo.full_name != github.repository || github.actor == 'dependabot[bot]')
# Download Docker images from build artifacts
- name: Download Docker images
uses: actions/download-artifact@v7
if: github.event.pull_request.head.repo.full_name != github.repository && github.event_name != 'release' && github.ref != 'refs/heads/develop'
with:
CR_USER: ${{ secrets.CR_USER }}
CR_PAT: ${{ secrets.CR_PAT }}
# the same reason we need to rebuild the docker image at this point is the reason we dont want to publish it
publish-image: false
arch: amd64
service: 'rocketchat'
type: 'coverage'
pattern: ${{ inputs.release == 'ce' && 'docker-image-rocketchat-amd64-coverage' || 'docker-image-*-amd64-coverage' }}
path: /tmp/docker-images
merge-multiple: true
Comment on lines +143 to +149
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, let's check the workflow file and locate all download-artifact usages
cd .github/workflows && cat -n ci-test-e2e.yml | grep -A 2 -B 2 "download-artifact"

Repository: RocketChat/Rocket.Chat

Length of output: 561


🌐 Web query:

actions/download-artifact latest version GitHub

💡 Result:

Latest stable version: actions/download-artifact@v4. [1][2]

Notes: v4 is the current GA release (not cross-compatible with v3); v3 was deprecated for GitHub Actions runners (GHES may still require v3). [1][2]


🌐 Web query:

actions/download-artifact v6 v7 release notes GitHub

💡 Result:

Summary of release notes — actions/download-artifact

  • v6.0.0 — notes: bump of @actions/artifact, README/extraction updates; treated Node.js v24 support as a (breaking) change. [1]
  • v7.0.0 — notes: defaults to Node.js 24 (runs.using: node24), requires Actions Runner >= 2.327.1; GHES guidance updated; fixes including updating @actions/artifact to address Node.js 24 punycode deprecation. [2]

Sources:
[1] actions/download-artifact v6.0.0 release notes.
[2] actions/download-artifact v7.0.0 release notes.


🌐 Web query:

download-artifact action version history releases

💡 Result:

Brief summary — actions/download-artifact version history & release notes:

  • v4: Announced GA Dec 14, 2023 — major rewrite (much faster, job-scoped artifacts, new inputs like pattern/github-token/run-id; v4 is not cross‑compatible with v3+). [1][4]
  • v1 & v2: Marked for deprecation (will stop working after June 30, 2024). [2]
  • v3: Marked for deprecation (will stop working after January 30, 2025). [3]

Notes: v4+ is not yet supported on some GHES releases; artifacts uploaded with v3 or earlier cannot be downloaded with v4. See the v4 migration docs/README for inputs, breaking changes and examples. [1][4]

Sources:
[1] GitHub Changelog — Artifacts v4 GA (Dec 14, 2023).
[2] GitHub Changelog — Deprecation notice: v1 and v2 (Feb 13, 2024).
[3] GitHub Changelog — Deprecation notice: v3 (Apr 16, 2024).
[4] actions/download-artifact README / marketplace/docs (v4 details and breaking changes).


Inconsistent action versions: use actions/download-artifact@v7 consistently.

Line 132 uses actions/download-artifact@v6 while line 144 uses @v7. Both versions are valid, but v7 requires Actions Runner >= 2.327.1. Standardize on v7 across this workflow to avoid version drift and ensure consistent runner requirements.

🤖 Prompt for AI Agents
In @.github/workflows/ci-test-e2e.yml around lines 143 - 149, The workflow mixes
actions/download-artifact@v6 and @v7; standardize to @v7 everywhere (both the
step named "Download Docker images" and the earlier occurrence) so the workflow
consistently requires Actions Runner >= 2.327.1; update the uses entries that
reference actions/download-artifact (including the one at the earlier step
around line ~132 and the "Download Docker images" step) to
actions/download-artifact@v7.


# Load Docker images
- name: Load Docker images
if: github.event.pull_request.head.repo.full_name != github.repository && github.event_name != 'release' && github.ref != 'refs/heads/develop'
shell: bash
run: |
set -o xtrace

# Load all downloaded images
for image_file in /tmp/docker-images/*.tar; do
if [ -f "$image_file" ]; then
echo "Loading image from $image_file"
docker load -i "$image_file"
rm "$image_file"
fi
done

# List loaded images
docker images

- name: Set DEBUG_LOG_LEVEL (debug enabled)
if: runner.debug == '1'
Expand Down
62 changes: 55 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ jobs:
# we only build and publish the actual docker images if not a PR from a fork
- name: Image ${{ matrix.service[0] }}
uses: ./.github/actions/build-docker
if: (github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop') && github.actor != 'dependabot[bot]'
if: github.actor != 'dependabot[bot]'
env:
# add suffix for the extra images with coverage if building for production
DOCKER_TAG_SUFFIX_ROCKETCHAT: ${{ matrix.type == 'coverage' && (github.event_name == 'release' || github.ref == 'refs/heads/develop') && '-cov' || '' }}
Expand All @@ -325,10 +325,11 @@ jobs:
arch: ${{ matrix.arch }}
service: ${{ matrix.service[0] }}
type: ${{ matrix.type }}
publish-image: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop' }}

- name: Image ${{ matrix.service[1] || '"skipped"' }}
uses: ./.github/actions/build-docker
if: matrix.service[1] && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop') && github.actor != 'dependabot[bot]'
if: matrix.service[1] && github.actor != 'dependabot[bot]'
env:
DOCKER_TAG_SUFFIX_ROCKETCHAT: ${{ matrix.type == 'coverage' && '-cov' || '' }}
with:
Expand All @@ -338,11 +339,12 @@ jobs:
arch: ${{ matrix.arch }}
service: ${{ matrix.service[1] }}
type: ${{ matrix.type }}
publish-image: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop' }}
setup-docker: false

- name: Image ${{ matrix.service[2] || '"skipped"' }}
uses: ./.github/actions/build-docker
if: matrix.service[2] && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop') && github.actor != 'dependabot[bot]'
if: matrix.service[2] && github.actor != 'dependabot[bot]'
env:
DOCKER_TAG_SUFFIX_ROCKETCHAT: ${{ matrix.type == 'coverage' && '-cov' || '' }}
with:
Expand All @@ -352,11 +354,12 @@ jobs:
arch: ${{ matrix.arch }}
service: ${{ matrix.service[2] }}
type: ${{ matrix.type }}
publish-image: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop' }}
setup-docker: false

- name: Image ${{ matrix.service[3] || '"skipped"' }}
uses: ./.github/actions/build-docker
if: matrix.service[3] && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop') && github.actor != 'dependabot[bot]'
if: matrix.service[3] && github.actor != 'dependabot[bot]'
env:
DOCKER_TAG_SUFFIX_ROCKETCHAT: ${{ matrix.type == 'coverage' && '-cov' || '' }}
with:
Expand All @@ -366,6 +369,7 @@ jobs:
arch: ${{ matrix.arch }}
service: ${{ matrix.service[3] }}
type: ${{ matrix.type }}
publish-image: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'release' || github.ref == 'refs/heads/develop' }}
setup-docker: false

build-gh-docker-publish:
Expand Down Expand Up @@ -452,6 +456,7 @@ jobs:

- name: Track Docker image sizes
uses: ./.github/actions/docker-image-size-tracker
if: github.actor != 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
Expand Down Expand Up @@ -611,7 +616,7 @@ jobs:
test-federation-matrix:
name: 🔨 Test Federation Matrix
needs: [checks, build-gh-docker-publish, packages-build, release-versions]
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -649,14 +654,57 @@ jobs:
sudo -- sh -c "echo '127.0.0.1 hs1' >> /etc/hosts"
sudo -- sh -c "echo '127.0.0.1 rc1' >> /etc/hosts"

# Download Docker images from build artifacts
- name: Download Docker images
uses: actions/download-artifact@v7
if: github.event.pull_request.head.repo.full_name != github.repository && github.event_name != 'release' && github.ref != 'refs/heads/develop'
with:
pattern: 'docker-image-rocketchat-amd64-coverage'
path: /tmp/docker-images
merge-multiple: true

# Load Docker images
- name: Load Docker images
if: github.event.pull_request.head.repo.full_name != github.repository && github.event_name != 'release' && github.ref != 'refs/heads/develop'
shell: bash
run: |
set -o xtrace

# Load all downloaded images
for image_file in /tmp/docker-images/*.tar; do
if [ -f "$image_file" ]; then
echo "Loading image from $image_file"
docker load -i "$image_file"
rm "$image_file"
fi
done

# List loaded images
docker images

Comment on lines +657 to +684
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Check all download-artifact usages with their versions in ci.yml
rg -n 'actions/download-artifact@' .github/workflows/ci.yml

Repository: RocketChat/Rocket.Chat

Length of output: 394


🏁 Script executed:

# Check the build-docker action for upload-artifact patterns
rg -n -C3 'upload-artifact|artifact.*name' .github/actions/build-docker/action.yml

Repository: RocketChat/Rocket.Chat

Length of output: 691


Align actions/download-artifact version to v6 for consistency.

Line 659 uses actions/download-artifact@v7, while all other download-artifact steps in this workflow (lines 304, 403, 635, 722, 817, 888) use @v6. Update line 659 to use @v6 to maintain consistency across the workflow.

🤖 Prompt for AI Agents
In @.github/workflows/ci.yml around lines 657 - 684, The "Download Docker
images" workflow step currently references actions/download-artifact@v7; change
it to actions/download-artifact@v6 to match other download-artifact steps for
consistency—update the uses value in the step named "Download Docker images"
(the step that sets pattern: 'docker-image-rocketchat-amd64-coverage' and path:
/tmp/docker-images) from @v7 to @v6.

- name: Run federation integration tests with pre-built image
working-directory: ./ee/packages/federation-matrix
env:
ROCKETCHAT_IMAGE: ghcr.io/${{ needs.release-versions.outputs.lowercase-repo }}/rocket.chat:${{ needs.release-versions.outputs.gh-docker-tag }}
ENTERPRISE_LICENSE_RC1: ${{ secrets.ENTERPRISE_LICENSE_RC1 }}
ROCKETCHAT_IMAGE: ghcr.io/${{ needs.release-versions.outputs.lowercase-repo }}/rocket.chat:${{ needs.release-versions.outputs.gh-docker-tag }}-amd64
ENTERPRISE_LICENSE_RC1: ZAikY+LLaal7mT6RNYxpyWEmMQyucrl50/7pYBXqHczc90j+RLwF+T0xuCT2pIpKMC5DxcZ1TtkV6MYJk5whrwmap+mQ0FV+VpILJlL0i4T21K4vMfzZXTWm/pzcAy2fMTUNH+mUA9HTBD6lYYh40KnbGXPAd80VbZk0MO/WbWBm2dOT0YCwfvlRyurRqkDAQrftLaffzCNUsMKk0fh+MKs73UDHZQDp1yvs7WoGpPu5ZVi5mTBOt3ZKVz5KjGfClLwJptFPmW1w6nKelAiJBDPpjcX1ylfjxpnBoixko7uN52zlyaeoAYwfRcdDLnZ8k0Ou6tui/vTQUXjGIjHw2AhMaKwonn4E9LYpuA1KEXt08qJL5J3ZtjSCV1T+A9Z3zFhhLgp5dxP/PPUbxDn/P8XKp7nXM9duIfcCMlnea7V8ixEyCHwwvKQaXVVidcsUGtB8CwS0GlsAEBLOzqMehuQUK2rdQ4WgEz3AYveikeVvSzgBHvyXsxssWAThc0Mht0eEJqdDhUB2QeZ2WmPsaSSD639Z4WgjSUoR0zh8bfqepH+2XRcUryXe2yN+iU+3POzi9wfg0k65MxXT8pBg3PD5RHnR8oflEP0tpZts33JiBhYRxX3MKplAFm4dMuphTsDJTh+e534pT7IPuZF79QSVaLEWZfVVVb7nGFtmMwA=
QASE_TESTOPS_JEST_API_TOKEN: ${{ secrets.QASE_TESTOPS_JEST_API_TOKEN }}
run: yarn test:integration --image "${ROCKETCHAT_IMAGE}"

- name: Show rc server logs if tests failed
if: failure()
working-directory: ./ee/packages/federation-matrix
run: docker compose -f docker-compose.test.yml logs rc1-prebuilt

- name: Show hs server logs if tests failed
if: failure()
working-directory: ./ee/packages/federation-matrix
run: docker compose -f docker-compose.test.yml logs hs1

- name: Show mongo logs if tests failed
if: failure()
working-directory: ./ee/packages/federation-matrix
run: docker compose -f docker-compose.test.yml logs mongo

report-coverage:
name: 📊 Report Coverage
runs-on: ubuntu-24.04
Expand Down
2 changes: 1 addition & 1 deletion ee/apps/account-service/src/lib/loginViaUsername.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export async function loginViaUsername(
return false;
}

const valid = user.services?.password?.bcrypt && validatePassword(password, user.services.password.bcrypt);
const valid = user.services?.password?.bcrypt && (await validatePassword(password, user.services.password.bcrypt));
if (!valid) {
return false;
}
Expand Down
2 changes: 1 addition & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10748,7 +10748,7 @@ __metadata:
peerDependencies:
"@rocket.chat/layout": "*"
"@rocket.chat/tools": 0.2.3
"@rocket.chat/ui-contexts": 25.0.1
"@rocket.chat/ui-contexts": 25.0.2
"@tanstack/react-query": "*"
react: "*"
react-hook-form: "*"
Expand Down
Loading