Commit graph

1783 commits

Author SHA1 Message Date
pvrn
e652cdd040
(backend) Order pinned documents by last updated at
Sort favorite_list results by updated_at property descending.
    
Signed-off-by: Paul Vernin <paul.vernin@gmail.com>
2026-04-10 15:15:55 +00:00
Mohamed El Amine BOUKERFA
1ebdda8c9e
🐛(backend) Fix unreachable exception handler for URLValidator
The exception block was never being executed because URLValidator raises
django.core.exceptions.ValidationError, not
drf.exceptions.ValidationError, so the except block was dead code.


Signed-off-by: Mohamed El Amine BOUKERFA <boukerfa.ma@gmail.com>
2026-04-10 13:21:56 +00:00
Sylvain Boissel
3399734a55
🐛(backend) fix race condition in reconciliation requests CSV import
The call to the background task is now wrapped in a on_commit to ensure
that it isn't called before the save is finished, in order to avoid race
condition issues.
2026-04-10 10:46:56 +00:00
Sylvain Boissel
a29b25f82f
🐛(backend) create_for_owner: add accesses before saving doc content
We add the User Accesses before saving content so the user is sure to
have access to the the first version when creating a doc through
create_for_owner (fixes #2123)
2026-04-10 10:20:37 +00:00
Anthony LC
c1e104a686
🐛(frontend) abort check media status unmount
When a media file is uploaded, the application
checks its status every 5 seconds until it
becomes 'ready'. If the user navigates away from
the page before the media is ready, the
application should stop checking the status to
avoid unnecessary API calls. This can be achieved
by using an AbortController to signal when the
component is unmounted, allowing the loop to
exit gracefully.
2026-04-09 11:51:19 +02:00
Anthony LC
21c73fd064
🔖(patch) release 4.8.6
Added:
- 🚸(frontend) allow opening "@page" links with
  ctrl/command/middle-mouse click
-  E2E - Any instance friendly

Changed:
- ♻️(backend) do not paginate threads list response
- 💄(frontend) Use StyledLink for sub doc tree

Fixed:
- 🐛(frontend) Fix drop cursor creating columns
- 🐛 Fixed side effects between comments and versioning
2026-04-09 09:52:00 +02:00
AntoLC
e2d0e7ccc7
🌐(i18n) update translated strings
Update translated files with new translations
2026-04-08 16:56:36 +02:00
Paul Vernin
2ebfa1efbf
💄(frontend) Use StyledLink for sub doc tree
Replace ButtonBox by StyledLink in DocSubPageItem
so ctrl+click on the sub document title open a new browser tab

Signed-off-by: Paul Vernin <paul.vernin@gmail.com>
2026-04-08 16:37:47 +02:00
Anthony LC
b5d9c58761
💄(frontend) replace icons in tree children action
We replace icons with what is used in the ui kit.
By replacing the icons, we also fix the height
problems with Firefox.
2026-04-08 16:15:30 +02:00
Anthony LC
c58deb11e8
🏷️(frontend) adapt thread new type
We stopped to use pagination for thread comments,
so we need to adapt the thread type to reflect that.
2026-04-08 14:04:03 +02:00
Manuel Raynaud
9a1dae4908
♻️(backend) do not paginate threads list response
The threads list action was paginated its response. this is not the
behavior we want. all threads should be loaded when the document is
loaded.
2026-04-08 10:59:36 +02:00
Anthony LC
dba762759e
🐛(frontend) Fixed side effects between comments and versionning
We fixed 2 side effects between comments and versionning:
- When going from a version, it was not possible
to add a comment anymore. This was due to the fact
that the versionning was resetting the comment store.
- When restoring a version, we now reset the comment
store to avoid having comments that are not relevant
anymore.
2026-04-08 09:36:25 +02:00
Anthony LC
563a6d0e08
🐛(frontend) Fix drop cursor creating columns
When dropping content, the drop cursor was creating
new columns. This fix ensures that the
drop cursor behaves correctly and does not
create unnecessary columns.
2026-04-07 18:04:45 +02:00
Anthony LC
a01c5f97ca
(e2e) e2e instances compatibility
We want to be able to run our e2e tests on
any instance of Docs, to do so we need to make
some adjustments to our tests and configuration.
We will use environment variables to configure
the tests.
2026-04-07 16:11:18 +02:00
Emmanuel Pelletier
4dcf752ff9
🚸(frontend) allow opening "interlinks" with ctrl/command/middle mouse
Links to other pages created through the "@" shortcut are not actual
anchor (`<a>`) elements seemingly due to conflicts with lower-lvl
code, noticeably when drag&dropping the elements.

So those "links" are actually span and we must handle the
"link behavior" ourselves.

This adds more usual "link behavior" to thoses, allowing users to
ctrl+click, command+click, shift+click and middle-mouse click to
interact with the links and open them in a new tab or new window.

Signed-off-by: Emmanuel Pelletier <manu@habite.la>
2026-04-07 11:14:01 +02:00
renovate[bot]
be38e68dd5
⬆️(dependencies) update lodash to v4.18.1 [SECURITY] 2026-04-03 18:39:40 +00:00
Manuel Raynaud
63d18e3ad4
🔖(patch) release 4.8.5
Added

- 🔧(backend) settings CONVERSION_UPLOAD_ENABLED to control usage of docspec
- 🥚(frontend) add easter egg on doc emoji creation #2155

Changed

- (frontend) use aria-haspopup menu on DropButton triggers #2126
- ️(frontend) add contextual browser tab titles for docs routes #2120
- ️(frontend) fix empty heading before section titles in HTML export #2125

Fixed

- ️(frontend) add jitter to WS reconnection #2162
- 🐛(frontend) fix tree pagination #2145
- 🐛(nginx) add page reconciliation on nginx #2154
2026-04-03 09:57:23 +02:00
Anthony LC
4aa7d52406
⬆️(frontend) Update blocknote dependencies to 0.47.3
We updated the blocknote dependencies to
version 0.47.3.
This update includes a bug fix when we copy
paste a docx content into a document.
2026-04-03 09:57:23 +02:00
Anthony LC
cf0f3eecbc
🔥(frontend) remove UTM parameters
We decided to remove the UTM parameters.
This change simplifies the link and makes
it cleaner for users to share.
2026-04-03 09:36:51 +02:00
Anthony LC
4b4319d5af
️(frontend) add jitter to WS reconnection
When a massive simultaneous disconnection occurs
(e.g. infra restart), all clients would reconnect
and invalidate their queries at exactly the same
time, causing a possible DB spike.
Adding random jitter spreads these events over a
time window so the load is absorbed gradually.
2026-04-02 11:40:47 +02:00
Manuel Raynaud
8df86e6dc8
♻️(backend) move lock in create_for_owner action in the serializer
For the create_for_owner action, all the db operation are made in the
serializer. But the lock of the table was acquired in the viewsets, lot
of operation are made between the lock is made and the insert in db. We
move the lock operation closer to the insert in the database. We wrap it
in a transaction to release the lock once the commit made.
2026-04-02 09:34:49 +00:00
Anthony LC
756cf82678
🐛(frontend) fix styles in doc editor heading
The headings in the doc editor were not
inheriting the correct style anymore due to a recent
upgrade of Blocknote.
This commit fixes the issue.
2026-03-31 17:08:35 +02:00
Anthony LC
9c832197ed
🔒️(js) fix security warning
Critical;
- fix handlebars CVE
High:
- fix picomatch CVE
- fix flatted CVE
- fix serialize-javascript CVE
- path-to-regexp CVE
Moderate:
- brace-expansion CVE
- yaml CVE
2026-03-31 17:08:35 +02:00
Anthony LC
21af59900d
(frontend) fix eslint errors and warnings
Recent dependencies update caused some
eslint errors and warnings. This commit fixes them.
2026-03-31 17:08:35 +02:00
renovate[bot]
da091a07ea
⬆️(dependencies) update js dependencies 2026-03-31 17:08:35 +02:00
Anthony LC
53c51a3cca
🐛(nginx) add page reconciliation on nginx
The nginx conf was lacking the page reconciliation.
It is necessary to have it in place to avoid
404 errors when refreshing the page or accessing
a page directly.
It is a known issue when using the Next Router
in "export" mode, as it relies on client-side routing.
2026-03-31 16:14:30 +02:00
Anthony LC
45fac1e869
🥚(frontend) add easter egg on doc emoji creation
The first April, we add a easter egg on doc
emoji creation. When the user creates a doc emoji
an egg emoji is displayed instead of the page emoji.
2026-03-31 09:40:59 +02:00
Anthony LC
f166e75921
🚩(frontend) Add feature flag for document import
We want to be able to enable/disable the document
import feature for testing and gradual rollout
purposes. This commit adds a feature flag for
document import and updates the relevant components
and tests to respect this flag.
2026-03-30 15:37:49 +02:00
Manuel Raynaud
f4ded8ee55
🔧(backend) expose CONVERSION_UPLOAD_ENABLED in config endpoint
The frontend application needs to know the value of the settings
CONVERSION_UPLOAD_ENABLED to allow the file upload or not.
2026-03-30 15:37:48 +02:00
Manuel Raynaud
05423d4f04
🔧(backend) settings CONVERSION_UPLOAD_ENABLED to control docspec usage
We want to control the conversion of document at upload time. We want to
disable this feature using a settings. The new settings
CONVERSION_UPLOAD_ENABLED should be used to enable or not the conversion
at upload feature. If disabled and a file is uploaded, the reponse will
return a 400
2026-03-30 15:37:48 +02:00
Anthony LC
6691167a40
🐛(frontend) fix tree pagination
When a sub-sub-document had more than 20 children,
the pagination was not working.
This commit fixes the issue by ensuring that the
pagination logic is correctly applied to all
levels of the document tree.
2026-03-30 12:14:14 +02:00
Maximilian Bosch
79e909cf64
🐛(editor) fix TypeError in document editor
I get

> TypeError: Cannot use 'in' operator to search for 'de' in undefined

when building MIT-only since `localesBNAI` is undefined then.

Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2026-03-30 09:09:19 +02:00
Cyril
03c049f59f
️(frontend) fix list merging across headings in HTML export
Lists separated by a heading were merged into a single <ul>
2026-03-29 12:35:19 +02:00
Cyril
43d486610b
️(frontend) fix empty heading before section titles in HTML export
Avoid nested headings: full HTML already wraps content in h1–h6; unwrap
2026-03-28 17:58:58 +01:00
Cyril
7d24af8702
️(frontend) add contextual browser tab titles for docs routes
Each page sets its own tab title instead of generic "Docs"
2026-03-28 17:14:09 +01:00
Cyril
7f9869f547
️(frontend) use aria-haspopup menu on DropButton triggers
Replace aria-haspopup true with menu on DropButton
2026-03-27 11:24:32 +01:00
Cyril
210c8b5660
(e2e) update tests for list semantics and add keyboard nav test
Adapt selectors from grid/row to list/listitem and add a Tab+Enter test
2026-03-27 10:38:21 +01:00
Cyril
f7bea69d27
️(frontend) localize dnd-kit screen reader instructions
Pass i18n strings for screenReaderInstructions and announcements.
2026-03-27 10:38:21 +01:00
Cyril
0df960bd5e
️(frontend) replace ARIA grid pattern with list in docs grid
Use list/listitem roles, mark column headers as aria-hidden
2026-03-27 10:38:14 +01:00
Manuel Raynaud
7427fdd222
⬆️(dependencies) update PyJWT to v2.12.0
upgrade to fix CVE-2026-32597
2026-03-27 10:03:38 +01:00
renovate[bot]
641c6f43c6
⬆️(dependencies) update requests to v2.33.0 [SECURITY] 2026-03-26 15:26:14 +00:00
Manuel Raynaud
e7cbe24f3d
🔖(patch) release 4.8.4
Added

- 🚸(frontend) hint min char search users #2064

Changed

- 💄(frontend) improve comments highlights #1961
- ️(frontend) improve BoxButton a11y and native button semantics #2103
- ️(frontend) improve language picker accessibility #2069
- ️(frontend) add aria-hidden to decorative icons in dropdown menu #2093

Fixed

- 🐛(y-provider) destroy Y.Doc instances after each convert request #2129
- 🐛(backend) remove deleted sub documents in favorite_list endpoint #2083
2026-03-25 23:19:28 +01:00
Anthony LC
acb20a0d26
🌐(i18n) update translated strings
Update translated files with new translations
2026-03-25 23:19:28 +01:00
Anthony LC
cbe6a67704
🔧(y-provider) increase Node.js memory limit
By default, Node.js has a memory limit of
around 512MB, which can lead to out-of-memory
errors when processing large documents.
This commit increases the memory limit to
2GB for the y-provider server, allowing
it to handle larger documents without crashing.
2026-03-25 17:22:32 +01:00
Manuel Raynaud
f91223fe4a
🔊(backend) add some log to trace conversion made on docs creation
We added logs on the conversion made when a doc is created.
2026-03-25 17:22:32 +01:00
Manuel Raynaud
330096eb47
🐛(backend) move lock table closer to the insert operation targeted
We want to lock the table just before the insert we want to protect is
made. In the case of the perform_create action in the Document viewset,
an http call is made after the lock and can take a very long time,
blocking for nothing the table.
2026-03-25 15:43:49 +01:00
Paul Vernin
ff995c6cd9
🚨(backend) fix lint on test file
Signed-off-by: Paul Vernin <paul.vernin@gmail.com>
2026-03-25 15:14:13 +01:00
Paul Vernin
004d637c8b
🐛(backend) use ancestors_deleted_at to filter out deleted docs
Filter by ancestors_deleted_at__isnull=True instead of deleted_at__isnull=True
to be more accurate

Signed-off-by: Paul Vernin <paul.vernin@gmail.com>
2026-03-25 15:13:59 +01:00
Paul Vernin
8a0330a30f
(backend) add favorite list test for sub-doc
Add test_api_document_favorite_list_with_deleted_child to verify favorite_list
endpoint does not include deleted sub documents

Signed-off-by: Paul Vernin <paul.vernin@gmail.com>
2026-03-25 15:13:47 +01:00
Paul Vernin
677392b89b
🐛(backend) Fix favorite_list result for deleted sub docs
filters out deleted documents from the favorite_list query

Signed-off-by: Paul Vernin <paul.vernin@gmail.com>
2026-03-25 15:13:36 +01:00