diff --git a/apps/meteor/client/lib/customOAuth/CustomOAuth.ts b/apps/meteor/client/lib/customOAuth/CustomOAuth.ts index 7a0c1c3548d38..8ac31adc0a5ce 100644 --- a/apps/meteor/client/lib/customOAuth/CustomOAuth.ts +++ b/apps/meteor/client/lib/customOAuth/CustomOAuth.ts @@ -7,7 +7,7 @@ import { OAuth } from 'meteor/oauth'; import { isURL } from '../../../lib/utils/isURL'; import type { IOAuthProvider } from '../../definitions/IOAuthProvider'; -import { createOAuthTotpLoginMethod } from '../../meteor/overrides/login/oauth'; +import { createOAuthTotpLoginMethod } from '../../meteor/login/oauth'; import { overrideLoginMethod, type LoginCallback } from '../2fa/overrideLoginMethod'; import { loginServices } from '../loginServices'; import { CustomOAuthError } from './CustomOAuthError'; diff --git a/apps/meteor/client/main.ts b/apps/meteor/client/main.ts index 7edd934d5264d..f6b040937176e 100644 --- a/apps/meteor/client/main.ts +++ b/apps/meteor/client/main.ts @@ -1,9 +1,9 @@ +import './meteor/overrides'; +import './meteor/startup'; import './serviceWorker'; -import './startup/accounts'; -import './startup/desktopInjection'; import('@rocket.chat/fuselage-polyfills') - .then(() => import('./meteor/overrides')) + .then(() => import('./meteor/login')) .then(() => import('./ecdh')) .then(() => import('./importPackages')) .then(() => import('./startup')) diff --git a/apps/meteor/client/meteor/overrides/login/cas.ts b/apps/meteor/client/meteor/login/cas.ts similarity index 83% rename from apps/meteor/client/meteor/overrides/login/cas.ts rename to apps/meteor/client/meteor/login/cas.ts index 9b753d5042943..93a9f1d5b2365 100644 --- a/apps/meteor/client/meteor/overrides/login/cas.ts +++ b/apps/meteor/client/meteor/login/cas.ts @@ -1,7 +1,7 @@ import { Random } from '@rocket.chat/random'; import { Meteor } from 'meteor/meteor'; -import { callLoginMethod } from '../../../lib/2fa/overrideLoginMethod'; +import { callLoginMethod } from '../../lib/2fa/overrideLoginMethod'; declare module 'meteor/meteor' { // eslint-disable-next-line @typescript-eslint/no-namespace @@ -12,7 +12,7 @@ declare module 'meteor/meteor' { Meteor.loginWithCas = (_, callback) => { const credentialToken = Random.id(); - import('../../../lib/openCASLoginPopup') + import('../../lib/openCASLoginPopup') .then(({ openCASLoginPopup }) => openCASLoginPopup(credentialToken)) .then(() => callLoginMethod({ methodArguments: [{ cas: { credentialToken } }] })) .then(() => callback?.()) diff --git a/apps/meteor/client/meteor/overrides/login/crowd.ts b/apps/meteor/client/meteor/login/crowd.ts similarity index 96% rename from apps/meteor/client/meteor/overrides/login/crowd.ts rename to apps/meteor/client/meteor/login/crowd.ts index a07a149c09be0..9b1d4b83d4025 100644 --- a/apps/meteor/client/meteor/overrides/login/crowd.ts +++ b/apps/meteor/client/meteor/login/crowd.ts @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; -import { callLoginMethod, handleLogin, type LoginCallback } from '../../../lib/2fa/overrideLoginMethod'; +import { callLoginMethod, handleLogin, type LoginCallback } from '../../lib/2fa/overrideLoginMethod'; declare module 'meteor/meteor' { // eslint-disable-next-line @typescript-eslint/no-namespace diff --git a/apps/meteor/client/meteor/overrides/login/facebook.ts b/apps/meteor/client/meteor/login/facebook.ts similarity index 93% rename from apps/meteor/client/meteor/overrides/login/facebook.ts rename to apps/meteor/client/meteor/login/facebook.ts index 8fdeac364ff79..f13b22daec289 100644 --- a/apps/meteor/client/meteor/overrides/login/facebook.ts +++ b/apps/meteor/client/meteor/login/facebook.ts @@ -7,8 +7,8 @@ import { Meteor } from 'meteor/meteor'; import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; -import { overrideLoginMethod } from '../../../lib/2fa/overrideLoginMethod'; -import { wrapRequestCredentialFn } from '../../../lib/wrapRequestCredentialFn'; +import { overrideLoginMethod } from '../../lib/2fa/overrideLoginMethod'; +import { wrapRequestCredentialFn } from '../../lib/wrapRequestCredentialFn'; const { loginWithFacebook } = Meteor; const loginWithFacebookAndTOTP = createOAuthTotpLoginMethod(Facebook); diff --git a/apps/meteor/client/meteor/overrides/login/github.ts b/apps/meteor/client/meteor/login/github.ts similarity index 90% rename from apps/meteor/client/meteor/overrides/login/github.ts rename to apps/meteor/client/meteor/login/github.ts index 2402ed858a959..98c8fb8fea76d 100644 --- a/apps/meteor/client/meteor/overrides/login/github.ts +++ b/apps/meteor/client/meteor/login/github.ts @@ -7,8 +7,8 @@ import { Meteor } from 'meteor/meteor'; import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; -import { overrideLoginMethod } from '../../../lib/2fa/overrideLoginMethod'; -import { wrapRequestCredentialFn } from '../../../lib/wrapRequestCredentialFn'; +import { overrideLoginMethod } from '../../lib/2fa/overrideLoginMethod'; +import { wrapRequestCredentialFn } from '../../lib/wrapRequestCredentialFn'; const { loginWithGithub } = Meteor; const loginWithGithubAndTOTP = createOAuthTotpLoginMethod(Github); diff --git a/apps/meteor/client/meteor/overrides/login/google.ts b/apps/meteor/client/meteor/login/google.ts similarity index 95% rename from apps/meteor/client/meteor/overrides/login/google.ts rename to apps/meteor/client/meteor/login/google.ts index 01d7be4143b2d..9eaf46ac40b44 100644 --- a/apps/meteor/client/meteor/overrides/login/google.ts +++ b/apps/meteor/client/meteor/login/google.ts @@ -7,8 +7,8 @@ import { Meteor } from 'meteor/meteor'; import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; -import { overrideLoginMethod, type LoginCallback } from '../../../lib/2fa/overrideLoginMethod'; -import { wrapRequestCredentialFn } from '../../../lib/wrapRequestCredentialFn'; +import { overrideLoginMethod, type LoginCallback } from '../../lib/2fa/overrideLoginMethod'; +import { wrapRequestCredentialFn } from '../../lib/wrapRequestCredentialFn'; declare module 'meteor/meteor' { // eslint-disable-next-line @typescript-eslint/no-namespace diff --git a/apps/meteor/client/meteor/login/index.ts b/apps/meteor/client/meteor/login/index.ts new file mode 100644 index 0000000000000..cef3570085f43 --- /dev/null +++ b/apps/meteor/client/meteor/login/index.ts @@ -0,0 +1,11 @@ +import './cas'; +import './crowd'; +import './facebook'; +import './github'; +import './google'; +import './ldap'; +import './meteorDeveloperAccount'; +import './oauth'; +import './password'; +import './saml'; +import './twitter'; diff --git a/apps/meteor/client/meteor/overrides/login/ldap.ts b/apps/meteor/client/meteor/login/ldap.ts similarity index 96% rename from apps/meteor/client/meteor/overrides/login/ldap.ts rename to apps/meteor/client/meteor/login/ldap.ts index 23238126ea5ea..77a16ce3675d4 100644 --- a/apps/meteor/client/meteor/overrides/login/ldap.ts +++ b/apps/meteor/client/meteor/login/ldap.ts @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; -import { callLoginMethod, handleLogin, type LoginCallback } from '../../../lib/2fa/overrideLoginMethod'; +import { callLoginMethod, handleLogin, type LoginCallback } from '../../lib/2fa/overrideLoginMethod'; declare module 'meteor/meteor' { // eslint-disable-next-line @typescript-eslint/no-namespace diff --git a/apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts b/apps/meteor/client/meteor/login/meteorDeveloperAccount.ts similarity index 91% rename from apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts rename to apps/meteor/client/meteor/login/meteorDeveloperAccount.ts index 561d778ee52f3..1b499a00b7dec 100644 --- a/apps/meteor/client/meteor/overrides/login/meteorDeveloperAccount.ts +++ b/apps/meteor/client/meteor/login/meteorDeveloperAccount.ts @@ -5,8 +5,8 @@ import { MeteorDeveloperAccounts } from 'meteor/meteor-developer-oauth'; import { OAuth } from 'meteor/oauth'; import { createOAuthTotpLoginMethod } from './oauth'; -import { overrideLoginMethod } from '../../../lib/2fa/overrideLoginMethod'; -import { wrapRequestCredentialFn } from '../../../lib/wrapRequestCredentialFn'; +import { overrideLoginMethod } from '../../lib/2fa/overrideLoginMethod'; +import { wrapRequestCredentialFn } from '../../lib/wrapRequestCredentialFn'; const { loginWithMeteorDeveloperAccount } = Meteor; const loginWithMeteorDeveloperAccountAndTOTP = createOAuthTotpLoginMethod(MeteorDeveloperAccounts); diff --git a/apps/meteor/client/meteor/overrides/login/oauth.ts b/apps/meteor/client/meteor/login/oauth.ts similarity index 94% rename from apps/meteor/client/meteor/overrides/login/oauth.ts rename to apps/meteor/client/meteor/login/oauth.ts index cc31be9fb677d..a3f9d72c9cbf8 100644 --- a/apps/meteor/client/meteor/overrides/login/oauth.ts +++ b/apps/meteor/client/meteor/login/oauth.ts @@ -2,8 +2,8 @@ import { Accounts } from 'meteor/accounts-base'; import { Meteor } from 'meteor/meteor'; import { OAuth } from 'meteor/oauth'; -import type { IOAuthProvider } from '../../../definitions/IOAuthProvider'; -import type { LoginCallback } from '../../../lib/2fa/overrideLoginMethod'; +import type { IOAuthProvider } from '../../definitions/IOAuthProvider'; +import type { LoginCallback } from '../../lib/2fa/overrideLoginMethod'; const isLoginCancelledError = (error: unknown): error is Meteor.Error => error instanceof Meteor.Error && error.error === Accounts.LoginCancelledError.numericError; @@ -113,7 +113,7 @@ Accounts.onPageLoadLogin(async (loginAttempt: any) => { const { credentialToken, credentialSecret } = oAuthArgs.oauth; const cb = loginAttempt.userCallback; - const { process2faReturn } = await import('../../../lib/2fa/process2faReturn'); + const { process2faReturn } = await import('../../lib/2fa/process2faReturn'); await process2faReturn({ error: loginAttempt.error, diff --git a/apps/meteor/client/meteor/overrides/login/password.ts b/apps/meteor/client/meteor/login/password.ts similarity index 93% rename from apps/meteor/client/meteor/overrides/login/password.ts rename to apps/meteor/client/meteor/login/password.ts index 7074290b1f2c5..f1c6e32f2282b 100644 --- a/apps/meteor/client/meteor/overrides/login/password.ts +++ b/apps/meteor/client/meteor/login/password.ts @@ -1,7 +1,7 @@ import { Accounts } from 'meteor/accounts-base'; import { Meteor } from 'meteor/meteor'; -import { overrideLoginMethod, type LoginCallback } from '../../../lib/2fa/overrideLoginMethod'; +import { overrideLoginMethod, type LoginCallback } from '../../lib/2fa/overrideLoginMethod'; declare module 'meteor/meteor' { // eslint-disable-next-line @typescript-eslint/no-namespace diff --git a/apps/meteor/client/meteor/overrides/login/saml.ts b/apps/meteor/client/meteor/login/saml.ts similarity index 95% rename from apps/meteor/client/meteor/overrides/login/saml.ts rename to apps/meteor/client/meteor/login/saml.ts index 052fa42033594..0561d6db13ad8 100644 --- a/apps/meteor/client/meteor/overrides/login/saml.ts +++ b/apps/meteor/client/meteor/login/saml.ts @@ -2,8 +2,8 @@ import { Random } from '@rocket.chat/random'; import { Accounts } from 'meteor/accounts-base'; import { Meteor } from 'meteor/meteor'; -import { type LoginCallback, callLoginMethod, handleLogin } from '../../../lib/2fa/overrideLoginMethod'; -import { settings } from '../../../lib/settings'; +import { type LoginCallback, callLoginMethod, handleLogin } from '../../lib/2fa/overrideLoginMethod'; +import { settings } from '../../lib/settings'; declare module 'meteor/meteor' { // eslint-disable-next-line @typescript-eslint/no-namespace @@ -61,7 +61,7 @@ Meteor.logout = async function (...args) { if (provider && settings.peek('SAML_Custom_Default_idp_slo_redirect_url')) { console.info('SAML session terminated via SLO'); - const { sdk } = await import('../../../../app/utils/client/lib/SDKClient'); + const { sdk } = await import('../../../app/utils/client/lib/SDKClient'); sdk .call('samlLogout', provider) .then((result) => { diff --git a/apps/meteor/client/meteor/overrides/login/twitter.ts b/apps/meteor/client/meteor/login/twitter.ts similarity index 91% rename from apps/meteor/client/meteor/overrides/login/twitter.ts rename to apps/meteor/client/meteor/login/twitter.ts index f20de544b89b4..dc72000923d63 100644 --- a/apps/meteor/client/meteor/overrides/login/twitter.ts +++ b/apps/meteor/client/meteor/login/twitter.ts @@ -7,8 +7,8 @@ import { OAuth } from 'meteor/oauth'; import { Twitter } from 'meteor/twitter-oauth'; import { createOAuthTotpLoginMethod } from './oauth'; -import { overrideLoginMethod } from '../../../lib/2fa/overrideLoginMethod'; -import { wrapRequestCredentialFn } from '../../../lib/wrapRequestCredentialFn'; +import { overrideLoginMethod } from '../../lib/2fa/overrideLoginMethod'; +import { wrapRequestCredentialFn } from '../../lib/wrapRequestCredentialFn'; const { loginWithTwitter } = Meteor; const loginWithTwitterAndTOTP = createOAuthTotpLoginMethod(Twitter); diff --git a/apps/meteor/client/startup/desktopInjection.ts b/apps/meteor/client/meteor/overrides/desktopInjection.ts similarity index 89% rename from apps/meteor/client/startup/desktopInjection.ts rename to apps/meteor/client/meteor/overrides/desktopInjection.ts index f3d20b525e92f..9f835424c7644 100644 --- a/apps/meteor/client/startup/desktopInjection.ts +++ b/apps/meteor/client/meteor/overrides/desktopInjection.ts @@ -1,5 +1,5 @@ -import { watch } from '../meteor/watch'; -import { PublicSettings } from '../stores'; +import { PublicSettings } from '../../stores'; +import { watch } from '../watch'; if (window.RocketChatDesktop) { // backport of rocketchat:user-presence for the desktop app diff --git a/apps/meteor/client/meteor/overrides/index.ts b/apps/meteor/client/meteor/overrides/index.ts index 83ff25324adcf..f3370db0592f5 100644 --- a/apps/meteor/client/meteor/overrides/index.ts +++ b/apps/meteor/client/meteor/overrides/index.ts @@ -1,17 +1,7 @@ import './ddpOverREST'; -import './totpOnCall'; +import './desktopInjection'; import './oauthRedirectUri'; +import './settings'; +import './totpOnCall'; import './unstoreLoginToken'; import './userAndUsers'; -import './login/cas'; -import './login/crowd'; -import './login/facebook'; -import './login/github'; -import './login/google'; -import './login/ldap'; -import './login/meteorDeveloperAccount'; -import './login/oauth'; -import './login/password'; -import './login/saml'; -import './login/twitter'; -import './settings'; diff --git a/apps/meteor/client/startup/absoluteUrl.ts b/apps/meteor/client/meteor/startup/absoluteUrl.ts similarity index 67% rename from apps/meteor/client/startup/absoluteUrl.ts rename to apps/meteor/client/meteor/startup/absoluteUrl.ts index 04a698b6cc848..8e2578cad8b7b 100644 --- a/apps/meteor/client/startup/absoluteUrl.ts +++ b/apps/meteor/client/meteor/startup/absoluteUrl.ts @@ -1,5 +1,5 @@ import { Meteor } from 'meteor/meteor'; -import { baseURI } from '../lib/baseURI'; +import { baseURI } from '../../lib/baseURI'; Meteor.absoluteUrl.defaultOptions.rootUrl = baseURI; diff --git a/apps/meteor/client/startup/accounts.ts b/apps/meteor/client/meteor/startup/accounts.ts similarity index 84% rename from apps/meteor/client/startup/accounts.ts rename to apps/meteor/client/meteor/startup/accounts.ts index d61734864823d..3fbb07686fcd9 100644 --- a/apps/meteor/client/startup/accounts.ts +++ b/apps/meteor/client/meteor/startup/accounts.ts @@ -1,12 +1,12 @@ import { Accounts } from 'meteor/accounts-base'; import { Meteor } from 'meteor/meteor'; -import { sdk } from '../../app/utils/client/lib/SDKClient'; -import { t } from '../../app/utils/lib/i18n'; -import { PublicSettingsCachedStore, SubscriptionsCachedStore } from '../cachedStores'; -import { dispatchToastMessage } from '../lib/toast'; -import { userIdStore } from '../lib/user'; -import { useUserDataSyncReady } from '../lib/userData'; +import { sdk } from '../../../app/utils/client/lib/SDKClient'; +import { t } from '../../../app/utils/lib/i18n'; +import { PublicSettingsCachedStore, SubscriptionsCachedStore } from '../../cachedStores'; +import { dispatchToastMessage } from '../../lib/toast'; +import { userIdStore } from '../../lib/user'; +import { useUserDataSyncReady } from '../../lib/userData'; const whenMainReady = (): Promise => { const isMainReady = (): boolean => { diff --git a/apps/meteor/client/meteor/startup/index.ts b/apps/meteor/client/meteor/startup/index.ts new file mode 100644 index 0000000000000..286913b22c6a4 --- /dev/null +++ b/apps/meteor/client/meteor/startup/index.ts @@ -0,0 +1,2 @@ +import './absoluteUrl'; +import './accounts'; diff --git a/apps/meteor/client/startup/index.ts b/apps/meteor/client/startup/index.ts index 9f5e4eb11b4cd..689d5cbe33aa0 100644 --- a/apps/meteor/client/startup/index.ts +++ b/apps/meteor/client/startup/index.ts @@ -1,5 +1,4 @@ import '../lib/rooms/roomTypes'; -import './absoluteUrl'; import './appRoot'; import './audit'; import './callbacks';