mirror of
https://github.com/suitenumerique/docs.git
synced 2026-10-18 14:07:32 +02:00
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
125 lines
4.0 KiB
JSON
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"
|
|
}
|