diff --git a/apps/clients/index.html b/apps/clients/index.html index 0c424af..ba3e01b 100644 --- a/apps/clients/index.html +++ b/apps/clients/index.html @@ -2,6 +2,7 @@ + Xtablo — Portail client diff --git a/apps/clients/package.json b/apps/clients/package.json index 699fa82..bae1419 100644 --- a/apps/clients/package.json +++ b/apps/clients/package.json @@ -38,6 +38,8 @@ "wrangler": "^4.24.3" }, "dependencies": { + "@datadog/browser-rum": "^6.13.0", + "@datadog/browser-rum-react": "^6.13.0", "@tanstack/react-query": "^5.69.0", "@xtablo/auth-ui": "workspace:*", "@xtablo/shared": "workspace:*", diff --git a/apps/clients/public/icon.jpg b/apps/clients/public/icon.jpg new file mode 100644 index 0000000..026425e Binary files /dev/null and b/apps/clients/public/icon.jpg differ diff --git a/apps/clients/src/lib/rum.ts b/apps/clients/src/lib/rum.ts new file mode 100644 index 0000000..4a512ab --- /dev/null +++ b/apps/clients/src/lib/rum.ts @@ -0,0 +1,23 @@ +import { datadogRum } from "@datadog/browser-rum"; +import { reactPlugin } from "@datadog/browser-rum-react"; + +datadogRum.init({ + applicationId: "8e268e1a-1be0-44c6-b12a-978530d497c7", + clientToken: "pub1761af09ab04e215cc90d34da6ac576b", + site: "datadoghq.com", + service: "xtablo-clients-ui", + env: import.meta.env.MODE, + version: import.meta.env.VITE_APP_VERSION, + + sessionSampleRate: 100, + sessionReplaySampleRate: 80, + defaultPrivacyLevel: "mask-user-input", + plugins: [reactPlugin({ router: true })], + trackViewsManually: true, + trackUserInteractions: true, + trackResources: true, + trackingConsent: "granted", + startSessionReplayRecordingManually: false, +}); + +export default datadogRum; diff --git a/apps/clients/src/main.tsx b/apps/clients/src/main.tsx index 073fb40..6d41477 100644 --- a/apps/clients/src/main.tsx +++ b/apps/clients/src/main.tsx @@ -13,6 +13,7 @@ import "@xtablo/ui/styles/globals.css"; import "@xtablo/tablo-views/styles/tablo-details-shell.css"; import "./main.css"; import "./i18n"; +import "./lib/rum"; createRoot(document.getElementById("client-root")!).render( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef82179..5b8c7a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: 2.2.5 '@datadog/datadog-ci': specifier: ^4.3.0 - version: 4.4.0(@types/node@22.18.12) + version: 4.4.0 turbo: specifier: ^2.5.8 version: 2.5.8 @@ -218,6 +218,12 @@ importers: apps/clients: dependencies: + '@datadog/browser-rum': + specifier: ^6.13.0 + version: 6.22.0 + '@datadog/browser-rum-react': + specifier: ^6.13.0 + version: 6.22.0(@datadog/browser-rum@6.22.0)(react-router-dom@7.9.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-router@7.9.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) '@tanstack/react-query': specifier: ^5.69.0 version: 5.90.5(react@19.0.0) @@ -11635,7 +11641,7 @@ snapshots: - '@types/node' - supports-color - '@datadog/datadog-ci-base@4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)': + '@datadog/datadog-ci-base@4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)': dependencies: '@antfu/install-pkg': 1.1.0 '@types/datadog-metrics': 0.6.1 @@ -11649,7 +11655,7 @@ snapshots: fast-xml-parser: 4.5.3 form-data: 4.0.4 glob: 10.5.0 - inquirer: 8.2.7(@types/node@22.18.12) + inquirer: 8.2.7(@types/node@20.19.23) jest-diff: 30.2.0 jszip: 3.10.1 proxy-agent: 6.5.0 @@ -11689,7 +11695,7 @@ snapshots: '@datadog/datadog-ci-plugin-deployment@4.4.0(@datadog/datadog-ci-base@4.4.0)': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) axios: 1.12.2(debug@4.4.3) chalk: 3.0.0 simple-git: 3.16.0 @@ -11699,7 +11705,7 @@ snapshots: '@datadog/datadog-ci-plugin-dora@4.4.0(@datadog/datadog-ci-base@4.4.0)': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) axios: 1.12.2(debug@4.4.3) chalk: 3.0.0 simple-git: 3.16.0 @@ -11709,7 +11715,7 @@ snapshots: '@datadog/datadog-ci-plugin-gate@4.4.0(@datadog/datadog-ci-base@4.4.0)': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) '@types/uuid': 9.0.8 axios: 1.12.2(debug@4.4.3) chalk: 3.0.0 @@ -11719,7 +11725,7 @@ snapshots: '@datadog/datadog-ci-plugin-sarif@4.4.0(@datadog/datadog-ci-base@4.4.0)': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) ajv: 8.18.0 ajv-formats: 2.1.1(ajv@8.18.0) axios: 1.12.2(debug@4.4.3) @@ -11734,7 +11740,7 @@ snapshots: '@datadog/datadog-ci-plugin-sbom@4.4.0(@datadog/datadog-ci-base@4.4.0)': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) ajv: 8.18.0 ajv-formats: 2.1.1(ajv@8.18.0) axios: 1.12.2(debug@4.4.3) @@ -11748,7 +11754,7 @@ snapshots: '@datadog/datadog-ci-plugin-synthetics@4.4.0(@datadog/datadog-ci-base@4.4.0)': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) axios: 1.12.2(debug@4.4.3) chalk: 3.0.0 debug: 4.4.3 @@ -11768,9 +11774,9 @@ snapshots: - supports-color - utf-8-validate - '@datadog/datadog-ci@4.4.0(@types/node@22.18.12)': + '@datadog/datadog-ci@4.4.0': dependencies: - '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12) + '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0) '@datadog/datadog-ci-plugin-deployment': 4.4.0(@datadog/datadog-ci-base@4.4.0) '@datadog/datadog-ci-plugin-dora': 4.4.0(@datadog/datadog-ci-base@4.4.0) '@datadog/datadog-ci-plugin-gate': 4.4.0(@datadog/datadog-ci-base@4.4.0) @@ -12383,13 +12389,6 @@ snapshots: optionalDependencies: '@types/node': 20.19.23 - '@inquirer/external-editor@1.0.2(@types/node@22.18.12)': - dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.0 - optionalDependencies: - '@types/node': 22.18.12 - '@internationalized/date@3.10.0': dependencies: '@swc/helpers': 0.5.17 @@ -17550,26 +17549,6 @@ snapshots: transitivePeerDependencies: - '@types/node' - inquirer@8.2.7(@types/node@22.18.12): - dependencies: - '@inquirer/external-editor': 1.0.2(@types/node@22.18.12) - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 6.2.0 - transitivePeerDependencies: - - '@types/node' - internal-slot@1.1.0: dependencies: es-errors: 1.3.0