chore!: remove dead legacy federation bridge plumbing - #41940
Conversation
|
Looks like this PR is ready to merge! 🎉 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (92)
💤 Files with no reviewable changes (86)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (2)
🧰 Additional context used📓 Path-based instructions (2)Shared libraries belong in `packages/`, while other services belong in `apps/` and `ee/`.📄 CodeRabbit inference engine (CLAUDE.md) Files:
Write concise, technical TypeScript/JavaScript with accurate typing in Playwright tests📄 CodeRabbit inference engine (.cursor/rules/playwright.mdc) Files:
🧠 Learnings (2)📚 Learning: 2026-02-26T19:25:44.063ZApplied to files:
📚 Learning: 2026-02-26T19:25:44.063ZApplied to files:
🔇 Additional comments (5)
WalkthroughThe change removes obsolete federation services, events, REST contracts, statistics fields, slash commands, E2E assets, and translations. Matrix federation type exports and the Matrix ID verification endpoint typing remain. ChangesFederation cleanup
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change removes unused legacy federation code and tests while preserving native federation behavior; no actionable merge-blocking risk remains after normal checks and review. Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 4 files. (1 skipped: 1 unsupported.) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🦋 Changeset detectedLatest commit: d1a31af The changes in this PR will be included in the next version bump. This PR includes changesets to release 30 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release-9.0.0 #41940 +/- ##
================================================
Coverage ? 69.56%
================================================
Files ? 4224
Lines ? 167734
Branches ? 29882
================================================
Hits ? 116689
Misses ? 45897
Partials ? 5148
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
08a66a9 to
8c88e3e
Compare
|
/jira CORE |
Proposed changes (including videos or screenshots)
Follow-up to #41908. Removes dead code orphaned by the old Matrix bridge federation. Nothing here has a runtime caller; Native Federation (
Federation_Service_*,@rocket.chat/federation-matrix) is untouched.@rocket.chat/core-services:Federation/FederationEEproxies — dialed broker names'federation'/'federation-enterprise', which no registered service answers anywhere; any call would hangIFederationService.ts(whole file): all 12 interface members had no implementation and no caller — live equivalents moved toIFederationMatrixServicewith different signaturesfederation.userRoleChangedevent — no listener anywhere; also removes the 5 fire-and-forget broadcasts (addRoomOwner,removeRoomOwner,addRoomModerator,removeRoomModerator,removeUserFromRole— theuser.roleUpdatebroadcast they share the event object with stays)@rocket.chat/rest-typings:/v1/federation/*endpoint typings had no server route and no client caller:searchPublicRooms,joinExternalPublicRoom,listServersByUser,addServerByUser,removeServerByUser— removed along withIFederationPublicRooms,FederationPaginatedRequest/Resultand all 5*Propsajv validator files (only consumers were their own unit specs; the live route validates via inlineajvQueryschema)matrixIds.verify(implemented inee/server/api/federation.ts, called byuseAddMatrixUsers) and fixed its response type:Map<string, string>→Record<string, string>(server returns a plain object)@rocket.chat/core-typings:IStats.federatedServers,IStats.federatedUsers,IStats.federationOverviewDatafederation/v1types with zero consumers:IFederationServer,IFederationEvent,eventTypes(keptFederationKey— still powers Apps-Engine signature verification)Tests:
apps/meteor/tests/unit/definition/rest/v1/federation/— 4 specs, sole consumers of the deleted validatorsapps/meteor/tests/e2e/federation/+playwright-federation.config.ts+test:e2e:federationscript — the old two-server Synapse bridge suite; not referenced by any CI workflow (native federation is covered by thetest-federation-matrixCI job)Client: the
/federationslash command registration — client-side only, no server handler exists anywhere (the old v1 handler was removed with the federation v1 methods); typing it did nothing. Thexmpp-joinregistration in the same file stays (live handler inee/server/startup/federation.ts).i18n: 12 orphaned keys removed from en, wiped from the other locales via the i18n linter's
wipe-extra-keys --fix:Federation_Matrix("Federation V2"),Federation_Matrix_error_applying_room_roles,Federation_Matrix_join_public_rooms_is_enterprise,Federation_Matrix_not_allowed_to_change_moderator,Federation_Matrix_not_allowed_to_change_owner,Federation_slash_commands,Federation_Enable,Federation_Example_matrix_server,Federation_Federated_room_search,Federation_Public_key,Federation_Search_federated_rooms,Federation_is_currently_disabled_on_this_workspace. The 8Federation_Matrix_*keys used by live UI (CreateChannelModal, ComposerFederation, role-change modals) stay.Issue(s)
Steps to test or reproduce
yarn build+yarn workspace @rocket.chat/meteor run typecheck— no consumer of any removed symbol remainsIFederationService,FederationEE,federation-enterprise,federation.userRoleChanged,federationOverviewData— zero hits outside changelogsFurther comments
Follow-up to #41908, same 9.0.0 overdue-deprecations effort. One major changeset covering all five packages.
Task: CORE-2628
Summary by CodeRabbit