mirror of
https://github.com/strapi/strapi.git
synced 2025-07-25 18:05:07 +00:00
Merge branches 'fix/i18n-locale-queries-forbidden-access' and 'main' of github.com:strapi/strapi into fix/i18n-locale-queries-forbidden-access
This commit is contained in:
commit
ccf39e4f2f
@ -51,6 +51,7 @@ module.exports = {
|
|||||||
'<rootDir>/packages/admin-test-utils/lib/setup/styled-components.js',
|
'<rootDir>/packages/admin-test-utils/lib/setup/styled-components.js',
|
||||||
'<rootDir>/packages/admin-test-utils/lib/setup/strapi.js',
|
'<rootDir>/packages/admin-test-utils/lib/setup/strapi.js',
|
||||||
],
|
],
|
||||||
|
testEnvironment: 'jsdom',
|
||||||
transform: {
|
transform: {
|
||||||
'^.+\\.js$': ['@swc/jest', { jsc: { parser: { jsx: true, dynamicImport: true } } }],
|
'^.+\\.js$': ['@swc/jest', { jsc: { parser: { jsx: true, dynamicImport: true } } }],
|
||||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||||||
|
@ -87,9 +87,10 @@
|
|||||||
"husky": "3.1.0",
|
"husky": "3.1.0",
|
||||||
"inquirer": "8.2.4",
|
"inquirer": "8.2.4",
|
||||||
"istanbul": "~0.4.2",
|
"istanbul": "~0.4.2",
|
||||||
"jest": "26.6.3",
|
"jest": "29.0.0",
|
||||||
"jest-circus": "26.6.3",
|
"jest-circus": "29.0.0",
|
||||||
"jest-cli": "26.6.3",
|
"jest-cli": "29.0.0",
|
||||||
|
"jest-environment-jsdom": "29.0.0",
|
||||||
"jest-watch-typeahead": "0.6.5",
|
"jest-watch-typeahead": "0.6.5",
|
||||||
"lerna": "5.4.3",
|
"lerna": "5.4.3",
|
||||||
"lint-staged": "10.5.4",
|
"lint-staged": "10.5.4",
|
||||||
|
@ -17,6 +17,7 @@ function SelectMany({
|
|||||||
name,
|
name,
|
||||||
isDisabled,
|
isDisabled,
|
||||||
isLoading,
|
isLoading,
|
||||||
|
loadingMessage,
|
||||||
onInputChange,
|
onInputChange,
|
||||||
onMenuClose,
|
onMenuClose,
|
||||||
onMenuOpen,
|
onMenuOpen,
|
||||||
@ -61,6 +62,7 @@ function SelectMany({
|
|||||||
}}
|
}}
|
||||||
mainField={mainField}
|
mainField={mainField}
|
||||||
isLoading={isLoading}
|
isLoading={isLoading}
|
||||||
|
loadingMessage={loadingMessage}
|
||||||
isMulti
|
isMulti
|
||||||
isSearchable
|
isSearchable
|
||||||
options={options}
|
options={options}
|
||||||
@ -119,6 +121,7 @@ SelectMany.propTypes = {
|
|||||||
displayNavigationLink: PropTypes.bool.isRequired,
|
displayNavigationLink: PropTypes.bool.isRequired,
|
||||||
isDisabled: PropTypes.bool.isRequired,
|
isDisabled: PropTypes.bool.isRequired,
|
||||||
isLoading: PropTypes.bool.isRequired,
|
isLoading: PropTypes.bool.isRequired,
|
||||||
|
loadingMessage: PropTypes.string.isRequired,
|
||||||
mainField: PropTypes.shape({
|
mainField: PropTypes.shape({
|
||||||
name: PropTypes.string.isRequired,
|
name: PropTypes.string.isRequired,
|
||||||
schema: PropTypes.shape({
|
schema: PropTypes.shape({
|
||||||
|
@ -14,6 +14,7 @@ function SelectOne({
|
|||||||
name,
|
name,
|
||||||
isDisabled,
|
isDisabled,
|
||||||
isLoading,
|
isLoading,
|
||||||
|
loadingMessage,
|
||||||
onChange,
|
onChange,
|
||||||
onInputChange,
|
onInputChange,
|
||||||
onMenuClose,
|
onMenuClose,
|
||||||
@ -37,6 +38,7 @@ function SelectOne({
|
|||||||
isClearable
|
isClearable
|
||||||
isDisabled={isDisabled}
|
isDisabled={isDisabled}
|
||||||
isLoading={isLoading}
|
isLoading={isLoading}
|
||||||
|
loadingMessage={loadingMessage}
|
||||||
mainField={mainField}
|
mainField={mainField}
|
||||||
options={options}
|
options={options}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
@ -70,6 +72,7 @@ SelectOne.propTypes = {
|
|||||||
components: PropTypes.object,
|
components: PropTypes.object,
|
||||||
isDisabled: PropTypes.bool.isRequired,
|
isDisabled: PropTypes.bool.isRequired,
|
||||||
isLoading: PropTypes.bool.isRequired,
|
isLoading: PropTypes.bool.isRequired,
|
||||||
|
loadingMessage: PropTypes.string.isRequired,
|
||||||
mainField: PropTypes.shape({
|
mainField: PropTypes.shape({
|
||||||
name: PropTypes.string.isRequired,
|
name: PropTypes.string.isRequired,
|
||||||
schema: PropTypes.shape({
|
schema: PropTypes.shape({
|
||||||
|
@ -282,6 +282,12 @@ function SelectWrapper({
|
|||||||
isDisabled={isDisabled}
|
isDisabled={isDisabled}
|
||||||
isLoading={isLoading}
|
isLoading={isLoading}
|
||||||
isClearable
|
isClearable
|
||||||
|
loadingMessage={() =>
|
||||||
|
formatMessage({
|
||||||
|
id: getTrad('DynamicTable.relation-loading'),
|
||||||
|
defaultMessage: 'Relations are loading',
|
||||||
|
})
|
||||||
|
}
|
||||||
mainField={mainField}
|
mainField={mainField}
|
||||||
move={moveRelation}
|
move={moveRelation}
|
||||||
name={name}
|
name={name}
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"chalk": "^4.1.1",
|
"chalk": "^4.1.1",
|
||||||
"chokidar": "^3.5.1",
|
"chokidar": "^3.5.1",
|
||||||
"codemirror": "^5.65.6",
|
"codemirror": "^5.65.8",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"css-loader": "6.7.1",
|
"css-loader": "6.7.1",
|
||||||
"date-fns": "2.29.2",
|
"date-fns": "2.29.2",
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,16 +12,16 @@ describe('Configuration settings service', () => {
|
|||||||
const settings = await settingsService.createDefaultSettings(schema);
|
const settings = await settingsService.createDefaultSettings(schema);
|
||||||
|
|
||||||
expect(settings).toMatchInlineSnapshot(`
|
expect(settings).toMatchInlineSnapshot(`
|
||||||
Object {
|
{
|
||||||
"bulkable": true,
|
"bulkable": true,
|
||||||
"defaultSortBy": "id",
|
"defaultSortBy": "id",
|
||||||
"defaultSortOrder": "ASC",
|
"defaultSortOrder": "ASC",
|
||||||
"filterable": true,
|
"filterable": true,
|
||||||
"mainField": "id",
|
"mainField": "id",
|
||||||
"pageSize": 10,
|
"pageSize": 10,
|
||||||
"searchable": true,
|
"searchable": true,
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('uses id as mainField by default', async () => {
|
test('uses id as mainField by default', async () => {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Content types service format ContentType Returns consistent schemas 1`] = `
|
exports[`Content types service format ContentType Returns consistent schemas 1`] = `
|
||||||
Object {
|
{
|
||||||
"apiID": "my-name",
|
"apiID": "my-name",
|
||||||
"plugin": "some-plugin",
|
"plugin": "some-plugin",
|
||||||
"schema": Object {
|
"schema": {
|
||||||
"attributes": Object {
|
"attributes": {
|
||||||
"title": Object {
|
"title": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -15,8 +15,8 @@ Object {
|
|||||||
"displayName": "My name",
|
"displayName": "My name",
|
||||||
"draftAndPublish": false,
|
"draftAndPublish": false,
|
||||||
"kind": "singleType",
|
"kind": "singleType",
|
||||||
"pluginOptions": Object {
|
"pluginOptions": {
|
||||||
"content-manager": Object {
|
"content-manager": {
|
||||||
"visible": true,
|
"visible": true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Content Type Builder - Content types Collection Types Get collection type returns full schema and information 1`] = `
|
exports[`Content Type Builder - Content types Collection Types Get collection type returns full schema and information 1`] = `
|
||||||
Object {
|
{
|
||||||
"data": Object {
|
"data": {
|
||||||
"apiID": "test-collection-type",
|
"apiID": "test-collection-type",
|
||||||
"schema": Object {
|
"schema": {
|
||||||
"attributes": Object {
|
"attributes": {
|
||||||
"title": Object {
|
"title": {
|
||||||
"pluginOptions": Object {
|
"pluginOptions": {
|
||||||
"i18n": Object {
|
"i18n": {
|
||||||
"localized": true,
|
"localized": true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -20,8 +20,8 @@ Object {
|
|||||||
"displayName": "Test Collection Type",
|
"displayName": "Test Collection Type",
|
||||||
"draftAndPublish": false,
|
"draftAndPublish": false,
|
||||||
"kind": "collectionType",
|
"kind": "collectionType",
|
||||||
"pluginOptions": Object {
|
"pluginOptions": {
|
||||||
"i18n": Object {
|
"i18n": {
|
||||||
"localized": true,
|
"localized": true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -36,12 +36,12 @@ Object {
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`Content Type Builder - Content types Collection Types Get collection type returns full schema and informations with draftAndPublish 1`] = `
|
exports[`Content Type Builder - Content types Collection Types Get collection type returns full schema and informations with draftAndPublish 1`] = `
|
||||||
Object {
|
{
|
||||||
"data": Object {
|
"data": {
|
||||||
"apiID": "ct-with-dp",
|
"apiID": "ct-with-dp",
|
||||||
"schema": Object {
|
"schema": {
|
||||||
"attributes": Object {
|
"attributes": {
|
||||||
"title": Object {
|
"title": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Content Type Builder - Content types Single Types Get single type returns full schema and information 1`] = `
|
exports[`Content Type Builder - Content types Single Types Get single type returns full schema and information 1`] = `
|
||||||
Object {
|
{
|
||||||
"data": Object {
|
"data": {
|
||||||
"apiID": "test-single-type",
|
"apiID": "test-single-type",
|
||||||
"schema": Object {
|
"schema": {
|
||||||
"attributes": Object {
|
"attributes": {
|
||||||
"title": Object {
|
"title": {
|
||||||
"pluginOptions": Object {
|
"pluginOptions": {
|
||||||
"i18n": Object {
|
"i18n": {
|
||||||
"localized": true,
|
"localized": true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -20,8 +20,8 @@ Object {
|
|||||||
"displayName": "Test Single Type",
|
"displayName": "Test Single Type",
|
||||||
"draftAndPublish": false,
|
"draftAndPublish": false,
|
||||||
"kind": "singleType",
|
"kind": "singleType",
|
||||||
"pluginOptions": Object {
|
"pluginOptions": {
|
||||||
"i18n": Object {
|
"i18n": {
|
||||||
"localized": true,
|
"localized": true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -17,7 +17,13 @@ const ReactSelect = ({ components, styles, error, ariaErrorMessage, ...props })
|
|||||||
<Select
|
<Select
|
||||||
{...props}
|
{...props}
|
||||||
menuPosition="fixed"
|
menuPosition="fixed"
|
||||||
components={{ ClearIndicator, DropdownIndicator, IndicatorSeparator, ...components }}
|
components={{
|
||||||
|
ClearIndicator,
|
||||||
|
DropdownIndicator,
|
||||||
|
IndicatorSeparator,
|
||||||
|
LoadingIndicator: () => null,
|
||||||
|
...components,
|
||||||
|
}}
|
||||||
aria-errormessage={error && ariaErrorMessage}
|
aria-errormessage={error && ariaErrorMessage}
|
||||||
aria-invalid={!!error}
|
aria-invalid={!!error}
|
||||||
styles={{ ...customStyles, ...styles }}
|
styles={{ ...customStyles, ...styles }}
|
||||||
|
@ -45,12 +45,12 @@ module.exports = (strapi) => {
|
|||||||
environment: strapi.config.environment,
|
environment: strapi.config.environment,
|
||||||
os: os.type(),
|
os: os.type(),
|
||||||
osPlatform: os.platform(),
|
osPlatform: os.platform(),
|
||||||
|
osArch: os.arch(),
|
||||||
osRelease: os.release(),
|
osRelease: os.release(),
|
||||||
nodeVersion: process.version,
|
nodeVersion: process.versions.node,
|
||||||
docker: process.env.DOCKER || isDocker(),
|
docker: process.env.DOCKER || isDocker(),
|
||||||
isCI: ciEnv.isCI,
|
isCI: ciEnv.isCI,
|
||||||
version: strapi.config.get('info.strapi'),
|
version: strapi.config.get('info.strapi'),
|
||||||
strapiVersion: strapi.config.get('info.strapi'),
|
|
||||||
projectType: isEE ? 'Enterprise' : 'Community',
|
projectType: isEE ? 'Enterprise' : 'Community',
|
||||||
useTypescriptOnServer: isUsingTypeScriptSync(serverRootPath),
|
useTypescriptOnServer: isUsingTypeScriptSync(serverRootPath),
|
||||||
useTypescriptOnAdmin: isUsingTypeScriptSync(adminRootPath),
|
useTypescriptOnAdmin: isUsingTypeScriptSync(adminRootPath),
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`SelectTree renders 1`] = `
|
exports[`SelectTree renders 1`] = `
|
||||||
Object {
|
{
|
||||||
"asFragment": [Function],
|
"asFragment": [Function],
|
||||||
"baseElement": .c3 {
|
"baseElement": .c3 {
|
||||||
border: 0;
|
border: 0;
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`flattenTree flattens the passed tree structure properly 1`] = `
|
exports[`flattenTree flattens the passed tree structure properly 1`] = `
|
||||||
Array [
|
[
|
||||||
Object {
|
{
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"label": "Folder 1",
|
"label": "Folder 1",
|
||||||
"parent": undefined,
|
"parent": undefined,
|
||||||
"value": "f-1",
|
"value": "f-1",
|
||||||
},
|
},
|
||||||
Object {
|
{
|
||||||
"children": Array [
|
"children": [
|
||||||
Object {
|
{
|
||||||
"label": "Folder 2-1",
|
"label": "Folder 2-1",
|
||||||
"value": "f-2-1",
|
"value": "f-2-1",
|
||||||
},
|
},
|
||||||
Object {
|
{
|
||||||
"children": Array [
|
"children": [
|
||||||
Object {
|
{
|
||||||
"label": "Folder 2-2-1",
|
"label": "Folder 2-2-1",
|
||||||
"value": "f-2-2-1",
|
"value": "f-2-2-1",
|
||||||
},
|
},
|
||||||
@ -30,15 +30,15 @@ Array [
|
|||||||
"parent": undefined,
|
"parent": undefined,
|
||||||
"value": "f-2",
|
"value": "f-2",
|
||||||
},
|
},
|
||||||
Object {
|
{
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"label": "Folder 2-1",
|
"label": "Folder 2-1",
|
||||||
"parent": "f-2",
|
"parent": "f-2",
|
||||||
"value": "f-2-1",
|
"value": "f-2-1",
|
||||||
},
|
},
|
||||||
Object {
|
{
|
||||||
"children": Array [
|
"children": [
|
||||||
Object {
|
{
|
||||||
"label": "Folder 2-2-1",
|
"label": "Folder 2-2-1",
|
||||||
"value": "f-2-2-1",
|
"value": "f-2-2-1",
|
||||||
},
|
},
|
||||||
@ -48,7 +48,7 @@ Array [
|
|||||||
"parent": "f-2",
|
"parent": "f-2",
|
||||||
"value": "f-2-2",
|
"value": "f-2-2",
|
||||||
},
|
},
|
||||||
Object {
|
{
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"label": "Folder 2-2-1",
|
"label": "Folder 2-2-1",
|
||||||
"parent": "f-2-2",
|
"parent": "f-2-2",
|
||||||
|
@ -2,11 +2,6 @@
|
|||||||
|
|
||||||
const metricsService = require('../metrics');
|
const metricsService = require('../metrics');
|
||||||
|
|
||||||
// TODO: the matcher exists in jest@28
|
|
||||||
const closeTo = (expected, precision = 2) => ({
|
|
||||||
asymmetricMatch: (actual) => Math.abs(expected - actual) < 10 ** -precision / 2,
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('metrics', () => {
|
describe('metrics', () => {
|
||||||
describe('computeMetrics', () => {
|
describe('computeMetrics', () => {
|
||||||
test.each([
|
test.each([
|
||||||
@ -95,9 +90,9 @@ describe('metrics', () => {
|
|||||||
expect(results).toMatchObject({
|
expect(results).toMatchObject({
|
||||||
assetNumber,
|
assetNumber,
|
||||||
folderNumber,
|
folderNumber,
|
||||||
averageDepth: closeTo(averageDepth, 3),
|
averageDepth: expect.closeTo(averageDepth, 3),
|
||||||
maxDepth,
|
maxDepth,
|
||||||
averageDeviationDepth: closeTo(averageDeviationDepth, 3),
|
averageDeviationDepth: expect.closeTo(averageDeviationDepth, 3),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -58,12 +58,12 @@ const generateNewApp = (projectDirectory, cliArguments) => {
|
|||||||
|
|
||||||
sentry.configureScope(function scope(sentryScope) {
|
sentry.configureScope(function scope(sentryScope) {
|
||||||
const tags = {
|
const tags = {
|
||||||
os_arch: os.arch(),
|
os: os.type(),
|
||||||
os_type: os.type(),
|
osPlatform: os.platform(),
|
||||||
os_platform: os.platform(),
|
osArch: os.arch(),
|
||||||
os_release: os.release(),
|
osRelease: os.release(),
|
||||||
strapi_version: scope.strapiVersion,
|
version: scope.strapiVersion,
|
||||||
node_version: process.version,
|
nodeVersion: process.versions.node,
|
||||||
docker: scope.docker,
|
docker: scope.docker,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,6 +53,21 @@ function captureStderr(name, error) {
|
|||||||
return captureError(name);
|
return captureError(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getProperties = (scope, error) => ({
|
||||||
|
error: typeof error === 'string' ? error : error && error.message,
|
||||||
|
os: os.type(),
|
||||||
|
osPlatform: os.platform(),
|
||||||
|
osArch: os.arch(),
|
||||||
|
osRelease: os.release(),
|
||||||
|
version: scope.strapiVersion,
|
||||||
|
nodeVersion: process.versions.node,
|
||||||
|
docker: scope.docker,
|
||||||
|
useYarn: scope.useYarn,
|
||||||
|
useTypescriptOnServer: scope.useTypescript,
|
||||||
|
useTypescriptOnAdmin: scope.useTypescript,
|
||||||
|
noRun: (scope.runQuickstartApp !== true).toString(),
|
||||||
|
});
|
||||||
|
|
||||||
function trackEvent(event, body) {
|
function trackEvent(event, body) {
|
||||||
if (process.env.NODE_ENV === 'test') {
|
if (process.env.NODE_ENV === 'test') {
|
||||||
return;
|
return;
|
||||||
@ -76,19 +91,7 @@ function trackEvent(event, body) {
|
|||||||
|
|
||||||
function trackError({ scope, error }) {
|
function trackError({ scope, error }) {
|
||||||
const { uuid } = scope;
|
const { uuid } = scope;
|
||||||
|
const properties = getProperties(scope, error);
|
||||||
const properties = {
|
|
||||||
error: typeof error === 'string' ? error : error && error.message,
|
|
||||||
os: os.type(),
|
|
||||||
platform: os.platform(),
|
|
||||||
release: os.release(),
|
|
||||||
version: scope.strapiVersion,
|
|
||||||
nodeVersion: process.version,
|
|
||||||
docker: scope.docker,
|
|
||||||
useYarn: scope.useYarn,
|
|
||||||
useTypescriptOnServer: scope.useTypescript,
|
|
||||||
useTypescriptOnAdmin: scope.useTypescript,
|
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return trackEvent('didNotCreateProject', {
|
return trackEvent('didNotCreateProject', {
|
||||||
@ -104,21 +107,7 @@ function trackError({ scope, error }) {
|
|||||||
|
|
||||||
function trackUsage({ event, scope, error }) {
|
function trackUsage({ event, scope, error }) {
|
||||||
const { uuid } = scope;
|
const { uuid } = scope;
|
||||||
|
const properties = getProperties(scope, error);
|
||||||
const properties = {
|
|
||||||
error: typeof error === 'string' ? error : error && error.message,
|
|
||||||
os: os.type(),
|
|
||||||
os_arch: os.arch(),
|
|
||||||
os_platform: os.platform(),
|
|
||||||
os_release: os.release(),
|
|
||||||
node_version: process.version,
|
|
||||||
version: scope.strapiVersion,
|
|
||||||
docker: scope.docker,
|
|
||||||
useYarn: scope.useYarn.toString(),
|
|
||||||
useTypescriptOnServer: scope.useTypescript,
|
|
||||||
useTypescriptOnAdmin: scope.useTypescript,
|
|
||||||
noRun: (scope.runQuickstartApp !== true).toString(),
|
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return trackEvent(event, {
|
return trackEvent(event, {
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user