diff --git a/app/api/activitylog/activitylogMiddleware.ts b/app/api/activitylog/activitylogMiddleware.ts index 7a3f617bbc..2acf45ea0b 100644 --- a/app/api/activitylog/activitylogMiddleware.ts +++ b/app/api/activitylog/activitylogMiddleware.ts @@ -26,6 +26,7 @@ export const BODY_REQUIRED_ENDPOINTS = [ '/api/files/upload/custom', '/api/attachments/upload', '/api/public', + '/api/entities', ]; function mustBeLogged(baseurl: string, method: string, body: { [k: string]: any }) { diff --git a/app/api/activitylog/activitylogParser.ts b/app/api/activitylog/activitylogParser.ts index b85f3f4c40..f78b494982 100644 --- a/app/api/activitylog/activitylogParser.ts +++ b/app/api/activitylog/activitylogParser.ts @@ -68,6 +68,10 @@ const entryValues: { [key: string]: EntryValue } = { method: Methods.Create, idField: 'sharedId', nameField: 'title', + nameFunc: data => { + const body = data.entity ? JSON.parse(data.entity) : data; + return body.sharedId ? `${body.title} (${body.sharedId})` : body.title; + }, related: helpers.loadTemplate, extra: helpers.extraTemplate, }, diff --git a/app/api/activitylog/helpers.js b/app/api/activitylog/helpers.js index a0f3b2a653..2c0a9d0880 100644 --- a/app/api/activitylog/helpers.js +++ b/app/api/activitylog/helpers.js @@ -40,7 +40,14 @@ const loadEntityFromPublicForm = async data => { }; const loadTemplate = async data => { - const templateData = await templates.getById(data.template || data._id); + let templateId = data.template || data._id; + + if (data.entity) { + const entity = JSON.parse(data.entity); + templateId = entity.template; + } + + const templateData = await templates.getById(templateId); return { ...data, templateData }; }; diff --git a/app/api/activitylog/specs/activitylogParser.spec.js b/app/api/activitylog/specs/activitylogParser.spec.js index 2643915e09..ab19858e7d 100644 --- a/app/api/activitylog/specs/activitylogParser.spec.js +++ b/app/api/activitylog/specs/activitylogParser.spec.js @@ -51,6 +51,22 @@ describe('Activitylog Parser', () => { describe('routes: /api/entities and /api/documents', () => { describe('method: POST', () => { + it('should beautify with body when it is a multipart request', async () => { + await testBeautified( + { + method: 'POST', + url: '/api/entities', + body: `{"entity":${JSON.stringify(`{"title":"New Entity","template":"${firstTemplate.toString()}"}`)}}`, + }, + { + action: 'CREATE', + description: 'Created entity', + name: 'New Entity', + extra: 'of type Existing Template', + } + ); + }); + it('should beautify as CREATE when no ID found', async () => { await testBeautified( { diff --git a/app/api/entities/routes.js b/app/api/entities/routes.js index f3a6bcb5c7..a0f1209cab 100644 --- a/app/api/entities/routes.js +++ b/app/api/entities/routes.js @@ -1,6 +1,7 @@ import { search } from 'api/search'; import { uploadMiddleware } from 'api/files'; import { saveEntity } from 'api/entities/entitySavingManager'; +import activitylogMiddleware from 'api/activitylog/activitylogMiddleware'; import entities from './entities'; import templates from '../templates/templates'; import thesauri from '../thesauri/thesauri'; @@ -76,6 +77,7 @@ export default app => { '/api/entities', needsAuthorization(['admin', 'editor', 'collaborator']), uploadMiddleware.multiple(), + activitylogMiddleware, async (req, res, next) => { try { const entityToSave = req.body.entity ? JSON.parse(req.body.entity) : req.body; diff --git a/app/react/App.tsx b/app/react/App.tsx index b6c7d746ef..5148cde22a 100644 --- a/app/react/App.tsx +++ b/app/react/App.tsx @@ -4,17 +4,19 @@ import { MutableSnapshot, RecoilRoot } from 'recoil'; import { Provider } from 'react-redux'; import { getRoutes } from './Routes'; import CustomProvider from './App/Provider'; -import { settingsAtom } from './V2/atoms/settingsAtom'; +import { settingsAtom, templatesAtom } from './V2/atoms'; import { store } from './store'; const reduxState = store?.getState(); const settings = reduxState?.settings.collection.toJS() || {}; +const templates = reduxState?.templates.toJS() || []; const router = createBrowserRouter(getRoutes(settings, reduxState?.user.get('_id'))); const recoilGlobalState = ({ set }: MutableSnapshot) => { set(settingsAtom, settings); + set(templatesAtom, templates); }; const App = () => ( diff --git a/app/react/Auth2fa/Configure2fa.tsx b/app/react/Auth2fa/Configure2fa.tsx index 6e976ae7fc..4e4f8d1d66 100644 --- a/app/react/Auth2fa/Configure2fa.tsx +++ b/app/react/Auth2fa/Configure2fa.tsx @@ -80,7 +80,6 @@ class Configure2fa extends Component { render() { const { otpauth, secret, conflict } = this.state; const { userUsing2fa } = this.props; - console.log('userUsing2fa', otpauth); return (
diff --git a/app/react/V2/Components/UI/Table/Table.tsx b/app/react/V2/Components/UI/Table/Table.tsx index d70383d08b..20b36678a7 100644 --- a/app/react/V2/Components/UI/Table/Table.tsx +++ b/app/react/V2/Components/UI/Table/Table.tsx @@ -79,7 +79,8 @@ const Table = ({ sorting: sortingState, ...applyForSelection({ rowSelection }, {}, enableSelection), }, - enableRowSelection: enableSelection, + enableRowSelection: (row: any) => + Boolean(enableSelection && !row.original?.disableRowSelection), enableSubRowSelection: false, onRowSelectionChange: applyForSelection(setRowSelection, () => undefined, enableSelection), onSortingChange: sortingFunction, diff --git a/app/react/V2/Components/UI/Table/TableElements.tsx b/app/react/V2/Components/UI/Table/TableElements.tsx index 405c7b6162..1126807999 100644 --- a/app/react/V2/Components/UI/Table/TableElements.tsx +++ b/app/react/V2/Components/UI/Table/TableElements.tsx @@ -31,6 +31,7 @@ const IndeterminateCheckbox = ({ indeterminate, className = '', id, + disabled, ...rest }: { indeterminate?: boolean } & HTMLProps) => { const ref = useRef(null!); @@ -53,7 +54,8 @@ const IndeterminateCheckbox = ({ diff --git a/app/react/V2/atoms/index.ts b/app/react/V2/atoms/index.ts index 1ca7bb4cc4..9ce188d7e3 100644 --- a/app/react/V2/atoms/index.ts +++ b/app/react/V2/atoms/index.ts @@ -1,4 +1,6 @@ import { notificationAtom, notificationAtomType } from './notificationAtom'; +import { settingsAtom } from './settingsAtom'; +import { templatesAtom } from './templatesAtom'; export type { notificationAtomType }; -export { notificationAtom }; +export { notificationAtom, settingsAtom, templatesAtom }; diff --git a/app/react/V2/atoms/templatesAtom.tsx b/app/react/V2/atoms/templatesAtom.tsx new file mode 100644 index 0000000000..8e646591b1 --- /dev/null +++ b/app/react/V2/atoms/templatesAtom.tsx @@ -0,0 +1,18 @@ +import { atom } from 'recoil'; +import { Template } from 'app/apiResponseTypes'; +import { store } from 'app/store'; + +const templatesAtom = atom({ + key: 'templates', + default: [] as Template[], + //sync deprecated redux store + effects: [ + ({ onSet }) => { + onSet(newValue => { + store?.dispatch({ type: 'templates/SET', value: newValue }); + }); + }, + ], +}); + +export { templatesAtom }; diff --git a/package.json b/package.json index 9e33da7c2c..59044fdb0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uwazi", - "version": "1.156.0", + "version": "1.157.0", "description": "Uwazi is a free, open-source solution for organising, analysing and publishing your documents.", "keywords": [ "react" @@ -101,10 +101,10 @@ "@hookform/error-message": "^2.0.1", "@loadable/component": "^5.13.1", "@popperjs/core": "^2.11.8", - "@remix-run/router": "^1.15.1", - "@sentry/node": "^7.102.1", - "@sentry/react": "7.102.1", - "@sentry/tracing": "^7.102.1", + "@remix-run/router": "^1.15.2", + "@sentry/node": "^7.103.0", + "@sentry/react": "7.103.0", + "@sentry/tracing": "^7.103.0", "@smithy/node-http-handler": "^2.3.1", "@socket.io/redis-adapter": "7.2.0", "@socket.io/redis-emitter": "5.1.0", @@ -240,7 +240,7 @@ "world-countries": "5.0.0", "xml-js": "^1.6.11", "yargs": "^17.7.2", - "yauzl": "^3.1.0", + "yauzl": "^3.1.1", "yazl": "^2.5.1" }, "devDependencies": { @@ -260,7 +260,7 @@ "@babel/plugin-transform-modules-commonjs": "^7.23.3", "@babel/plugin-transform-react-constant-elements": "^7.23.3", "@babel/plugin-transform-react-inline-elements": "^7.23.3", - "@babel/preset-env": "^7.23.9", + "@babel/preset-env": "^7.24.0", "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.23.3", "@babel/register": "^7.23.7", @@ -341,7 +341,7 @@ "eslint-plugin-cypress": "^2.15.1", "eslint-plugin-import": "v2.29.1", "eslint-plugin-jasmine": "4.1.3", - "eslint-plugin-jest": "v27.8.0", + "eslint-plugin-jest": "v27.9.0", "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "5.1.3", diff --git a/yarn.lock b/yarn.lock index e8e1d7d750..444cb749ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -634,7 +634,7 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== @@ -814,10 +814,10 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== "@babel/helper-remap-async-to-generator@^7.22.20": version "7.22.20" @@ -1371,14 +1371,14 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== +"@babel/plugin-transform-object-rest-spread@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz#7b836ad0088fdded2420ce96d4e1d3ed78b71df1" + integrity sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w== dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.23.3" @@ -1579,14 +1579,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.23.2", "@babel/preset-env@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" - integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== +"@babel/preset-env@^7.23.2", "@babel/preset-env@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.0.tgz#11536a7f4b977294f0bdfad780f01a8ac8e183fc" + integrity sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA== dependencies: "@babel/compat-data" "^7.23.5" "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-validator-option" "^7.23.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" @@ -1639,7 +1639,7 @@ "@babel/plugin-transform-new-target" "^7.23.3" "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.24.0" "@babel/plugin-transform-object-super" "^7.23.3" "@babel/plugin-transform-optional-catch-binding" "^7.23.4" "@babel/plugin-transform-optional-chaining" "^7.23.4" @@ -3769,109 +3769,109 @@ resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.0.tgz#461a952c2872dd82c8b2e9b74c4dfaff569123e2" integrity sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ== -"@remix-run/router@^1.15.1": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.1.tgz#221fd31a65186b9bc027b74573485fb3226dff7f" - integrity sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w== - -"@sentry-internal/feedback@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.102.1.tgz#747f88c2881c76fddd16bce57cc4bc17b4c2af93" - integrity sha512-vY4hpLLMNLjICtWiizc7KeGbWOTUMGrF7C+9dPCztZww3CLgzWy9A7DvPj5hodRiYzpdRnAMl8yQnMFbYXh7bA== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry-internal/replay-canvas@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.102.1.tgz#f098814ce21fdf95ef6d440d7ff8a6d3bfe73054" - integrity sha512-GUX4RWI10uRjdjeyvCLtAAhWRVqnAnG6+yNxWfqUQ3qMA7B7XxG43KT2UhSnulmErNzODQ6hA68rGPwwYeRIww== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/replay" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry-internal/tracing@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.102.1.tgz#5c39c8f04a4a1a665fb6d368e1cd13605152f18b" - integrity sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/browser@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.102.1.tgz#30d3da587b2b6542b3d9e39d923ed28a2704d454" - integrity sha512-7BOfPBiM7Kp6q/iy0JIbsBTxIASV+zWXByqqjuEMWGj3X2u4oRIfm3gv4erPU/l+CORQUVQZLSPGoIoM1gbB/A== - dependencies: - "@sentry-internal/feedback" "7.102.1" - "@sentry-internal/replay-canvas" "7.102.1" - "@sentry-internal/tracing" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/replay" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/core@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.102.1.tgz#855d37b6bba9986a9380864c823e696d3fc5aa01" - integrity sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg== - dependencies: - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/node@^7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.102.1.tgz#3e787ab2628c5950916f25c335a4eb6c0ea93ea5" - integrity sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw== - dependencies: - "@sentry-internal/tracing" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/react@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.102.1.tgz#c4ef94be7ee7ee4267d513ddccd29ce63f16e48f" - integrity sha512-X4j2DgbktlEifnd21YJKCayAmff5hnaS+9MNz9OonEwD0ARi0ks7bo0wtWHMjPK20992MO+JwczVg/1BXJYDdQ== - dependencies: - "@sentry/browser" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" +"@remix-run/router@^1.15.2": + version "1.15.2" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.2.tgz#35726510d332ba5349c6398d13259d5da184553d" + integrity sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q== + +"@sentry-internal/feedback@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.103.0.tgz#0b382b8fc9fc583be1164ff80df07fbe87b565b3" + integrity sha512-2nYoCfP7FpiUR+xxO5y5BL2ajHrhM4fL7HSup6QKNn7gI7vLyllYOOuYFNHhSmsXCD0i00U8DBClGLcn+6DQqw== + dependencies: + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry-internal/replay-canvas@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.103.0.tgz#d601e56c04fd51b226f6c2933e28a8ce6955e3ba" + integrity sha512-EyDRMdlSqtwY8zGFhOWwl+nwwo98hlhJz+bpF5PQ6VmFpbplh6Wqfx2p+cPXQr40TGMMC4+vPFlSWTOMjcO9zQ== + dependencies: + "@sentry/core" "7.103.0" + "@sentry/replay" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry-internal/tracing@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.103.0.tgz#b18ef65f610099ee2fc74f91f9ccfdb0353580c4" + integrity sha512-sZ/Wao8HOvGaBs7WlOdflMpHGAFkOBWL6hBiirHaOy5d+IDm7n7et5U6zhvcfiyYBO4nY36gy1Tg5mw+aNO0Vw== + dependencies: + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/browser@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.103.0.tgz#b509394d238e67f6225339c242701710ea347508" + integrity sha512-lP3Oplnwo1lY8ltk8SWzQURbxnSfVhYA099mVs1T95sdwXS16Za6SX7Ld/9T506ZW/WyoU4VCq7eKtG2kPFhMQ== + dependencies: + "@sentry-internal/feedback" "7.103.0" + "@sentry-internal/replay-canvas" "7.103.0" + "@sentry-internal/tracing" "7.103.0" + "@sentry/core" "7.103.0" + "@sentry/replay" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/core@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.103.0.tgz#8f626362c96f9aa4b4a52042c431d16372491dc1" + integrity sha512-LCI+PIDoF/RLqN41fNXum3ilmS6ukni6L7t38vSdibbe2G0804EbPLtOIpv2PkS8E6CFuRW5zOb+8OwEAAtZWw== + dependencies: + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/node@^7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.103.0.tgz#9cf488086717c2920c43568432d14232b6783a9e" + integrity sha512-/bS/WNeO+PEd0r3o3LN0XGJV+l7hLNy1dTcn61VRgWGVs8SqMBb3uAvXAibZ9zGTCkaX/Ky3JumMcOOoxmNCtg== + dependencies: + "@sentry-internal/tracing" "7.103.0" + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" + +"@sentry/react@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.103.0.tgz#797016011b333963db9dc26dcc4540b69c331901" + integrity sha512-EyWZi9u94RShzAK/vpkXNCdkocMtb98AbxRZOjuFL+pf4jjwxdPRekGGzXz7St0cf56Mv3oHNk6QGDA0PF7mlQ== + dependencies: + "@sentry/browser" "7.103.0" + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" hoist-non-react-statics "^3.3.2" -"@sentry/replay@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.102.1.tgz#d6c17332d14dc312b124bbbda8f35d6a982b893c" - integrity sha512-HR/j9dGIvbrId8fh8mQlODx7JrhRmawEd9e9P3laPtogWCg/5TI+XPb2VGSaXOX9VWtb/6Z2UjHsaGjgg6YcuA== +"@sentry/replay@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.103.0.tgz#6b420f1a33784e76533bb72ea9743e8ad34c0b23" + integrity sha512-I37komyb+DruQG8lPPPOFxLLbOijNXeTxiWLsIn+KFZqRtKqxxQWdNnk56V4YSTpFzxnMEFMRCpXhncuTWu4LA== dependencies: - "@sentry-internal/tracing" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" + "@sentry-internal/tracing" "7.103.0" + "@sentry/core" "7.103.0" + "@sentry/types" "7.103.0" + "@sentry/utils" "7.103.0" -"@sentry/tracing@^7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.102.1.tgz#6594b1b01e0fd1201dca2a12f32919bd9b5d8a4d" - integrity sha512-9VQEox0R7ouhhUVHtBwlGlXG5beDCM/Uo0BY+G0M1H03aFJsLAwnxPNeWnK3WvPejxf94EgdimKMjDjv9l2Sbg== +"@sentry/tracing@^7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.103.0.tgz#2f8250e49fedef836ae93ded109daf8b3d2432ad" + integrity sha512-wlL9XidxcjC1dWXj7KSdYMgPgK+ry4dYy+YoW9gqRL+FbS6BJebV73Tni+5zponzCW+LMWP/IgMIB9IZt0WWTQ== dependencies: - "@sentry-internal/tracing" "7.102.1" + "@sentry-internal/tracing" "7.103.0" -"@sentry/types@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.102.1.tgz#18c35f32ecbd12afb9860ca2de7bfff542d10b27" - integrity sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA== +"@sentry/types@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.103.0.tgz#f413f922216c97ec86bae39f9d527669d8afedbd" + integrity sha512-NCvKyx8d2AGBQKPARrJemZmZ16DiMo688OEikZg4BbvFNDUzK5Egm2BH0vfLDhbNkU19o3maJowrYo42m8r9Zw== -"@sentry/utils@7.102.1": - version "7.102.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.102.1.tgz#45ddcdf2e700d40160347bbdf4233aff3179d398" - integrity sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg== +"@sentry/utils@7.103.0": + version "7.103.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.103.0.tgz#803b76e2adfdcec0d4ab6369cc8990dde19b55f4" + integrity sha512-phkUJt3F0UOkVq+M4GfdAh2ewI3ASrNiJddx9aO7GnT0aDwwVBHZltnqt95qgAB8W+BipTSt1dAh8yUbbq1Ceg== dependencies: - "@sentry/types" "7.102.1" + "@sentry/types" "7.103.0" "@sideway/address@^4.1.3": version "4.1.4" @@ -9631,13 +9631,14 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.61, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.61" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" - integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.61, es5-ext@^0.10.62, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.64" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" + integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== dependencies: es6-iterator "^2.0.3" es6-symbol "^3.1.3" + esniff "^2.0.1" next-tick "^1.1.0" es6-iterator@^2.0.3: @@ -9828,10 +9829,10 @@ eslint-plugin-jasmine@4.1.3: resolved "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-4.1.3.tgz#c4ced986a61dd5b180982bafe6da1cbac0941c52" integrity sha512-q8j8KnLH/4uwmPELFZvEyfEcuCuGxXScJaRdqHjOjz064GcfX6aoFbzy5VohZ5QYk2+WvoqMoqDSb9nRLf89GQ== -eslint-plugin-jest@v27.8.0: - version "27.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.8.0.tgz#c8900c3e74e4c6b8cee67ea77dbc8de9cbd9e093" - integrity sha512-347hVFiu4ZKMYl5xFp0X81gLNwBdno0dl0CMpUMjwuAux9X/M2a7z+ab2VHmPL6XCT87q8nv1vaVzhIO4TE/hw== +eslint-plugin-jest@v27.9.0: + version "27.9.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz#7c98a33605e1d8b8442ace092b60e9919730000b" + integrity sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -9996,6 +9997,16 @@ eslint@v8.56.0: strip-ansi "^6.0.1" text-table "^0.2.0" +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -19455,10 +19466,10 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== -type@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== +type@^2.5.0, type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== typed-array-buffer@^1.0.0: version "1.0.0" @@ -20598,10 +20609,10 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -yauzl@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.1.0.tgz#6ebf3c3bb11372dd45e458e78aa5571a9a422223" - integrity sha512-zbff6SaAPyewVextulqeBjJm+1ZhS69vSN7cRpqVD7jMNSE9oXEdQ1SGF+ydfB+gKE2a3GiWfXf/pnwVZ1/tOA== +yauzl@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.1.1.tgz#d85503cc34933c0bcb3646ee2b97afedbebe32e7" + integrity sha512-MPxA7oN5cvGV0wzfkeHKF2/+Q4TkMpHSWGRy/96I4Cozljmx0ph91+Muxh6HegEtDC4GftJ8qYDE51vghFiEYA== dependencies: buffer-crc32 "~0.2.3" pend "~1.2.0"