Skip to content

Commit

Permalink
Merge branch 'develop' into chore/remove-allowed-routes-for-deprecate…
Browse files Browse the repository at this point in the history
…d-query-and-fields
  • Loading branch information
ricardogarim authored Oct 19, 2024
2 parents 15e96d0 + 429d000 commit c5c305e
Show file tree
Hide file tree
Showing 296 changed files with 5,984 additions and 2,309 deletions.
8 changes: 8 additions & 0 deletions .changeset/e2ee-modal-keys.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@rocket.chat/meteor": major
"@rocket.chat/i18n": patch
---

Adds modal confirmation to enable and disable End-to-end encryption

Adds a reset room key option to the modal that disables End-to-end encryption, this is useful when all the members of a room lose their room E2EE keys
8 changes: 8 additions & 0 deletions .changeset/fifty-mails-admire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@rocket.chat/web-ui-registration': patch
"@rocket.chat/meteor": major
---

Login services button was not respecting the button color and text color settings. Implemented a fix to respect these settings and change the button colors accordingly.

Added a warning on all settings which allow admins to change OAuth button colors, so that they can be alerted about WCAG (Web Content Accessibility Guidelines) compliance.
6 changes: 6 additions & 0 deletions .changeset/five-suns-tickle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/i18n': minor
'@rocket.chat/meteor': minor
---

Adds `Recent` button on the new sidebar Search section to replicate the previous behavior of focusing the search bar - show recent chats.
5 changes: 5 additions & 0 deletions .changeset/giant-spiders-train.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---

---

Adds `accessory` properties to `CalloutBlock`
14 changes: 14 additions & 0 deletions .changeset/khaki-boxes-suffer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
'@rocket.chat/fuselage-ui-kit': minor
'@rocket.chat/ui-theming': minor
'@rocket.chat/ui-video-conf': minor
'@rocket.chat/uikit-playground': minor
'@rocket.chat/ui-composer': minor
'@rocket.chat/gazzodown': minor
'@rocket.chat/ui-avatar': minor
'@rocket.chat/ui-client': minor
'@rocket.chat/ui-voip': minor
'@rocket.chat/meteor': minor
---

Adds ability to collapse/expand sidebar groups
7 changes: 7 additions & 0 deletions .changeset/little-gifts-do.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@rocket.chat/meteor": major
"@rocket.chat/i18n": major
"@rocket.chat/license": major
---

Adds restrictions to air-gapped environments without a license
6 changes: 6 additions & 0 deletions .changeset/perfect-wolves-impress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/rest-typings': major
'@rocket.chat/meteor': major
---

Changes custom emoji listing endpoint by moving query params from the 'query' attribute to standard query parameters.
5 changes: 5 additions & 0 deletions .changeset/real-plants-mix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

Fixes E2EE not rendering new navigation feature preview
8 changes: 8 additions & 0 deletions .changeset/six-horses-sin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@rocket.chat/meteor": patch
---


Changes the default base Docker image to Alpine. Previously we were shipping Alpine as an alternative flavor under the tag rocketchat/rocket.chat:{release}.alpine , we have been testing this for a while now so we're migrating to use the official one to Alpine.

We'll still ship a Debian variant under the tag rocketchat/rocket.chat:{release}.debian.
5 changes: 5 additions & 0 deletions .changeset/tame-dolls-know.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

Fixes message toolbar showing in End-to-end encrypted room when messages are not decrypted
6 changes: 6 additions & 0 deletions .changeset/tender-turkeys-breathe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@rocket.chat/meteor": major
"@rocket.chat/i18n": patch
---

Updates End-to-end settings translations and removes beta wording
8 changes: 8 additions & 0 deletions .changeset/three-crews-allow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@rocket.chat/core-typings': minor
'@rocket.chat/apps-engine': minor
'@rocket.chat/license': minor
'@rocket.chat/meteor': minor
---

Added support for interacting with add-ons issued in the license
6 changes: 6 additions & 0 deletions .changeset/tidy-suns-move.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@rocket.chat/meteor": feat
"@rocket.chat/i18n": feat
---

Introduces new visual components into marketplace pages to inform an add-on necessity into the workspace.
7 changes: 7 additions & 0 deletions .changeset/two-emus-wash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@rocket.chat/core-typings': major
'@rocket.chat/rest-typings': major
'@rocket.chat/meteor': major
---

Changes the payload of the startImport endpoint to decrease the amount of data it requires
2 changes: 1 addition & 1 deletion .github/actions/build-docker-image/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ runs:
fi;
DOCKERFILE_PATH="${DOCKER_PATH}/Dockerfile"
if [[ '${{ inputs.release }}' = 'alpine' ]]; then
if [[ '${{ inputs.release }}' = 'debian' ]]; then
DOCKERFILE_PATH="${DOCKERFILE_PATH}.${{ inputs.release }}"
fi;
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/build-docker/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ runs:
- run: yarn build
if: inputs.setup == 'true'
shell: bash
- if: ${{ inputs.platform == 'official' }}
uses: actions/cache@v3
with:
path: /tmp/build/matrix-sdk-crypto.linux-x64-musl.node
key: matrix-rust-sdk-crypto-nodejs-v0.2.0-beta.1

- name: Build Docker images
shell: bash
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/ci-test-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ on:
rc-docker-tag:
required: true
type: string
rc-dockerfile-alpine:
rc-dockerfile-debian:
required: true
type: string
rc-docker-tag-alpine:
rc-docker-tag-debian:
required: true
type: string
gh-docker-tag:
Expand Down Expand Up @@ -83,16 +83,16 @@ jobs:
test:
runs-on: ubuntu-20.04
env:
RC_DOCKERFILE: ${{ matrix.mongodb-version == '7.0' && inputs.rc-dockerfile-alpine || inputs.rc-dockerfile }}
RC_DOCKER_TAG: ${{ matrix.mongodb-version == '7.0' && inputs.rc-docker-tag-alpine || inputs.rc-docker-tag }}
RC_DOCKERFILE: ${{ matrix.mongodb-version == '7.0' && inputs.rc-dockerfile-debian || inputs.rc-dockerfile }}
RC_DOCKER_TAG: ${{ matrix.mongodb-version == '7.0' && inputs.rc-docker-tag-debian || inputs.rc-docker-tag }}

strategy:
fail-fast: false
matrix:
mongodb-version: ${{ fromJSON(inputs.mongodb-version) }}
shard: ${{ fromJSON(inputs.shard) }}

name: MongoDB ${{ matrix.mongodb-version }}${{ inputs.db-watcher-disabled == 'true' && ' [no watchers]' || '' }} (${{ matrix.shard }}/${{ inputs.total-shard }})${{ matrix.mongodb-version == '7.0' && ' - Alpine' || '' }}
name: MongoDB ${{ matrix.mongodb-version }}${{ inputs.db-watcher-disabled == 'true' && ' [no watchers]' || '' }} (${{ matrix.shard }}/${{ inputs.total-shard }}) - ${{ matrix.mongodb-version == '7.0' && 'Debian' || 'Alpine (Official)' }}

steps:
- name: Collect Workflow Telemetry
Expand Down
104 changes: 79 additions & 25 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,13 @@ on:
types: [published]
pull_request:
branches: '**'
paths-ignore:
- '**.md'
push:
branches:
- develop
paths-ignore:
- '**.md'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
Expand All @@ -28,8 +32,8 @@ jobs:
lowercase-repo: ${{ steps.var.outputs.lowercase-repo }}
rc-dockerfile: '${{ github.workspace }}/apps/meteor/.docker/Dockerfile'
rc-docker-tag: '${{ steps.docker.outputs.gh-docker-tag }}.official'
rc-dockerfile-alpine: '${{ github.workspace }}/apps/meteor/.docker/Dockerfile.alpine'
rc-docker-tag-alpine: '${{ steps.docker.outputs.gh-docker-tag }}.alpine'
rc-dockerfile-debian: '${{ github.workspace }}/apps/meteor/.docker/Dockerfile.debian'
rc-docker-tag-debian: '${{ steps.docker.outputs.gh-docker-tag }}.debian'
node-version: ${{ steps.var.outputs.node-version }}
deno-version: ${{ steps.var.outputs.deno-version }}
# this is 100% intentional, secrets are not available for forks, so ee-tests will always fail
Expand Down Expand Up @@ -280,21 +284,66 @@ jobs:
deno-version: ${{ needs.release-versions.outputs.deno-version }}
coverage: ${{ github.event_name != 'release' }}

# TODO: this should go away once upstream builds are fixed
build-matrix-rust-bindings-for-alpine:
name: Builds matrix rust bindings against alpine
runs-on: ubuntu-latest
steps:
- name: check cache for matrix-rust-sdk-crypto-nodejs
id: matrix-rust-sdk-crypto-nodejs
uses: actions/cache@v3
with:
path: /tmp/build/matrix-sdk-crypto.linux-x64-musl.node
key: matrix-rust-sdk-crypto-nodejs-v0.2.0-beta.1

- uses: actions/checkout@v4
with:
repository: matrix-org/matrix-rust-sdk-crypto-nodejs
ref: v0.2.0-beta.1 # https://github.com/element-hq/matrix-bot-sdk/blob/e72a4c498e00c6c339a791630c45d00a351f56a8/package.json#L58

- if: steps.matrix-rust-sdk-crypto-nodejs.outputs.cache-hit != 'true'
run: sudo apt-get install -y musl-tools libunwind-dev && find /usr/include -name stdarg.h 2>/dev/null || true

- if: steps.matrix-rust-sdk-crypto-nodejs.outputs.cache-hit != 'true'
uses: actions/setup-node@v4
with:
node-version: '20'

- if: steps.matrix-rust-sdk-crypto-nodejs.outputs.cache-hit != 'true'
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: x86_64-unknown-linux-musl

- if: steps.matrix-rust-sdk-crypto-nodejs.outputs.cache-hit != 'true'
name: Install ziglang
uses: mlugg/setup-zig@v1
with:
version: 0.13.0

- if: steps.matrix-rust-sdk-crypto-nodejs.outputs.cache-hit != 'true'
name: Build
run: |
npm install --ignore-scripts
npx napi build --release --target x86_64-unknown-linux-musl --platform --zig
mkdir -p /tmp/build
mv matrix-sdk-crypto.linux-x64-musl.node /tmp/build/matrix-sdk-crypto.linux-x64-musl.node
build-gh-docker-coverage:
name: 🚢 Build Docker Images for Testing
needs: [build, release-versions]
needs: [build, release-versions, build-matrix-rust-bindings-for-alpine]
runs-on: ubuntu-20.04

env:
RC_DOCKERFILE: ${{ matrix.platform == 'alpine' && needs.release-versions.outputs.rc-dockerfile-alpine || needs.release-versions.outputs.rc-dockerfile }}
RC_DOCKER_TAG: ${{ matrix.platform == 'alpine' && needs.release-versions.outputs.rc-docker-tag-alpine || needs.release-versions.outputs.rc-docker-tag }}
RC_DOCKERFILE: ${{ matrix.platform == 'debian' && needs.release-versions.outputs.rc-dockerfile-debian || needs.release-versions.outputs.rc-dockerfile }}
RC_DOCKER_TAG: ${{ matrix.platform == 'debian' && needs.release-versions.outputs.rc-docker-tag-debian || needs.release-versions.outputs.rc-docker-tag }}
DOCKER_TAG: ${{ needs.release-versions.outputs.gh-docker-tag }}
LOWERCASE_REPOSITORY: ${{ needs.release-versions.outputs.lowercase-repo }}

strategy:
fail-fast: false
matrix:
platform: ['official', 'alpine']
platform: ['official', 'debian']

steps:
- uses: actions/checkout@v4
Expand All @@ -308,24 +357,29 @@ jobs:
node-version: ${{ needs.release-versions.outputs.node-version }}
deno-version: ${{ needs.release-versions.outputs.deno-version }}
platform: ${{ matrix.platform }}
build-containers: ${{ matrix.platform == 'alpine' && 'authorization-service account-service ddp-streamer-service presence-service stream-hub-service queue-worker-service omnichannel-transcript-service' || '' }}
build-containers: ${{ matrix.platform == 'debian' && 'authorization-service account-service ddp-streamer-service presence-service stream-hub-service queue-worker-service omnichannel-transcript-service' || '' }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Make sure matrix bindings load
if: ${{ matrix.platform == 'alpine' }}
run: |
docker run --rm -w /app/bundle/programs/server/npm/node_modules/matrix-appservice-bridge ghcr.io/rocketchat/rocket.chat:$RC_DOCKER_TAG -e 'require(".")'
build-gh-docker:
name: 🚢 Build Docker Images for Production
needs: [build-prod, release-versions]
runs-on: ubuntu-20.04

env:
RC_DOCKERFILE: ${{ matrix.platform == 'alpine' && needs.release-versions.outputs.rc-dockerfile-alpine || needs.release-versions.outputs.rc-dockerfile }}
RC_DOCKER_TAG: ${{ matrix.platform == 'alpine' && needs.release-versions.outputs.rc-docker-tag-alpine || needs.release-versions.outputs.rc-docker-tag }}
RC_DOCKERFILE: ${{ matrix.platform == 'debian' && needs.release-versions.outputs.rc-dockerfile-debian || needs.release-versions.outputs.rc-dockerfile }}
RC_DOCKER_TAG: ${{ matrix.platform == 'debian' && needs.release-versions.outputs.rc-docker-tag-debian || needs.release-versions.outputs.rc-docker-tag }}
DOCKER_TAG: ${{ needs.release-versions.outputs.gh-docker-tag }}
LOWERCASE_REPOSITORY: ${{ needs.release-versions.outputs.lowercase-repo }}

strategy:
fail-fast: false
matrix:
platform: ['official', 'alpine']
platform: ['official', 'debian']

steps:
- uses: actions/checkout@v4
Expand All @@ -337,7 +391,7 @@ jobs:
node-version: ${{ needs.release-versions.outputs.node-version }}
deno-version: ${{ needs.release-versions.outputs.deno-version }}
platform: ${{ matrix.platform }}
build-containers: ${{ matrix.platform == 'alpine' && 'authorization-service account-service ddp-streamer-service presence-service stream-hub-service queue-worker-service omnichannel-transcript-service' || '' }}
build-containers: ${{ matrix.platform == 'debian' && 'authorization-service account-service ddp-streamer-service presence-service stream-hub-service queue-worker-service omnichannel-transcript-service' || '' }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Rename official Docker tag to GitHub Container Registry
Expand Down Expand Up @@ -383,8 +437,8 @@ jobs:
lowercase-repo: ${{ needs.release-versions.outputs.lowercase-repo }}
rc-dockerfile: ${{ needs.release-versions.outputs.rc-dockerfile }}
rc-docker-tag: ${{ needs.release-versions.outputs.rc-docker-tag }}
rc-dockerfile-alpine: ${{ needs.release-versions.outputs.rc-dockerfile-alpine }}
rc-docker-tag-alpine: ${{ needs.release-versions.outputs.rc-docker-tag-alpine }}
rc-dockerfile-debian: ${{ needs.release-versions.outputs.rc-dockerfile-debian }}
rc-docker-tag-debian: ${{ needs.release-versions.outputs.rc-docker-tag-debian }}
gh-docker-tag: ${{ needs.release-versions.outputs.gh-docker-tag }}
secrets:
CR_USER: ${{ secrets.CR_USER }}
Expand All @@ -407,8 +461,8 @@ jobs:
lowercase-repo: ${{ needs.release-versions.outputs.lowercase-repo }}
rc-dockerfile: ${{ needs.release-versions.outputs.rc-dockerfile }}
rc-docker-tag: ${{ needs.release-versions.outputs.rc-docker-tag }}
rc-dockerfile-alpine: ${{ needs.release-versions.outputs.rc-dockerfile-alpine }}
rc-docker-tag-alpine: ${{ needs.release-versions.outputs.rc-docker-tag-alpine }}
rc-dockerfile-debian: ${{ needs.release-versions.outputs.rc-dockerfile-debian }}
rc-docker-tag-debian: ${{ needs.release-versions.outputs.rc-docker-tag-debian }}
gh-docker-tag: ${{ needs.release-versions.outputs.gh-docker-tag }}
retries: ${{ (github.event_name == 'release' || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master') && 2 || 0 }}
secrets:
Expand All @@ -435,8 +489,8 @@ jobs:
lowercase-repo: ${{ needs.release-versions.outputs.lowercase-repo }}
rc-dockerfile: ${{ needs.release-versions.outputs.rc-dockerfile }}
rc-docker-tag: ${{ needs.release-versions.outputs.rc-docker-tag }}
rc-dockerfile-alpine: ${{ needs.release-versions.outputs.rc-dockerfile-alpine }}
rc-docker-tag-alpine: ${{ needs.release-versions.outputs.rc-docker-tag-alpine }}
rc-dockerfile-debian: ${{ needs.release-versions.outputs.rc-dockerfile-debian }}
rc-docker-tag-debian: ${{ needs.release-versions.outputs.rc-docker-tag-debian }}
gh-docker-tag: ${{ needs.release-versions.outputs.gh-docker-tag }}
secrets:
CR_USER: ${{ secrets.CR_USER }}
Expand All @@ -460,8 +514,8 @@ jobs:
lowercase-repo: ${{ needs.release-versions.outputs.lowercase-repo }}
rc-dockerfile: ${{ needs.release-versions.outputs.rc-dockerfile }}
rc-docker-tag: ${{ needs.release-versions.outputs.rc-docker-tag }}
rc-dockerfile-alpine: ${{ needs.release-versions.outputs.rc-dockerfile-alpine }}
rc-docker-tag-alpine: ${{ needs.release-versions.outputs.rc-docker-tag-alpine }}
rc-dockerfile-debian: ${{ needs.release-versions.outputs.rc-dockerfile-debian }}
rc-docker-tag-debian: ${{ needs.release-versions.outputs.rc-docker-tag-debian }}
gh-docker-tag: ${{ needs.release-versions.outputs.gh-docker-tag }}
retries: ${{ (github.event_name == 'release' || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master') && 2 || 0 }}
secrets:
Expand Down Expand Up @@ -491,8 +545,8 @@ jobs:
lowercase-repo: ${{ needs.release-versions.outputs.lowercase-repo }}
rc-dockerfile: ${{ needs.release-versions.outputs.rc-dockerfile }}
rc-docker-tag: ${{ needs.release-versions.outputs.rc-docker-tag }}
rc-dockerfile-alpine: ${{ needs.release-versions.outputs.rc-dockerfile-alpine }}
rc-docker-tag-alpine: ${{ needs.release-versions.outputs.rc-docker-tag-alpine }}
rc-dockerfile-debian: ${{ needs.release-versions.outputs.rc-dockerfile-debian }}
rc-docker-tag-debian: ${{ needs.release-versions.outputs.rc-docker-tag-debian }}
gh-docker-tag: ${{ needs.release-versions.outputs.gh-docker-tag }}
retries: ${{ (github.event_name == 'release' || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master') && 2 || 0 }}
db-watcher-disabled: 'true'
Expand Down Expand Up @@ -637,7 +691,7 @@ jobs:
strategy:
matrix:
# this is currently a mix of variants and different images
release: ['official', 'preview', 'alpine']
release: ['official', 'preview', 'debian']

env:
IMAGE_NAME: 'rocketchat/rocket.chat'
Expand Down Expand Up @@ -683,7 +737,7 @@ jobs:
DOCKER_TAG=$GITHUB_REF_NAME
# append the variant name to docker tag
if [[ '${{ matrix.release }}' = 'alpine' ]]; then
if [[ '${{ matrix.release }}' = 'debian'] ]]; then
DOCKER_TAG="${DOCKER_TAG}-${{ matrix.release }}"
fi;
Expand All @@ -698,7 +752,7 @@ jobs:
if [[ $GITHUB_REF == refs/tags/* ]]; then
RELEASE="${{ needs.release-versions.outputs.release }}"
if [[ '${{ matrix.release }}' = 'alpine' ]]; then
if [[ '${{ matrix.release }}' = 'debian' ]]; then
RELEASE="${RELEASE}-${{ matrix.release }}"
fi;
Expand All @@ -723,7 +777,7 @@ jobs:
TAG_SHA="${{ steps.gh-docker.outputs.gh-docker-tag-sha }}"
# append the variant name to docker tag
if [[ '${{ matrix.release }}' = 'alpine' ]]; then
if [[ '${{ matrix.release }}' = 'debian'] ]]; then
TAG_SHA="${TAG_SHA}-${{ matrix.release }}"
fi;
Expand Down
Loading

0 comments on commit c5c305e

Please sign in to comment.