![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /opt/mattermost/client/ |
Upload File : |
{"version":3,"file":"9544.e8ca2cfc3d0089dc7a24.js","mappings":"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","sources":["webpack://mattermost-webapp/./src/components/error_page/error_link.tsx","webpack://mattermost-webapp/./src/components/error_page/messages/cloud_archived.tsx","webpack://mattermost-webapp/./src/components/error_page/error_message.tsx","webpack://mattermost-webapp/./src/components/error_page/error_title.tsx","webpack://mattermost-webapp/./src/components/error_page/error_page.tsx","webpack://mattermost-webapp/./src/components/error_page/index.tsx","webpack://mattermost-webapp/./src/components/widgets/icons/fa_warning_icon.tsx"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport type {MessageDescriptor} from 'react-intl';\nimport {FormattedMessage} from 'react-intl';\n\nimport ExternalLink from 'components/external_link';\n\ntype Props = {\n url: string;\n message: MessageDescriptor;\n}\n\nconst ErrorLink: React.FC<Props> = ({url, message}: Props) => {\n return (\n <ExternalLink\n href={url}\n location='error_link'\n >\n <FormattedMessage {...message}/>\n </ExternalLink>\n );\n};\n\nErrorLink.defaultProps = {\n url: '',\n};\n\nexport default ErrorLink;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {FormattedMessage} from 'react-intl';\nimport {useSelector} from 'react-redux';\n\nimport {getSubscriptionProductName} from 'mattermost-redux/selectors/entities/cloud';\n\nexport default function CloudArchived() {\n const planName = useSelector(getSubscriptionProductName);\n return (\n <FormattedMessage\n id='cloud_archived.error.access'\n defaultMessage='Permalink belongs to a message that has been archived because of {planName} limits. Upgrade to access message again.'\n values={{\n planName,\n }}\n />\n );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {FormattedMessage, defineMessage} from 'react-intl';\n\nimport {ErrorPageTypes} from 'utils/constants';\n\nimport ErrorLink from './error_link';\nimport CloudArchived from './messages/cloud_archived';\n\ntype Props = {\n type?: string | null;\n message?: string;\n service?: string;\n isGuest?: boolean;\n}\n\nconst ErrorMessage: React.FC<Props> = ({type, message, service, isGuest}: Props) => {\n let errorMessage = null;\n if (type) {\n switch (type) {\n case ErrorPageTypes.LOCAL_STORAGE:\n errorMessage = (\n <div>\n <FormattedMessage\n id='error.local_storage.message'\n defaultMessage='Mattermost was unable to load because a setting in your browser prevents the use of its local storage features. To allow Mattermost to load, try the following actions:'\n />\n <ul>\n <li>\n <FormattedMessage\n id='error.local_storage.help1'\n defaultMessage='Enable cookies'\n />\n </li>\n <li>\n <FormattedMessage\n id='error.local_storage.help2'\n defaultMessage='Turn off private browsing'\n />\n </li>\n <li>\n <FormattedMessage\n id='error.local_storage.help3'\n defaultMessage='Use a supported browser (IE 11, Chrome 61+, Firefox 60+, Safari 12+, Edge 42+)'\n />\n </li>\n </ul>\n </div>\n );\n break;\n case ErrorPageTypes.PERMALINK_NOT_FOUND:\n errorMessage = (\n <p>\n <FormattedMessage\n id='permalink.error.access'\n defaultMessage='Permalink belongs to a deleted message or to a channel to which you do not have access.'\n />\n </p>\n );\n break;\n case ErrorPageTypes.CLOUD_ARCHIVED:\n errorMessage = (\n <p>\n <CloudArchived/>\n </p>\n );\n break;\n case ErrorPageTypes.TEAM_NOT_FOUND:\n errorMessage = (\n <p>\n <FormattedMessage\n id='error.team_not_found.message'\n defaultMessage=\"The team you're requesting is private or does not exist. Please contact your Administrator for an invitation.\"\n />\n </p>\n );\n break;\n case ErrorPageTypes.CHANNEL_NOT_FOUND:\n errorMessage = (\n <p>\n {isGuest ? (\n <FormattedMessage\n id='error.channel_not_found.message_guest'\n defaultMessage='Your guest account has no channels assigned. Please contact an administrator.'\n />\n ) : (\n <FormattedMessage\n id='error.channel_not_found.message'\n defaultMessage=\"The channel you're requesting is private or does not exist. Please contact an Administrator to be added to the channel.\"\n />\n\n )}\n </p>\n );\n break;\n case ErrorPageTypes.OAUTH_MISSING_CODE:\n errorMessage = (\n <div>\n <p>\n <FormattedMessage\n id='error.oauth_missing_code'\n defaultMessage='The service provider {service} did not provide an authorization code in the redirect URL.'\n values={{\n service,\n }}\n />\n </p>\n <p>\n <FormattedMessage\n id='error.oauth_missing_code.google'\n defaultMessage='For {link} make sure your administrator enabled the Google+ API.'\n values={{\n link: (\n <ErrorLink\n url={'https://docs.mattermost.com/deployment/sso-google.html'}\n message={defineMessage({\n id: 'error.oauth_missing_code.google.link',\n defaultMessage: 'Google Apps',\n })}\n />\n ),\n }}\n />\n </p>\n <p>\n <FormattedMessage\n id='error.oauth_missing_code.office365'\n defaultMessage='For {link} make sure the administrator of your Microsoft organization has enabled the Mattermost app.'\n values={{\n link: (\n <ErrorLink\n url={'https://docs.mattermost.com/deployment/sso-office.html'}\n message={defineMessage({\n id: 'error.oauth_missing_code.office365.link',\n defaultMessage: 'Entra ID',\n })}\n />\n ),\n }}\n />\n </p>\n <p>\n <FormattedMessage\n id='error.oauth_missing_code.gitlab'\n defaultMessage='For {link} please make sure you followed the setup instructions.'\n values={{\n link: (\n <ErrorLink\n url={'https://docs.mattermost.com/deployment/sso-gitlab.html'}\n message={defineMessage({\n id: 'error.oauth_missing_code.gitlab.link',\n defaultMessage: 'GitLab',\n })}\n />\n ),\n }}\n />\n </p>\n <p>\n <FormattedMessage\n id='error.oauth_missing_code.forum'\n defaultMessage=\"If you reviewed the above and are still having trouble with configuration, you may post in our {link} where we'll be happy to help with issues during setup.\"\n values={{\n link: (\n <ErrorLink\n url={'https://forum.mattermost.com/c/trouble-shoot'}\n message={defineMessage({\n id: 'error.oauth_missing_code.forum.link',\n defaultMessage: 'Troubleshooting forum',\n })}\n />\n ),\n }}\n />\n </p>\n </div>\n );\n break;\n case ErrorPageTypes.OAUTH_ACCESS_DENIED:\n errorMessage = (\n <p>\n <FormattedMessage\n id='error.oauth_access_denied'\n defaultMessage='You must authorize Mattermost to log in with {service}.'\n values={{\n service,\n }}\n />\n </p>\n );\n break;\n case ErrorPageTypes.OAUTH_INVALID_REDIRECT_URL:\n case ErrorPageTypes.OAUTH_INVALID_PARAM:\n errorMessage = (\n <p>\n {message}\n </p>\n );\n break;\n case ErrorPageTypes.PAGE_NOT_FOUND:\n default:\n errorMessage = (\n <p>\n <FormattedMessage\n id='error.not_found.message'\n defaultMessage='The page you were trying to reach does not exist'\n />\n </p>\n );\n }\n } else if (message) {\n errorMessage = (\n <p>\n {message}\n </p>\n );\n } else {\n errorMessage = (\n <p>\n <FormattedMessage\n id='error.generic.message'\n defaultMessage='An error has occurred.'\n />\n </p>\n );\n }\n\n return errorMessage;\n};\n\nexport default ErrorMessage;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {FormattedMessage} from 'react-intl';\n\nimport {ErrorPageTypes} from 'utils/constants';\n\ntype Props = {\n type?: string | null;\n title: string;\n}\n\nconst ErrorTitle: React.FC<Props> = ({type, title}: Props) => {\n let errorTitle = null;\n if (type) {\n switch (type) {\n case ErrorPageTypes.LOCAL_STORAGE:\n errorTitle = (\n <FormattedMessage\n id='error.local_storage.title'\n defaultMessage='Cannot Load Mattermost'\n />\n );\n break;\n case ErrorPageTypes.PERMALINK_NOT_FOUND:\n errorTitle = (\n <FormattedMessage\n id='permalink.error.title'\n defaultMessage='Message Not Found'\n />\n );\n break;\n case ErrorPageTypes.CLOUD_ARCHIVED:\n errorTitle = (\n <FormattedMessage\n id='cloud_archived.error.title'\n defaultMessage='Message Archived'\n />\n );\n break;\n case ErrorPageTypes.OAUTH_ACCESS_DENIED:\n errorTitle = (\n <FormattedMessage\n id='error.oauth_access_denied.title'\n defaultMessage='Authorization Error'\n />\n );\n break;\n case ErrorPageTypes.OAUTH_MISSING_CODE:\n errorTitle = (\n <FormattedMessage\n id='error.oauth_missing_code.title'\n defaultMessage='Mattermost Needs Your Help'\n />\n );\n break;\n case ErrorPageTypes.OAUTH_INVALID_REDIRECT_URL:\n case ErrorPageTypes.OAUTH_INVALID_PARAM:\n errorTitle = (\n <FormattedMessage\n id='error.oauth_invalid_param.title'\n defaultMessage='OAuth Parameter Error'\n />\n );\n break;\n case ErrorPageTypes.TEAM_NOT_FOUND:\n errorTitle = (\n <FormattedMessage\n id='error.team_not_found.title'\n defaultMessage='Team Not Found'\n />\n );\n break;\n case ErrorPageTypes.CHANNEL_NOT_FOUND:\n errorTitle = (\n <FormattedMessage\n id='error.channel_not_found.title'\n defaultMessage='Channel Not Found'\n />\n );\n break;\n case ErrorPageTypes.PAGE_NOT_FOUND:\n default:\n errorTitle = (\n <FormattedMessage\n id='error.not_found.title'\n defaultMessage='Page Not Found'\n />\n );\n }\n } else if (title) {\n errorTitle = <>{title}</>;\n } else {\n errorTitle = (\n <FormattedMessage\n id='error.generic.title'\n defaultMessage='Error'\n />\n );\n }\n\n return errorTitle;\n};\n\nexport default ErrorTitle;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport crypto from 'crypto';\nimport React from 'react';\nimport {FormattedMessage} from 'react-intl';\nimport {Link} from 'react-router-dom';\n\nimport WarningIcon from 'components/widgets/icons/fa_warning_icon';\n\nimport {ErrorPageTypes, Constants} from 'utils/constants';\n\nimport ErrorMessage from './error_message';\nimport ErrorTitle from './error_title';\n\ntype Location = {\n search: string;\n}\n\ntype Props = {\n location: Location;\n asymmetricSigningPublicKey?: string;\n siteName?: string;\n isGuest?: boolean;\n}\n\nexport default class ErrorPage extends React.PureComponent<Props> {\n public componentDidMount() {\n document.body.setAttribute('class', 'sticky error');\n }\n\n public componentWillUnmount() {\n document.body.removeAttribute('class');\n }\n\n public render() {\n const {isGuest} = this.props;\n const params: URLSearchParams = new URLSearchParams(this.props.location.search);\n const signature = params.get('s');\n\n let trustParams = false;\n if (signature) {\n params.delete('s');\n\n const key = this.props.asymmetricSigningPublicKey;\n const keyPEM = '-----BEGIN PUBLIC KEY-----\\n' + key + '\\n-----END PUBLIC KEY-----';\n\n const verify = crypto.createVerify('sha256');\n verify.update('/error?' + params.toString());\n trustParams = verify.verify(keyPEM, signature, 'base64');\n }\n\n const type = params.get('type');\n const title = (trustParams && params.get('title')) || '';\n const message = (trustParams && params.get('message')) || '';\n const service = (trustParams && params.get('service')) || '';\n const returnTo = (trustParams && params.get('returnTo')) || '';\n\n let backButton;\n if (type === ErrorPageTypes.PERMALINK_NOT_FOUND && returnTo) {\n backButton = (\n <Link to={returnTo}>\n <FormattedMessage\n id='error.generic.link'\n defaultMessage='Back to Mattermost'\n />\n </Link>\n );\n } else if (type === ErrorPageTypes.CLOUD_ARCHIVED && returnTo) {\n backButton = (\n <Link to={returnTo}>\n <FormattedMessage\n id='error.generic.link'\n defaultMessage='Back to Mattermost'\n />\n </Link>\n );\n } else if (type === ErrorPageTypes.TEAM_NOT_FOUND) {\n backButton = (\n <Link to='/'>\n <FormattedMessage\n id='error.generic.siteLink'\n defaultMessage='Back to {siteName}'\n values={{\n siteName: this.props.siteName,\n }}\n />\n </Link>\n );\n } else if (type === ErrorPageTypes.CHANNEL_NOT_FOUND && isGuest) {\n backButton = (\n <Link to='/'>\n <FormattedMessage\n id='error.channelNotFound.guest_link'\n defaultMessage='Back'\n />\n </Link>\n );\n } else if (type === ErrorPageTypes.CHANNEL_NOT_FOUND) {\n backButton = (\n <Link to={params.get('returnTo') as string}>\n <FormattedMessage\n id='error.channelNotFound.link'\n defaultMessage='Back to {defaultChannelName}'\n values={{\n defaultChannelName: Constants.DEFAULT_CHANNEL_UI_NAME,\n }}\n />\n </Link>\n );\n } else if (type === ErrorPageTypes.OAUTH_ACCESS_DENIED || type === ErrorPageTypes.OAUTH_MISSING_CODE) {\n backButton = (\n <Link to='/'>\n <FormattedMessage\n id='error.generic.link_login'\n defaultMessage='Back to Login Page'\n />\n </Link>\n );\n } else if (type === ErrorPageTypes.OAUTH_INVALID_PARAM || type === ErrorPageTypes.OAUTH_INVALID_REDIRECT_URL) {\n backButton = null;\n } else {\n backButton = (\n <Link to='/'>\n <FormattedMessage\n id='error.generic.siteLink'\n defaultMessage='Back to {siteName}'\n values={{\n siteName: this.props.siteName,\n }}\n />\n </Link>\n );\n }\n\n const errorPage = (\n <div className='container-fluid'>\n <div className='error__container'>\n <div className='error__icon'>\n <WarningIcon/>\n </div>\n <h2 data-testid='errorMessageTitle'>\n <ErrorTitle\n type={type}\n title={title}\n />\n </h2>\n <ErrorMessage\n type={type}\n message={message}\n service={service}\n isGuest={isGuest}\n />\n {backButton}\n </div>\n </div>\n );\n\n return (\n <>\n {errorPage}\n </>\n );\n }\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {connect} from 'react-redux';\n\nimport {getCurrentUser} from 'mattermost-redux/selectors/entities/common';\nimport {getConfig} from 'mattermost-redux/selectors/entities/general';\nimport {isGuest} from 'mattermost-redux/utils/user_utils';\n\nimport type {GlobalState} from 'types/store';\n\nimport ErrorPage from './error_page';\n\nfunction mapStateToProps(state: GlobalState) {\n const config = getConfig(state);\n const user = getCurrentUser(state);\n\n return {\n siteName: config.SiteName,\n asymmetricSigningPublicKey: config.AsymmetricSigningPublicKey,\n isGuest: Boolean(user && isGuest(user.roles)),\n };\n}\n\nexport default connect(mapStateToProps)(ErrorPage);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\ntype Props = {\n additionalClassName?: string;\n}\n\nconst WarningIcon = ({additionalClassName}: Props) => {\n const {formatMessage} = useIntl();\n return (\n <i\n className={classNames('fa fa-warning', additionalClassName)}\n title={formatMessage({id: 'generic_icons.warning', defaultMessage: 'Warning Icon'})}\n />\n );\n};\n\nexport default React.memo(WarningIcon);\n"],"names":["ErrorLink","_ref","url","message","React","ExternalLink","href","location","FormattedMessage","propTypes","_pt","defaultProps","CloudArchived","planName","useSelector","getSubscriptionProductName","id","defaultMessage","values","ErrorMessage","type","service","isGuest","errorMessage","ErrorPageTypes","LOCAL_STORAGE","PERMALINK_NOT_FOUND","CLOUD_ARCHIVED","TEAM_NOT_FOUND","CHANNEL_NOT_FOUND","OAUTH_MISSING_CODE","link","defineMessage","OAUTH_ACCESS_DENIED","OAUTH_INVALID_REDIRECT_URL","OAUTH_INVALID_PARAM","PAGE_NOT_FOUND","ErrorTitle","title","errorTitle","isRequired","ErrorPage","componentDidMount","document","body","setAttribute","componentWillUnmount","removeAttribute","render","this","props","params","URLSearchParams","search","signature","get","trustParams","delete","keyPEM","asymmetricSigningPublicKey","verify","crypto","update","toString","returnTo","backButton","Link","to","siteName","defaultChannelName","Constants","DEFAULT_CHANNEL_UI_NAME","errorPage","className","WarningIcon","connect","state","config","getConfig","user","getCurrentUser","SiteName","AsymmetricSigningPublicKey","Boolean","roles","additionalClassName","formatMessage","useIntl","classNames"],"sourceRoot":""}