Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
ff615ea
chore(sha256): Review build configuration (#37923)
tassoevan Dec 22, 2025
cfea98d
chore(presence): Review build configuration (#37926)
tassoevan Dec 22, 2025
0f6159d
chore(core-services): Review build configuration (#37925)
tassoevan Dec 22, 2025
d7924d3
chore(deps): bump actions/upload-artifact from 5 to 6 (#37917)
dependabot[bot] Dec 22, 2025
d48c635
chore(ci): update coverage configuration in CI workflow (#37931)
ggazzo Dec 23, 2025
9d65630
Merge remote-tracking branch 'origin/release-8.0.0' into develop
ggazzo Dec 23, 2025
398c458
chore: update package versions to 8.1.0-develop
ggazzo Dec 23, 2025
60d2019
chore: update version check for user audit deprecation handling
ggazzo Dec 23, 2025
5be5362
chore: update api breaking changes version check to 9.0.0
ggazzo Dec 23, 2025
a8a84ab
chore: InitialData & serverRunning to TS (#37929)
KevLehman Dec 23, 2025
108f7f5
test: Reorg modal page objects (#37871)
dougfabris Dec 24, 2025
f29a04e
chore: Logging (#37956)
KevLehman Dec 25, 2025
5fa1509
fix: guest room limit incorrectly counting DMs (#37919)
ricardogarim Dec 26, 2025
c805070
feat: update name references on oauth login (#37954)
pierre-lehnen-rc Dec 26, 2025
af0600c
test: Replace `data-qa` by accessible locators (#36757)
juliajforesti Dec 29, 2025
e1e6f7b
chore: improve handling of unused streams on media calls (#37921)
pierre-lehnen-rc Dec 29, 2025
17ed52a
test: remove homepage `data-qa` attributes (#38004)
juliajforesti Dec 30, 2025
385f795
fix: CI for external PRs (#38030)
rodrigok Dec 31, 2025
d3511ea
fix: User roles showing on the message header after opening user card…
gabriellsh Dec 31, 2025
c6ace77
fix(CI): expired enterprise license for rc1 domain (#38051)
rodrigok Jan 6, 2026
5ff2596
test: remove `data-qa-setting-id` locators (#38002)
juliajforesti Jan 7, 2026
cbcff00
test: Flaky `SLAs` test due to name collision (#38078)
KevLehman Jan 7, 2026
b801150
chore: Uncontrolled input changing to controlled in EmailInboxForm (…
Anshumancanrock Jan 7, 2026
0eae6ac
i18n: Rocket.Chat language update from Lingohub 🤖 on 2026-01-05Z (#38…
lingohub[bot] Jan 7, 2026
978db00
fix: Remove the delay of waiting on event on WS to consider a message…
geekgonecrazy Jan 7, 2026
93337d0
test: Prevent multi element assertion error in toast messages (#38065)
dougfabris Jan 7, 2026
6654c5b
fix: prevent premium capability popup when enterprise license is alre…
ricardogarim Jan 7, 2026
1b92c17
chore(deps): bump `qs` (#38034)
julio-rocketchat Jan 7, 2026
f6d33a9
chore: `chat.update` response validation throwing error in dev mode (…
cardoso Jan 7, 2026
e639382
fix: broken transcript with multiple files per message (#38064)
juliajforesti Jan 7, 2026
e3fe764
feat: add environment variable to disable statistics reporting (#38020)
ricardogarim Jan 7, 2026
f837394
chore: Adapt logs to object format - 2 (#38001)
KevLehman Jan 7, 2026
a1dee4e
fix: `ReadableStream` not handling error properly (#38081)
dougfabris Jan 7, 2026
5c3c52b
feat: hide unconfirmed uploads from room's file list (#38077)
pierre-lehnen-rc Jan 8, 2026
7d86bc9
fix: changed auth of users.getAvatar endpoint (#38088)
yasnagat Jan 8, 2026
719b85a
feat: enable password policy by default and increase `MinLength` (#38…
julio-rocketchat Jan 8, 2026
69aa0bd
chore: Improve incoming webhook logging & add middleware (#37948)
KevLehman Jan 8, 2026
c42bb36
fix: Browser slowdown when multiple tabs are open (#37660)
cardoso Jan 8, 2026
d91fb46
test: Refactor abac tests to reduce working time (#38015)
KevLehman Jan 8, 2026
4211011
fix: Prevent words from breaking mid-character in user card's bio (#3…
dodaa08 Jan 8, 2026
8b2a50d
fix: `transferToAgent` doesn't stop on transfer failure (#38061)
KevLehman Jan 8, 2026
e39ab9b
test: replace `data-qa` attributes for Autocomplete locators (#38029)
juliajforesti Jan 8, 2026
e9a46d8
chore: make Prune Messages read from `message.files` as well (#38084)
pierre-lehnen-rc Jan 8, 2026
05c415b
fix: thumbnails are not removed when a file is deleted automatically …
pierre-lehnen-rc Jan 9, 2026
7fd6b3e
Merge remote-tracking branch 'origin/master' into develop
ggazzo Jan 12, 2026
020dfbc
fix: deleting a message with multiple files doesn't delete every file…
pierre-lehnen-rc Jan 12, 2026
3e54a03
test: Reorg composer page objects (#38104)
juliajforesti Jan 12, 2026
228499e
chore: Adapt logs to object format - 3 (#38111)
KevLehman Jan 12, 2026
c5f7dcb
chore: add index for the `files` attribute on the messages collection…
pierre-lehnen-rc Jan 13, 2026
0bd848c
fix: Variable shadowing preventing new visitor registration in livech…
harshjdhv Jan 13, 2026
7bd5853
chore: Remove typedJson and move isTruthy to tools package (#38131)
KevLehman Jan 13, 2026
0008ed2
test: transformMappedData unit tests implementation (#38168)
nazabucciarelli Jan 13, 2026
076c433
chore: Remove old message-box css (#38128)
dougfabris Jan 14, 2026
28a8d39
fix: honor empty SAML Custom Authn Context (#38119)
cardoso Jan 14, 2026
066b295
fix: add statistics update in startup (#38127)
nazabucciarelli Jan 14, 2026
3de2642
chore: refactor listeners.js to typescript (#37985)
d-gubert Jan 14, 2026
46383a6
chore(federation): unify Docker Compose RC containers (#38187)
sampaiodiego Jan 14, 2026
cfca170
chore: Adapt logs to object format (#38181)
KevLehman Jan 14, 2026
c547985
fix(apps): reduce memory usage on apps-engine IPreFileUpload event (#…
d-gubert Jan 15, 2026
1c7066f
fix: saving custom status without changes breaks the UI (#38186)
juliajforesti Jan 15, 2026
79f656f
fix: hide workspace registration status from users without manage-clo…
ricardogarim Jan 15, 2026
f65d055
chore: Adapt logs to object format (#38204)
KevLehman Jan 15, 2026
30a28d6
chore: Remove debug flag from Jest configuration and adjust error han…
ggazzo Jan 15, 2026
f4fa393
fix: add multiple file support to /sendEmailAttachment (#38183)
ricardogarim Jan 15, 2026
a7dc77a
i18n: fix typo in en.i18n.json (#37978)
dhruvDev23 Jan 15, 2026
58cd4ce
refactor: Phase-out async state API (#37944)
tassoevan Jan 15, 2026
16d02c8
refactor(eslint): Enable `react/no-children-prop` (#38170)
tassoevan Jan 16, 2026
20e4ed3
chore(deps): remove unused bytebuffer (#38199)
cardoso Jan 16, 2026
68b04f3
chore: improve webrtc negotiation timeouts (#38191)
pierre-lehnen-rc Jan 16, 2026
0a998a0
chore(deps): Upgrade Yarn and turbo (#38212)
tassoevan Jan 16, 2026
ecf52b6
refactor(deps): Upgrade Zod (#38193)
tassoevan Jan 16, 2026
ccd7694
fix: prevent file content buffering in user uploads (#38071)
ricardogarim Jan 16, 2026
7b51ba8
feat: OEmbed async processing (#38151)
KevLehman Jan 16, 2026
8ecbbaf
chore: Use `streamToBuffer` from `@rocket.chat/tools` (#38220)
KevLehman Jan 16, 2026
2b7dcc6
fix: HTTP query string params array parsing (#38222)
sampaiodiego Jan 16, 2026
9a20563
fix: make email notifications support multiple files (#38184)
ricardogarim Jan 17, 2026
a9bbb5e
chore: Add logs page deprecation warning on Analytics Report page (#3…
gabriellsh Jan 17, 2026
a7b87fe
chore: Adapt logs to new object format (#38207)
KevLehman Jan 17, 2026
37e7b75
chore: Replace `useSafeRefCallback` from ui-client with fuselage-hook…
gabriellsh Jan 17, 2026
f51e395
refactor: Decouple `useDirectMessageAction` from `RoomContext` and ex…
gabriellsh Jan 17, 2026
7819573
chore: improve handling of microphone stream (#38223)
pierre-lehnen-rc Jan 17, 2026
f12402e
fix: Switch to get the total available heap size from v8 (#38192)
geekgonecrazy Jan 19, 2026
13fa8d1
refactor: Update `Message` component structure and imports for consis…
tassoevan Jan 19, 2026
aeb65de
chore(deps): bump `react-router-dom` (#38229)
julio-rocketchat Jan 19, 2026
c7966fa
refactor: use composer ref to append file input (#38226)
juliajforesti Jan 19, 2026
90243eb
fix: `FileUploadModal` not validating renamed blacklisted file types …
abhinavkrin Jan 19, 2026
0b438a5
chore: Adapt logs to new format (#38259)
KevLehman Jan 19, 2026
1e0b37f
feat: Realtime user presence updates when starting/transfering a voic…
gabriellsh Jan 19, 2026
00b36c5
feat: Add "Direct Message" button to Media Call widget (#38169)
gabriellsh Jan 19, 2026
a249ea7
fix: add masking to log values (#38211)
jonasflorencio Jan 20, 2026
ebb5c87
fix: comment step out to check babel module (#38210)
nazabucciarelli Jan 20, 2026
a28bc73
chore: Add `yarn ms` to allow running microservices in `env-mode=loos…
KevLehman Jan 20, 2026
288bc08
refactor(core-typings): Reorganize types (#38052)
tassoevan Jan 20, 2026
c9103e8
chore: Upgrade fuselage package (#38266)
gabriellsh Jan 20, 2026
220f619
chore: Adapt logs to object format (#38270)
KevLehman Jan 20, 2026
5ee2ab8
fix: add error handling for MONGO_OPTIONS JSON parsing (#38101)
smirk-dev Jan 20, 2026
78ea84f
ci: Change cron schedule to run on the 20th of the month
ggazzo Jan 21, 2026
c04b2ca
Release 8.1.0-rc.0
rocketchat-github-ci Jan 21, 2026
fd319d5
fix: slash command list is incomplete during startup (#38267)
d-gubert Jan 21, 2026
dee9618
fix(federation): set room topic on creation of federated rooms (#38264)
sampaiodiego Jan 21, 2026
c240ef4
regression: Jump to message on sent message not working (#38297)
MartinSchoeler Jan 22, 2026
822a896
regression: save statistics on version change causes air-gapped state…
nazabucciarelli Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/blue-pugs-greet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Fixes integration saving error because of missing babel dependencies inside the docker container
7 changes: 7 additions & 0 deletions .changeset/chatty-camels-explain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@rocket.chat/model-typings': patch
'@rocket.chat/models': patch
'@rocket.chat/meteor': patch
---

Fixes `/sendEmailAttachment` to support sending multiple file attachments in a single email
5 changes: 5 additions & 0 deletions .changeset/early-dots-leave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Fixes an issue where cancelling a file upload results in an uncaught exception
7 changes: 7 additions & 0 deletions .changeset/eighty-weeks-rush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@rocket.chat/meteor": patch
"@rocket.chat/ui-client": patch
"@rocket.chat/ui-voip": patch
---

Introduces in the call widget a quick link that redirects to the participant's direct message
5 changes: 5 additions & 0 deletions .changeset/fifty-starfishes-collect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

Fixes browser slowdowns by preventing a rare cascading of language preference updates when multiple tabs reload
5 changes: 5 additions & 0 deletions .changeset/fix-mongo-options-error-handling.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Adds error handling for MONGO_OPTIONS environment variable JSON parsing
5 changes: 5 additions & 0 deletions .changeset/flat-berries-sell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/pdf-worker': patch
---

Fixes broken chat transcript when there are more than one file per message
5 changes: 5 additions & 0 deletions .changeset/fresh-hats-kneel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

Fixes an issue where words are breaking mid-character in user card's bio
7 changes: 7 additions & 0 deletions .changeset/gold-kids-move.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@rocket.chat/meteor": patch
"@rocket.chat/core-services": patch
"@rocket.chat/i18n": patch
---

Changes OEmbed URL processing. Now, the processing is done asynchronously and has a configurable timeout for each request. Additionally, the `API_EmbedIgnoredHosts` setting now accepts wildcard domains.
5 changes: 5 additions & 0 deletions .changeset/gold-trainers-shake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': minor
---

Changes OAuth login process to update users' names throughout the whole workspace when an existing user logs in with a changed name
6 changes: 6 additions & 0 deletions .changeset/green-dragons-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/rest-typings': patch
'@rocket.chat/meteor': patch
---

Fixes an issue where web clients could remain with a stale slashcommand list during a rolling workspace update
5 changes: 5 additions & 0 deletions .changeset/little-steaks-itch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Fixes incorrect permission checks on workspace registration status, aligning the API and UI hooks with manage-cloud access.
5 changes: 5 additions & 0 deletions .changeset/mean-eagles-complain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

Fixes a variable shadowing issue preventing new visitor registration in `livechat/messages` API.
6 changes: 6 additions & 0 deletions .changeset/nervous-clouds-carry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/ui-client': minor
'@rocket.chat/meteor': minor
---

Enables the password policy by default to ensure security by default and alters SetupWizard to handle errors
6 changes: 6 additions & 0 deletions .changeset/ninety-pans-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/rest-typings': minor
'@rocket.chat/meteor': minor
---

Changes list of Room Files to only show files that have been successfully attached to a message
109 changes: 109 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
{
"mode": "pre",
"tag": "rc",
"initialVersions": {
"@rocket.chat/meteor": "8.1.0-develop",
"rocketchat-services": "2.0.38",
"@rocket.chat/uikit-playground": "0.7.3",
"@rocket.chat/account-service": "0.4.47",
"@rocket.chat/authorization-service": "0.5.0",
"@rocket.chat/ddp-streamer": "0.3.47",
"@rocket.chat/omnichannel-transcript": "0.4.47",
"@rocket.chat/presence-service": "0.4.47",
"@rocket.chat/queue-worker": "0.4.47",
"@rocket.chat/abac": "0.1.0",
"@rocket.chat/federation-matrix": "0.0.9",
"@rocket.chat/license": "1.1.7",
"@rocket.chat/media-calls": "0.2.0",
"@rocket.chat/network-broker": "0.2.26",
"@rocket.chat/omni-core-ee": "0.0.12",
"@rocket.chat/omnichannel-services": "0.3.44",
"@rocket.chat/pdf-worker": "0.3.26",
"@rocket.chat/presence": "0.2.47",
"@rocket.chat/ui-theming": "0.4.4",
"@rocket.chat/account-utils": "0.0.2",
"@rocket.chat/agenda": "0.1.0",
"@rocket.chat/api-client": "0.2.47",
"@rocket.chat/apps": "0.6.0",
"@rocket.chat/apps-engine": "1.59.0",
"@rocket.chat/base64": "1.0.13",
"@rocket.chat/cas-validate": "0.0.3",
"@rocket.chat/core-services": "0.12.0",
"@rocket.chat/core-typings": "8.1.0-develop",
"@rocket.chat/cron": "0.1.47",
"@rocket.chat/ddp-client": "1.0.0",
"@rocket.chat/desktop-api": "1.1.0",
"@rocket.chat/eslint-config": "0.7.0",
"@rocket.chat/favicon": "0.0.4",
"@rocket.chat/fuselage-ui-kit": "26.0.0",
"@rocket.chat/gazzodown": "26.0.0",
"@rocket.chat/http-router": "7.9.14",
"@rocket.chat/i18n": "2.0.0",
"@rocket.chat/instance-status": "0.1.47",
"@rocket.chat/jest-presets": "0.0.1",
"@rocket.chat/jwt": "0.2.0",
"@rocket.chat/livechat": "2.0.0",
"@rocket.chat/log-format": "0.0.2",
"@rocket.chat/logger": "1.0.0",
"@rocket.chat/media-signaling": "0.1.1",
"@rocket.chat/message-parser": "0.31.32",
"@rocket.chat/message-types": "0.1.0",
"@rocket.chat/mock-providers": "0.4.7",
"@rocket.chat/model-typings": "2.0.0",
"@rocket.chat/models": "2.0.0",
"@rocket.chat/mongo-adapter": "0.0.2",
"@rocket.chat/poplib": "0.0.2",
"@rocket.chat/omni-core": "0.0.12",
"@rocket.chat/password-policies": "0.1.0",
"@rocket.chat/patch-injection": "0.0.1",
"@rocket.chat/peggy-loader": "0.31.27",
"@rocket.chat/random": "1.2.2",
"@rocket.chat/release-action": "2.2.3",
"@rocket.chat/release-changelog": "0.1.0",
"@rocket.chat/rest-typings": "8.1.0-develop",
"@rocket.chat/server-cloud-communication": "0.0.2",
"@rocket.chat/server-fetch": "0.0.3",
"@rocket.chat/sha256": "1.0.12",
"@rocket.chat/storybook-config": "0.0.2",
"@rocket.chat/tools": "0.2.4",
"@rocket.chat/tracing": "0.0.1",
"@rocket.chat/tsconfig": "0.0.0",
"@rocket.chat/ui-avatar": "22.0.0",
"@rocket.chat/ui-client": "26.0.0",
"@rocket.chat/ui-composer": "0.5.3",
"@rocket.chat/ui-contexts": "26.0.0",
"@rocket.chat/ui-kit": "0.39.0",
"@rocket.chat/ui-video-conf": "26.0.0",
"@rocket.chat/ui-voip": "16.0.0",
"@rocket.chat/web-ui-registration": "26.0.0"
},
"changesets": [
"blue-pugs-greet",
"chatty-camels-explain",
"early-dots-leave",
"eighty-weeks-rush",
"fifty-starfishes-collect",
"fix-mongo-options-error-handling",
"flat-berries-sell",
"fresh-hats-kneel",
"gold-kids-move",
"gold-trainers-shake",
"little-steaks-itch",
"mean-eagles-complain",
"nervous-clouds-carry",
"ninety-pans-search",
"purple-jobs-swim",
"rotten-foxes-marry",
"selfish-jeans-rest",
"short-jobs-join",
"six-cameras-turn",
"smart-carpets-clean",
"soft-dryers-count",
"spotty-steaks-notice",
"strange-ants-impress",
"stupid-keys-double",
"tall-timers-swim",
"tiny-candles-hang",
"twelve-sheep-accept"
]
}
5 changes: 5 additions & 0 deletions .changeset/purple-jobs-swim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/ui-voip": minor
---

Introduces realtime user presence updates for the selected user when starting/transferring a voice call.
6 changes: 6 additions & 0 deletions .changeset/rotten-foxes-marry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/i18n': patch
'@rocket.chat/meteor': patch
---

Fixes email notifications to display all files when a message contains multiple attachments
5 changes: 5 additions & 0 deletions .changeset/selfish-jeans-rest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Prevents custom status being saved in local storage as `undefined` and breaking the UI when accessing it
5 changes: 5 additions & 0 deletions .changeset/short-jobs-join.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Fixes an issue with the file type blacklist being easily bypassed by changing the file's extension
7 changes: 7 additions & 0 deletions .changeset/six-cameras-turn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@rocket.chat/core-typings': patch
'@rocket.chat/license': patch
'@rocket.chat/meteor': patch
---

Fixes premium capability popup showing despite active enterprise license.
5 changes: 5 additions & 0 deletions .changeset/smart-carpets-clean.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/models': patch
---

Fixes a condition where deleting a message with multiple file attachments would not always delete all of those files
5 changes: 5 additions & 0 deletions .changeset/soft-dryers-count.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Changes users.getAvatar endpoint to prevent unauthorized access.
6 changes: 6 additions & 0 deletions .changeset/spotty-steaks-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/apps-engine': patch
'@rocket.chat/meteor': patch
---

Fixes an issue that caused a spike in memory usage when apps handled the IPreFileUpload event
7 changes: 7 additions & 0 deletions .changeset/strange-ants-impress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@rocket.chat/model-typings': patch
'@rocket.chat/models': patch
'@rocket.chat/meteor': patch
---

Makes roomsPerGuest exclude DMs when counting subscriptions, ensuring guest limits apply only to non-DM rooms as per expected behavior.
7 changes: 7 additions & 0 deletions .changeset/stupid-keys-double.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@rocket.chat/model-typings': patch
'@rocket.chat/models': patch
'@rocket.chat/meteor': patch
---

Fixes user deletion not removing thumbnails of images sent by the deleted user
5 changes: 5 additions & 0 deletions .changeset/tall-timers-swim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Fixes workspace statistics deployment data not updating on server version changes.
5 changes: 5 additions & 0 deletions .changeset/tiny-candles-hang.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

Ensures SAML respects blank custom Authn Context
6 changes: 6 additions & 0 deletions .changeset/twelve-sheep-accept.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@rocket.chat/http-router': patch
'@rocket.chat/meteor': patch
---

Improves file upload flow to prevent buffering of contents in memory
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

# 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
2 changes: 1 addition & 1 deletion .github/actions/meteor-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ runs:
"meteor/babel-compiler/node_modules/@meteorjs/swc-core/.swc/node_modules/@swc/core-linux-x64-musl" # Removes 58M
"meteor/babel-compiler/node_modules/@meteorjs/swc-core/.swc/node_modules/@swc/core-linux-arm64-musl" # Removes 44M
"meteor/babel-compiler/node_modules/typescript" # Removes 31M
"meteor/babel-compiler/node_modules/@babel" # Removes 14M
# "meteor/babel-compiler/node_modules/@babel" # Removes 14M
"@rocket.chat/i18n/src" # Removes 16M
"typescript" # Removes 19M
Expand Down
Loading
Loading