Files
lasuite-docs/src/frontend/apps/impress/package.json
T
Manuel Raynaud dbf8fece4e 🔖(release) major 6.0.0
Added

- 👷(ci) lint, typecheck, build and test the collaboration server (yhub) #2757
- 👷(ci) check the load-test tooling: swarm, canary, k6 and dashboards #2757
- 👷(ci) cancel the superseded runs of a pull request #2757
- ✨(backend) add mention endpoint with cooldown-limited email
  notification #2447
- 🚩(setting) add feature flag on Duplicate with Children #2721
- 💄(frontend) redesign 404 error standalone page #2696
- 💄(frontend) redesign 403 access denied page #2720
- ✨(frontend) duplicate with subdocuments #2584
- ✨(frontend) add markdown download option #2608
- ✨(frontend) turn pasted doc links into interlinks #2713
- ✨(helm) allow disallowing search engine indexing per instance #2694
- ✨(backend) expose the attachment max size in the config endpoint #2577
- ✨(frontend) warn before uploading an attachment over the size limit #2577
- ✨(loadtest) add a websocket load generator for the collaboration
  server #2556
- ✨(loadtest) add k6 scenarios for the page-open sequence and the heavy
  endpoints #2556
- ✨(loadtest) add browser canaries measuring what a user feels under
  load #2556
- ✨(loadtest) add the grafana dashboards of the load-test campaign, valkey
  included #2556
- 📝(documentation) add the load-testing guide #2556
- 🔧(helm) run grafana with those dashboards in the dev cluster, in place of
  the prometheus console #2556
- ✨(backend) measure the calls to yhub and to the converters, the database
  pool and the celery queue #2556
- ✨(backend) add a `LoadTest` configuration and its `loadtest` application,
  minting sessions for load tests #2556
- ✨(collaboration) add opt-in prometheus metrics to yhub, server and worker,
  protected by a bearer token #2556
- ✨(collaboration) report yhub errors to sentry, configured through
  `SENTRY_*` #2556
- ✨(backend) add opt-in prometheus metrics on `/metrics`, protected by a
  bearer token #2556
- ✨(helm) add a dedicated ingress for the prometheus metrics of the backend
  and of yhub #2556
- ✨(helm) add a ServiceMonitor and a PodMonitor per component whose metrics
  are enabled, and `backend.metrics.enabled` #2556
- 🔧(helm) scrape the metrics of the dev cluster with a trimmed
  kube-prometheus-stack and the ServiceMonitors of the chart #2556
- 🔧(helm) serve the example console of django-prometheus on the dev
  Prometheus #2556
- ✨(backend) add a service generating cached RS256 JWT tokens #2556
- ✨(backend) publish the JWT public key on a JWKS endpoint #2556
- 🔧(dev) generate the JWT signing key when bootstrapping the dev stack #2556
- ✨(collaboration) add an admin reset-connections endpoint on yhub #2556
- ✨(collaboration) add a create-ydoc endpoint on yhub #2556
- ✨(collaboration) soft-migrate legacy S3 documents into yhub #2556
- ✨(collaboration) replay legacy s3 version history into yhub #2556
- ✨(backend) add a service to call the yhub REST API #2556
- ✨(backend) call YHubService to seed initial document content #2556
- ✨(collaboration) add a get-ydoc endpoint on yhub #2556
- ✨(backend) duplicate a document through the collaboration server #2556
- ✨(backend) serve `documents/{id}/formatted-content/` from yhub #2556
- ✨(collaboration) notify the backend when the worker persists new
  content #2556
- ✨(collaboration) let a user read the document's editing history #2556
- ✨(frontend) fall back to http polling when the websocket cannot be
  opened. #2556
- 🔧(collaboration) make the version-history granularity configurable through
  `COLLABORATION_VERSION_GRANULARITY_MS` #2556
- ✨(frontend) keep a local copy of documents, so they open and stay editable
  offline #2556

Changed

- 🛂(backend) let users allowed to comment list each other's accesses #2447
- ♻️(collaboration) migrate the collaboration server from hocuspocus to
  yhub #2556
- 💥(y-provider) y-provider becomes converter-only #2556
- 💥(backend) move the resource server JWKS from `/api/{version}/jwks` to
  `/external_api/{version}/jwks` #2556
- 🔧(collaboration) adapt docker stack for development purpose #2556
- 🔧(helm) run a valkey for the backend and one for yhub in dev and
  feature #2556
- 💄(frontend) redesign 401 error standalone page #2716

Fixed

- 🐛(documentation) fix minio port and keycloak realm in the k8s guide #2751
- 🐛(collaboration) bound the calls yhub makes to the backend with a timeout,
  `YHUB_BACKEND_REQUEST_TIMEOUT_MS`, 5s by default #2753
- 🐛(backend) compensate document duplication failures #2755
- 🐛(frontend) open search results in a new tab with ctrl/cmd+click #2719
- 🐛(docker) pull minio images from pgsty #2739
- 🐛(backend) retry the duplicate of a document on a tree path collision #2726
- 🐛(frontend) keep caption and alignment when replacing an image #2730
- 🐛(backend) reset the collaboration connections on every access change #2725
- ⚡️(backend) coalesce and pace the resets of collaboration connections #2725
- 🐛(frontend) clear callout background on Backspace #2052
- 🐛(export) keep image aspect ratio in PDF columns #2670
- 🐛(frontend) fix redirect after deleting a document #2706
- 🐛(frontend) keep documents draggable with a mouse when zoomed #2727
- 📝(docs) fix markdown typo in installation README #2766
- 🐛(i18n) export locale correctly #2750
- 🐛(frontend) keep login and logout out of the service worker cache #2771
- 🐛(frontend) reduce PostHog volume from web vitals and opt_in spam #2701
- 🐛(frontend) stop reconnecting to the websocket based on the status
  code #2556
- 🐛(frontend) stop the service worker from caching the collaboration server's
  rest api #2556

Removed

- 🔥(backend) remove the unused `CollaborationService` #2556
- 💥(backend) remove the `documents/{id}/can-edit/` endpoint #2556
- 💥(backend) remove the `documents/{id}/content/` endpoint #2556
- 🔥(backend) remove the document version endpoints. #2556
- 🔥(backend) remove `Document.content` #2556

Security

- 🔒️(collaboration) stop read-only users from sharing their cursor #2556
2026-10-09 11:14:07 +02:00

125 lines
4.0 KiB
JSON

{
"name": "app-impress",
"version": "6.0.0",
"repository": "https://github.com/suitenumerique/docs",
"author": "DINUM",
"license": "MIT",
"private": true,
"scripts": {
"dev": "next dev",
"predev": "node scripts/prebuild.mjs",
"build": "prettier --check . && yarn stylelint && next build --webpack",
"prebuild": "node scripts/prebuild.mjs",
"postbuild": "node scripts/postbuild.mjs",
"build:ci": "cp .env.development .env.local && yarn build",
"build-theme": "cunningham -g css,ts -o src/cunningham --utility-classes && yarn prettier && yarn stylelint --fix",
"start": "npx -y serve@latest out",
"lint": "tsc --noEmit && eslint .",
"lint:verbose": "cross-env DEBUG=\"eslint:cli-engine,eslint:linter\" eslint .",
"prettier": "prettier --write .",
"stylelint": "stylelint \"**/*.css\"",
"test": "vitest",
"test:watch": "vitest --watch"
},
"dependencies": {
"@ag-media/react-pdf-table": "2.0.3",
"@ai-sdk/openai": "3.0.119",
"@blocknote/code-block": "0.54.0",
"@blocknote/core": "0.54.0",
"@blocknote/diagram-block": "0.54.0",
"@blocknote/mantine": "0.54.0",
"@blocknote/math-block": "0.54.0",
"@blocknote/react": "0.54.0",
"@blocknote/xl-ai": "0.54.0",
"@blocknote/xl-docx-exporter": "0.54.0",
"@blocknote/xl-multi-column": "0.54.0",
"@blocknote/xl-odt-exporter": "0.54.0",
"@blocknote/xl-pdf-exporter": "0.54.0",
"@dnd-kit/core": "6.3.1",
"@dnd-kit/modifiers": "9.0.0",
"@emoji-mart/data": "1.2.1",
"@emoji-mart/react": "1.1.1",
"@floating-ui/react": "0.27.20",
"@fontsource-variable/inter": "5.3.0",
"@fontsource-variable/material-symbols-outlined": "5.3.8",
"@fontsource/material-icons": "5.3.0",
"@gouvfr-lasuite/ui-components": "1.2.0",
"@lottiefiles/dotlottie-react": "^0.19.6",
"@mantine/core": "9.7.0",
"@mantine/hooks": "9.7.0",
"@react-aria/live-announcer": "3.5.1",
"@react-pdf/math": "2.0.1",
"@react-pdf/renderer": "4.9.0",
"@sentry/nextjs": "10.75.0",
"@tanstack/react-query": "5.104.1",
"@tiptap/extension-find-and-replace": "3.31.4",
"@tiptap/extensions": "*",
"@y/yhub-http-fallback": "0.1.1",
"ai": "6.0.295",
"canvg": "4.0.3",
"clsx": "2.1.1",
"cmdk": "1.1.1",
"emoji-datasource-apple": "16.0.0",
"emoji-mart": "5.6.0",
"emoji-regex": "11.0.0",
"i18next": "26.4.2",
"i18next-browser-languagedetector": "8.2.1",
"idb": "8.0.3",
"lodash": "4.18.1",
"luxon": "3.7.2",
"mathjax-full": "3.2.2",
"mathml2omml": "0.5.0",
"next": "16.3.8",
"posthog-js": "1.436.1",
"react": "*",
"react-aria-components": "1.21.1",
"react-dom": "*",
"react-dropzone": "20.1.2",
"react-i18next": "17.0.15",
"react-intersection-observer": "11.0.1",
"react-resizable-panels": "3.0.6",
"react-select": "5.10.2",
"styled-components": "6.5.3",
"use-debounce": "10.1.1",
"uuid": "14.0.2",
"y-indexeddb": "9.0.12",
"y-prosemirror": "1.3.7",
"y-protocols": "1.0.7",
"y-websocket": "3.1.0",
"yjs": "*",
"zod": "4.6.5",
"zustand": "5.0.15"
},
"devDependencies": {
"@gouvfr-lasuite/ui-tokens": "3.2.0",
"@svgr/webpack": "8.1.0",
"@tanstack/react-query-devtools": "5.104.1",
"@testing-library/dom": "10.4.2",
"@testing-library/jest-dom": "7.0.1",
"@testing-library/react": "16.3.3",
"@testing-library/user-event": "14.6.7",
"@types/lodash": "4.17.25",
"@types/luxon": "3.7.6",
"@types/node": "*",
"@types/react": "*",
"@types/react-dom": "*",
"@vitejs/plugin-react": "6.1.2",
"cross-env": "10.1.0",
"dotenv": "18.0.5",
"eslint-plugin-docs": "*",
"fetch-mock": "12.6.0",
"jsdom": "30.1.2",
"node-fetch": "2.7.0",
"prettier": "3.9.9",
"stylelint": "16.26.1",
"stylelint-config-standard": "39.0.1",
"stylelint-prettier": "5.0.3",
"typescript": "*",
"vite": "8.3.2",
"vitest": "5.0.3",
"webpack": "5.111.1",
"workbox-webpack-plugin": "7.1.0"
},
"packageManager": "yarn@1.22.22"
}