Commit graph

1837 commits

Author SHA1 Message Date
Anthony LC
29f2c2ebdf
💄(frontend) fix flickering tree title
The title was flickering because the icons were
loading and pushing the div to the left. We do not
need the icons part if we are not hovering the tree
item, so we can hide it until we hover the item.
2026-03-09 14:43:38 +01:00
Anthony LC
9d320092df
⬆️(frontend) bump blocknote to 0.47.1
Bump BlockNote to 0.47.1 to fix the issues with
the ai selections.
2026-03-09 14:43:38 +01:00
Anthony LC
77535b0292
🚸(frontend) change position elements toolbar
The AI and comment toolbar buttons are now
positioned at the end of the toolbar.
They were taking too much space on the left
which was not ideal for user experience.
2026-03-09 14:43:38 +01:00
Anthony LC
770c22b1a6
🐛(frontend) fix bug when language not supported by BN
When a language was not supported by BlockNote,
the editor would crash. This commit adds a default
locale fallback to prevent the crash and ensure
the editor remains functional even when the
user's language is not supported.
2026-03-09 14:43:37 +01:00
Anthony LC
3c980512be
🐛(frontend) improve position ai menu elements
The right part of the ai menu was not correctly
positioned, this commit fixes this issue.
2026-03-09 14:43:37 +01:00
Anthony LC
76cb6d66a4
🐛(frontend) fix panel collapse handle
When handling to the left, the panel could totally
collapse, and do beeing unsync with the state of
the left panel (open or closed).
We now keep the collapsing deactivate until
the state of the left panel is closing.
2026-03-09 14:03:57 +01:00
Anthony LC
6cef5ff2a0
🐛(frontend) fix buttons closing panel
When clicking on the home button, the left panel was
collapsing, it is a behavior that we want only when
mobile. We improved the logic to only collapse the
panel when we are on mobile devices.
2026-03-09 14:03:57 +01:00
Manuel Raynaud
d816234839
♻️(backend) change treebeard NumConv useage
In version 5 of django-treebeard they change the usage of NumConv for
something easier. They also introduce a breaking change, we have to
change the usage of this class in the migration 15.
2026-03-09 12:10:53 +01:00
renovate[bot]
5dd66f0cdc
⬆️(dependencies) update python dependencies 2026-03-09 12:10:52 +01:00
dtinth-ampere-devbox
0a4052d023
♻️(frontend) replace hardcoded colors with contextual tokens
Replaced hardcoded global color tokens
(gray-000, gray-100, gray-600, white, gainsboro)
with Cunningham contextual tokens to enable proper
dark mode support.

Components updated:
- LeftPanel: background colors
- DropButton: popover background
- DropdownMenu: menu item background
- DocEditor: editor container background
- DocEditor styles: BlockNote CSS variables,
  inline code, links
- TableContent: panel and heading backgrounds

This allows the UI to automatically adapt between
light and dark themes.

Signed-off-by: dtinth-ampere-devbox <dtinth@spacet.me>
Signed-off-by: dtinth on MBP M1 <dtinth@spacet.me>
2026-03-09 11:21:40 +01:00
Anthony LC
189594c839
🐛(frontend) fix zIndex table of content
When we open a modal, the table of content is
above the modal, which is not the expected behavior.
This commit fixes the zIndex of the table of
content to be below the modal.
2026-03-09 10:31:47 +01:00
Mohamed El Amine BOUKERFA
ca286b6de7
🐛(backend) prevent privileged users from requesting access
Privileged users of a document (owners and admins) should not be
allowed to create an access request on a document they already control.
Without aguardrail, they could inadvertently inflate the access
request queue with redundant entries.

More critically, if an owner submits an access request on their own
document, another admin could accept it and grant them a lower role
(e.g. reader), which would silently strip them of their ownership.

Signed-off-by: Mohamed El Amine BOUKERFA <boukerfa.ma@gmail.com>
2026-03-09 10:07:23 +01:00
Anthony LC
6062d0e9c4
🐛(frontend) fix disabled color on icon Dropdown
When the item was disabled, the icon color was not
updated to the disabled color. This commit fixes
this issue by applying the disabled color
to the icon when the item is disabled.
2026-03-06 15:06:00 +01:00
Anthony LC
a51b34a04e
🐛(frontend) analytic feature flags problem
When multiple analytics are registered, if one
analytic has the flag at true, the feature was activated,
even if another analytic had it at false.
We change the logic to require all analytics to
have the flag at true for the feature to be activated.
2026-03-06 14:40:14 +01:00
Johannes Kastl
f294a8e5a3
(helm) allow all keys in configMap as env var in backend jobs
Add `envFrom` support to backend jobs and cronjobs
(`backend_job.yml`, `backend_job_createsuperuser.yaml`,
`backend_job_migrate.yaml`, `backend_cronjob_list.yaml`),
mirroring the `envFrom` support already added to the deployments.

This allows injecting all keys from a ConfigMap or Secret as
environment variables via `backend.envFrom` in the Helm values.

Signed-off-by: Johannes Kastl <git@johannes-kastl.de>
2026-03-06 12:31:54 +01:00
Johannes Kastl
b4591cda10
(helm) allow keys in configMap or secret as env var
The current envVars construct only allows single
keys in a configMap or secret to be used as
environment variables.
This commits keeps this functionality for
backwards compatibility, but adds another
envFrom variable that allows using all keys in a
secret or configMap as environment variables.

Signed-off-by: Johannes Kastl <git@johannes-kastl.de>
2026-03-06 12:29:01 +01:00
Johannes Kastl
301bf43cb7
🐛(helm) only use env: if envVars is defined
Previously, the `env:` key was always rendered in
Kubernetes manifests even when no environment
variables were defined, resulting in an empty
`env:` block. This wraps the entire `env:`
section in a conditional so it is only included
when `envVars` is actually set.

Signed-off-by: Johannes Kastl <git@johannes-kastl.de>
2026-03-06 12:24:12 +01:00
Johannes Kastl
f155e9217e
(helm) allow mounting secrets via extraVolumes
The chart already allows mounting configMaps. This commits adds
the functionality to allow mounting secrets.

Signed-off-by: Johannes Kastl <git@johannes-kastl.de>
2026-03-06 11:32:52 +01:00
Cyril
09fb9671e4
️(frontend) restore focus on docIcon after picker
Use focus store to return focus after emoji picker close.
2026-03-06 10:45:01 +01:00
Cyril
4c0c1f423e
️(frontend) restore focus in docToolBox after modals
Use focus store to return focus to toolbar buttons.
2026-03-06 10:44:55 +01:00
Cyril
83fe903587
️(frontend) restore focus in docsGrid after modals
Use focus store to restore focus to triggers in docsGrid.
2026-03-06 10:44:49 +01:00
Cyril
200b975c6d
️(frontend) restore focus in docTree after actions
Improve F2 shortcut handling in DocTree and DocSubPageItem.
2026-03-06 10:44:42 +01:00
Cyril
9536227c52
️(frontend) add focus restore store
Create Zustand store to track last focused element
and restore focus after overlay close. DropdownMenu
auto-stores trigger ref when an option is clicked.
2026-03-06 10:44:27 +01:00
networkException
fb4c502c75
🐛(backend) properly encode attachment upload content-disposition header
This patch changes the Content-Disposition header set on S3 PutObject
requests when uploading attachments to be encoded using a Django helper,
properly encoding UTF-8 in filenames.

This fixes compatibility for uploading attachments with non ASCII file names
to Garage, since the HTTP library used by Garage validates that HTTP Headers
are ASCII only.

Signed-off-by: networkException <git@nwex.de>
2026-03-06 10:13:24 +01:00
Stephan Meijer
77aee5652a
⬆️(ci) upgrade GitHub Actions workflow steps to latest versions
Update all GitHub Actions to their latest major versions for improved
performance, security patches, and Node.js runtime compatibility.

Signed-off-by: Stephan Meijer <me@stephanmeijer.com>
2026-03-06 09:51:18 +01:00
Manuel Raynaud
7cceffff13
🔥(backend) remove rust from the back-builder Dockerfile stage
Rust was installed to build the pycrdt wheel. There is no need anymore
to install rust, a wheel is available for this package.
2026-03-05 21:38:05 +01:00
Manuel Raynaud
a028df54ce
⬆️(backend) upgrade pycrdt to version 0.12.47
This version has a wheel for musl linux platform, it should speed up the
build of the docker images
2026-03-05 21:38:05 +01:00
Cyril
25cf11c90f
️(frontend) add focus on open to modals
Use autoFocus on primary button when opening modals.

Made-with: Cursor
2026-03-05 17:39:02 +01:00
pav
d1a3519646
📝(docs) improve readme and add documentation hub (#1870)
## Purpose

This pull request improves the project’s documentation entry points and
overall readability to make Docs more approachable for new users and
contributors.

While reviewing the repository, I noticed that the project highlights
documentation and Markdown support, but the front-page README contained
several Markdown syntax issues and inconsistencies. This made the
landing experience feel less polished than the quality of the project
itself. The goal of this change is to provide a cleaner, more
consistent, and more professional first impression.

Please let me know and I can apply any changes, or edit other .md files
as needed!

## Proposal

- Rewrite the root README to be tighter, easier to scan, and more
user-facing
- Add a documentation landing page at `/docs/README.md` with a
structured table of contents
- Introduce `docs/instances.md` to list public Docs instances  

## External contributions

Thank you for your contribution! 🎉  

Please ensure the following items are checked before submitting your
pull request:

- [x] I have read and followed the [contributing
guidelines](https://github.com/suitenumerique/docs/blob/main/CONTRIBUTING.md)
- [x] I have read and agreed to the [Code of
Conduct](https://github.com/suitenumerique/docs/blob/main/CODE_OF_CONDUCT.md)
- [x] I have signed off my commits with `git commit --signoff` (DCO
compliance)
- [x] I have signed my commits with my SSH or GPG key (`git commit -S`)
- [x] My commit messages follow the required format: `<gitmoji>(type)
title description`
- [x] I have added a changelog entry under `## [Unreleased]` section  
- [x] I have not added tests because this PR only contains documentation
changes

---------

Signed-off-by: actuallypav <61046893+actuallypav@users.noreply.github.com>
2026-03-05 14:55:35 +00:00
Anthony LC
03ea6b29df
🔖(minor) release 4.6.0
Added:
- (frontend) integrate new Blocknote AI feature
- 👷(docker) add arm64 platform support for image builds
- (tracking) add UTM parameters to shared document links
- (frontend) add floating bar with leftpanel collapse button
- (frontend) Can print a doc
- (backend) manage reconciliation requests for user accounts
- 👷(CI) add GHCR workflow for forked repo testing
- (frontend) Move doc modal
- ️(backend) remove content from Document serializer when asked
- (backend) allow the duplication of subpages
- (backend) Onboarding docs for new users
- 🩺(trivy) add trivyignore file and add minimatch CVE
- 🚩 Add feature flags for the AI feature

Changed:
- ️(frontend) prevent dates from being focusable
- ️(frontend) Focus main container after navigation
- 💄(frontend) align colors and logo with ui-kit v2
- 🚸(backend) sort user search results by proximity
  with the active user
- 🚸(oidc) ignore case when fallback on email
- ️(CI) optimize Docker Hub workflow

Fixed:
- 🐛(frontend) fix broadcast store sync
- 🐛(helm) use celery resources instead of backend resources
- 🐛(helm) reverse liveness and readiness for backend deployment
- 🐛(y-provider) use CONVERSION_FILE_MAX_SIZE settings
- 🐛(frontend) fix callout block spacing for old browsers
2026-03-05 12:42:03 +01:00
Anthony LC
ea0a1aef10
(e2e) fix flaky test on doc move
Some tests on the doc move functionality
were flaky, blocking the workflow.
2026-03-05 12:42:03 +01:00
AntoLC
bb7d1353f6
🌐(i18n) update translated strings
Update translated files with new translations
2026-03-05 09:30:41 +01:00
Anthony LC
1944f6177e
♻️(frontend) Add default data to move modal
By default the move modal has the last updated doc
in the list, when typing it starts filtering.
In order to have this behaviour possible, we had to
refactorise DocSearchContent and the QuickSearch
components to be able to set a default value in
the input and a default list of items.
2026-03-04 16:00:59 +01:00
Anthony LC
6ce847d6e1
♻️(frontend) change the closing buttons of the modals
We changed the closing buttons
of the modals to be consistent with the new design
system. We adapted the modals to fit the new design
and ensure a better user experience.
2026-03-04 16:00:59 +01:00
Anthony LC
e48080b27e
♻️(frontend) refact HorizontalSeparator to be more flexible
We need HorizontalSeparator to be more flexible,
so we can use it in more places. We change the
props to be more generic, we updated the components
that use it.
2026-03-04 16:00:59 +01:00
Anthony LC
73621c91e5
🍱(frontend) add icons ui-kit
We have a mix of Material icons and custom icons
in the app, which makes it difficult to maintain
and update them. To solve this problem, we downloaded
all the icons from the ui-kit and added them to
the project. We will gradually replace the old
icons with the new ones to ensure a consistent
and up-to-date icon set across the app.
2026-03-04 16:00:59 +01:00
Anthony LC
ee2462310f
♻️(frontend) Update base role for access request
The base role for access request is now "editor"
instead of "viewer".
2026-03-03 15:31:03 +01:00
Manuel Raynaud
2d6e34c555
♻️(ci) reuse amd64 to build arm64 image when possible
Building twice the image take lof of time. In soma cases, building the
arm64 image using the artifacts build in the amd64 and thant can be
reused should speed up the build of the arm64 image.
2026-03-03 14:48:13 +01:00
Manuel Raynaud
3f638b22c4
♻️(ci) extract docker build job in a dedicated job to custom it
We extract the docker build and push job to a dedicated action called
to make the docker job for each application. This action avoid
copy/paste between each job.
2026-03-03 14:48:13 +01:00
Anthony LC
c9f42e7924
🩹(frontend) improve minor ux/ui
- Better logo resolution (x4)
- Remove floating bar when printing a doc
- Add loader during doc import
2026-03-02 11:49:21 +01:00
Anthony LC
a30384573e
🔇(frontend) remove ads console i18next
i18next was adding ads to the console. We remove it from
the console thanks to "showSupportNotice" option.
We upgraded to have less noisy console as well
during development.
2026-03-02 11:12:49 +01:00
Anthony LC
54dc72209c
🩺(trivy) add minimatch CVE to trivyignore
We added CVE-2026-27903 and CVE-2026-27904 to
the .trivyignore file
We need to wait for the community to update the
docker image with a fix for these CVEs before we
can remove them from the .trivyignore file.
2026-02-27 09:58:57 +01:00
Anthony LC
9cf30a0d5f
🔒️(secu) fix CVE warning
Fix CVE warning about:
- CVE-2026-27606 about rollup
- CVE-2026-26996 about minimatch
2026-02-27 09:55:36 +01:00
Anthony LC
f24b047a7c
🛂(frontend) add access request modal on move modal
If a user tries to move a document for which they
don't have the right to move, we now display a
modal to request access to the owners of the
document.
2026-02-27 09:13:29 +01:00
Anthony LC
3411df09ae
🛂(frontend) add confirmation modal on move modal
If the document has more than 1 direct access,we want to
display a confirmation modal before moving the document.
This is to prevent users from accidentally moving a document
that is shared with multiple people.
The accesses and invitations will be removed from the
document.
2026-02-27 09:12:04 +01:00
Anthony LC
2718321fbe
(frontend) Move doc modal
We can now move a doc to another doc from a search
modal. It will make it easier to move a doc
without having to scroll through the doc grid to
find the destination doc.
We kept most of the logic implemented in the
doc grid dnd.
2026-02-27 09:09:25 +01:00
Anthony LC
217af2e2a8
🐛(frontend) disable DND grid item when dialog open
We could drag and drop the items even if the
modal was opened, which could cause some unexpected
behaviors. This commit disables the DND
functionality when a dialog box is open.
2026-02-27 09:08:51 +01:00
Anthony LC
53985f77f3
🚚(frontend) move modal Share directly to concern component
To keep consistency with the other modals, we move
the share modal directly to the
DocsGridActions component. This way, we avoid
having to pass down the openShareModal function
from parent components and keep the logic related
to sharing a doc encapsulated within the
concern component.
2026-02-27 09:08:51 +01:00
Anthony LC
a51ceeb409
🚩(frontend) add Analytics feature flag on Blocknote AI
We want to have a fine grained control over the
Blocknote AI feature.
By adding the feature Analytics feature flag,
we can enable or disable this feature for specific
users or groups without deploying new code.
This allows us to test the feature in a controlled
environment and gather feedback before a full rollout.
2026-02-26 13:50:17 +01:00
Anthony LC
1070b91d2f
🚩(project) add more backend AI feature flags
The Blocknote AI feature is a bit flaky, we want
to be able to disable it if to much issues arise,
without having to do a new release.
We add a bunch of feature flags to be able to
disable the AI features if needed:
- add AI_FEATURE_BLOCKNOTE_ENABLED, to display
or not the feature powered by blocknote
- add AI_FEATURE_LEGACY_ENABLED, to display or not
the legacy AI features
2026-02-26 13:50:17 +01:00