- Mar 24, 2025
-
-
Samuel Paccoud - DINUM authored
We can't prevent document editors from copy/pasting content to from one document to another. The problem is that copying content, will copy the urls pointing to attachments but if we don't do anything, the reader of the document to which the content is being pasted, may not be allowed to access the attachment files from the original document. Using the work from the previous commit, we can grant access to the readers of the target document by extracting the attachment keys from the content and adding themto the target document's "attachments" field. Before doing this, we check that the current user can indeed access the attachment files extracted from the content and that they are allowed to edit the current document.
-
Samuel Paccoud - DINUM authored
We took this opportunity to refactor the way access is controlled on media attachments. We now add the media key to a list on the document instance each time a media is uploaded to a document. This list is passed along when a document is duplicated, allowing us to grant access to readers on the new document, even if they don't have or lost access to the original document. We also propose an option to reproduce the same access rights on the duplicate document as what was in place on the original document. This can be requested by passing the "with_accesses=true" option in the query string. The tricky point is that we need to extract attachment keys from the existing documents and set them on the new "attachments" field that is now used to track access rights on media files.
-
Samuel Paccoud - DINUM authored
Migration tests should not import and use factories or models directly from the code because they would not be in sync with the database in the state that each state needs to test it. Instead the migrator object passed as argument allows us to retrieve a minimal version of the models in sync with the state of the database that we are testing. What we get is a minimal model and we need to simulate all the methods that we could have on the real model and that are needed for testing.
-
Samuel Paccoud - DINUM authored
These methods were involved in a bug that was fixed without first evidencing the error in a test: https://github.com/suitenumerique/docs/pull/556 Fixes https://github.com/suitenumerique/docs/issues/567
-
Samuel Paccoud - DINUM authored
Tests were forgotten. While writing the tests, I fixed a few edge cases like the possibility to connect to the collaboration server for an anonymous user.
-
Samuel Paccoud - DINUM authored
These 2 actions had factorized code but a few iterations lead to spaghetti code where factorized code includes "if" clauses. Refactor abstractions so that code factorization really works.
-
Samuel Paccoud - DINUM authored
Documents content is stored in the Ydoc format. We need a util to extract it as xml/text.
-
Jacques ROUSSEL authored
The Tilt stack was not starting properly due to dependency issues. We need to wait for PostgreSQL to be running before starting the migration.
-
renovate[bot] authored
-
- Mar 23, 2025
-
-
Bastien Guerry authored
Contributors are required to sign off their commits: this confirms that they have read and accepted https://developercertificate.org.
-
- Mar 22, 2025
-
-
Sylvain Zimmer authored
Some providers with S3-compatible APIs have slightly different implementations. In this case, Scaleway didn't accept version_id="" and has a different version ID scheme. This was tested successfully and should remain compatible with any other provider.
-
Manuel Raynaud authored
New Ruff rule (C420) detects code that should be linted. We apply this new rule on our code.
-
renovate[bot] authored
-
- Mar 21, 2025
-
-
Anthony LC authored
Marianne font is now part of the UI kit. We can remove it from the project.
-
Nathan Panchout authored
The configuration file has been simplified by importing configurations from @gouvfr-lasuite/ui-kit . Colors and components have been updated to reflect the new values. Additionally, adjustments have been made to global styles, including the addition of styles for Material icons. Form components have also been modified to incorporate the new style properties.
-
Nathan Panchout authored
Added several new dependencies to the `package.json` file, including `@dnd-kit/core`, `@dnd-kit/modifiers`, `@fontsource/material-icons`, and `@gouvfr-lasuite/ui-kit`.
-
Anthony LC authored
Added: -
📝 (doc) add publiccode.yml Changed -🚸 (frontend) ctrl+k modal not when editor is focused Fixed: -🐛 (back) allow only images to be used with the cors-proxy -🐛 (backend) stop returning inactive users on the list endpoint - 🔒️(backend) require at least 5 characters to search for users - 🔒️(back) throttle user list endpoint - 🔒️(back) remove pagination and limit to 5 for user list endpoint -
Anthony LC authored
Multiple ctrl+k could open the search modal, we change the selector, now if the toolbar is displayed we don't open the search modal.
-
Anthony LC authored
We now only search for users when the query is at least 5 characters long.
-
Manuel Raynaud authored
The user list endpoint is throttle to avoid users discovery. The throttle is set to 500 requests per day. This can be changed using the settings API_USERS_LIST_THROTTLE_RATE.
-
Anthony LC authored
The response from the user request is now an array of users, we don't paginate anymore. We adapt the types to reflect this.
-
Manuel Raynaud authored
The user list endpoint does not use anymore a pagination, the results is directly return in a list and the max results returned is limited to 5. In order to modify this limit the settings API_USERS_LIST_LIMIT is used.
-
Samuel Paccoud - DINUM authored
inactive users should not be returned as we don't want users to be able to share new documents with them.
-
Samuel Paccoud - DINUM authored
Listing users is made a little to easy for authenticated users.
-
Anthony LC authored
The colors of the Beta icon were not contrasted enough. This was posing an accessibility issue. We now use a more contrasted color.
-
Anthony LC authored
The title of the docs page was not translatable. We now use the `t` function to translate the title.
-
Paul Mustière authored
Correct language to not be past tense
-
- Mar 20, 2025
-
-
Anthony LC authored
ctrl+k interaction was as well used in the editor. So if the user has a focus on the editor, we don't open the searchmodal.
-
Manuel Raynaud authored
The cors-proxy endpoint allowed to use every type of files and to execute it in the browser. We limit the scope only to images and Content-Security-Policy and Content-Disposition headers are also added to not allow script execution that can be present in a SVG file.
-
- Mar 19, 2025
-
-
Bastien authored
publiccode.yml is a standard for describing Free Software projects, similar to other initiatives such as https://codemeta.github.io. It is particularly suitable for describing projects funded by public administrations. See https://github.com/publiccodeyml/publiccode.yml
-
Anthony LC authored
Added: -
📝 (doc) Added GNU Make link to README -✨ (frontend) add pinning on doc detail -🚩 (frontend) feature flag analytic on copy as html -✨ (frontend) Custom block divider with export -🌐 (i18n) activate dutch language Changed: -🧑💻 (frontend) change literal section open source -♻️ (frontend) replace cors proxy for export -🚨 (gitlint) Allow uppercase in commit messages Fixed: -🐛 (frontend) SVG export -🐛 (frontend) remove scroll listener table content - 🔒️(back) restrict access to favorite_list endpoint -🐛 (backend) refactor to fix filtering on children and descendants views -🐛 (action) fix notify-argocd workflow -🚨 (helm) fix helmfile lint -🚚 (frontend) redirect to 401 page when 401 error -
Anthony LC authored
Some SVGs were pixelized in the exported files. We now add the wanted size to the svg conversion to make sure the images are exported with the correct size and so less pixelized.
-
- Mar 18, 2025
-
-
Anthony LC authored
`useAnalytics` hooks was dispatching methods that caused children components to be unmounted. By declaring the methods out of the hook, we can prevent the components from being unmounted.
-
Anthony LC authored
Users could still be able to edit a document if the session was expired. It could give the feeling that the document was not saved. If during a mutation request (POST, PUT, DELETE), the server returns a 401 error, the user is redirected to the 401 page.
-
Pedro Manse authored
Just like docker-compose, create link to the software's site on it's first mention.
📝 (Changelog) Added entry📝 (Changelog) Added pull request id -
Anthony LC authored
Many developers use uppercase as the first letter in their commit messages, it creates an error. We will allow uppercase in commit messages to lower frustration when committing.
-
Cameron King authored
Adds PostgreSQL user and database names to the docker-compose.yaml healthchecks. This resolves an error that appears in the logs, where 'root' is used by default.
-
Manuel Raynaud authored
All the dutch translations are complete on crowdin. We activate it in the django settings and download all translations from crowdin
-
- Mar 17, 2025
-
-
virgile-dev authored
The current link redirects to a 404. New link redirect to homepage.
-
Manuel Raynaud authored
Swaggers urls where not using the same base route path /api/v1.0, we prepend it to have the same path everywhere. Moreover, a double slash was used for swagger and redoc dashboard.
-