Commit Graph

1290 Commits

Author SHA1 Message Date
Anthony LC
37eaf6abfd 🐛(frontend) fix loading comments transaction
When we load the comments we have to notify the
subscribers of the DocsThreadStore. This generates
a Yjs transaction that is currently treated as a
user-initiated content change that will trigger
a patch request when the doc will try to save.
We now update the transaction origin when we notify
the subscribers so that we can reliably identify
and ignore those transactions in the useSaveDoc
hook.
2026-05-06 11:20:29 +02:00
renovate[bot]
85128c7b11 ⬆️(dependencies) update axios to v1.15.2 [SECURITY] 2026-05-05 12:25:22 +00:00
Anthony LC
5f700ed6c4 💬(frontend) add missing link in onboarding description
We added a missing link in the onboarding step
description to direct users to ready-made templates f
or common use cases. This enhancement aims to improve
the user experience by providing easy access to
resources that can help users get started quickly
and customize their workflow efficiently.
2026-05-05 13:23:19 +02:00
Anthony LC
b0d9ed15c0 ️(frontend) add skeleton on content loading
Content is longer to load than other parts of the
editor because of the connection with websocket
to the collaboration server. To improve the user
experience, we add a skeleton on the content part
of the editor while the others parts are displayed.
2026-05-05 12:12:11 +02:00
Anthony LC
d41e44dcd5 🐛(frontend) fix uikit dnd tree
The last version of UIKit has a bug that causes
the dnd tree to break. It is due to some
pointers event that are not properly handled.
We remove the pointer event in waiting for the
fix to be released.
2026-05-05 10:56:59 +02:00
Anthony LC
aa71cfdfc0 ️(frontend) remove listener on hover with react-dropzone
React-dropzone was rerendering components on hover,
which was unnecessary. This commit removes the
rerendering by adapting its settings.
2026-05-05 10:53:39 +02:00
Anthony LC
7afa17a181 💄(frontend) adapt css to Blocknote v0.49
We updated Blocknote to v0.49, which includes
some breaking changes in the CSS. This commit adapts
our custom styles to the new version of Blocknote.
2026-05-05 10:53:39 +02:00
Anthony LC
af2b381097 🐛(frontend) fix scroll table of content
The scroll of the table of content was calculated
on mount of the component, so when the editor height change,
the scroll of the table of content was not updated.
We added a observer to observe the height of the
editor and update the scroll of the table of
content when the height change.
2026-05-05 10:53:39 +02:00
Anthony LC
5015d42677 🏷️(frontend) adapt types to i18next v26
We updated i18next to v26, which includes some
breaking changes. This commit adapts our types
to the new version, ensuring compatibility and
proper type checking throughout our codebase.
2026-05-05 10:53:39 +02:00
Anthony LC
738ff90fc7 🏷️(frontend) adapt types to upgrade Cunningham and ui-kit
We upgraded Cunningham and ui-kit dependencies, which
introduced some breaking changes. This commit adapts
our code to these changes, ensuring compatibility
with the new versions of these libraries.
2026-05-05 10:53:38 +02:00
Anthony LC
0e8094c733 🏷️(frontend) adapt types to typescript v6
We updated typescript to v6, which includes some
breaking changes. This commit adapts our code to
be compatible with the new version of typescript.
2026-05-05 10:53:38 +02:00
renovate[bot]
9231730bf0 ⬆️(dependencies) update js dependencies 2026-05-05 10:50:49 +02:00
Cyril
21100b986d 🐛(frontend) sanitize pasted and dropped content in document title
Prevent rich-text formatting when pasting or dropping into document title.
2026-05-04 16:14:39 +02:00
Manuel Raynaud
eaddbd83d7 🔖(major) release 5.0.0
Added

- (backend) create a dedicated endpoint to update document content
- ️(backend) stream s3 file content with a dedicated endpoint
- (backend) allow to use new ai feature using mistral sdk

Changed

- ♻️(backend) rename documents content endpoint in `formatted-content` (BC)
- 🚸(frontend) show Crisp from the help menu #2222
- ️(frontend) structure correctly 5xx error alerts #2128
- ️(frontend) make doc search result labels uniquely identifiable #2212
- ⬆️(backend) upgrade docspec to v3.0.x and adapt converter API #2220
- (backend) make forward auth request uri header configurable #2241
- ️(frontend) fix sidebar resize handle for screen readers #2122

Fixed

- 🚸(frontend) redirect on current url tab after 401 #2197
- 🐛(frontend) abort check media status unmount #2194
- (backend) order pinned documents by last updated at #2028
- 🐛(frontend) fix app shallow reload #2231
- 🐛(frontend) fix interlinking modal clipping #2213
- 🛂(frontend) fix cannot manage member on small screen #2226
- 🐛(backend) load jwks url when OIDC_RS_PRIVATE_KEY_STR is set
- 🐛(backend) Prevent moving document to its own descendant or self #2208
- 🐛(backend) return 400 when restoring a non-deleted document #2225
2026-05-04 11:59:35 +02:00
github-actions[bot]
22c587fdd0 🌐(i18n) update translated strings
update translated strings
2026-04-30 15:28:44 +02:00
Manuel Raynaud
8c84dbf39a ♻️(frontend) all dev origins when using the tilt environment
When developping using the tilt environment, we need to allow the domain
docs.127.0.0.1.nip.io in the next configuration.

Also the the customization is removed as it is not maintained.
2026-04-30 09:32:34 +02:00
Manuel Raynaud
b6efac3983 (backend) allow to use new ai feature using mistral sdk
We give the possibility, for the new ai feature, to choose between using
the OpenAI or Mistral sdk. For instances having access to the mistral
infrastructure, using it is mor appropriated than using the openai
compatible chat model.
2026-04-30 09:32:34 +02:00
Anthony LC
fa9d56d79b 🔒️(js) fix security warning
Critical:
- protobufjs CVE

High:
- lodash CVE
- picomatch CVE
- Vite CVE

Moderate:
- postcss CVE
- uuid CVE
- dompurify CVE
- follow-redirects CVE
2026-04-29 15:04:58 +02:00
Manuel Raynaud
4fe508bba1 ⬆️(docker) upgrade nginx image to last version
We want to upgrade the frontend image using the last nginx version
available in order to remove some fixed in version 1.29.7
2026-04-29 09:42:45 +02:00
Anthony LC
9f1d4543e7 (e2e) adapt e2e test to fit translation upgrade
We upgraded djangorestframework, which includes a
change in the translation system. This change caused
the e2e test for the app impress language
to fail.
To fix this, we updated the test to work
with the new translation system.
2026-04-29 09:16:12 +02:00
Cyril
a2860e8fe6 ️(frontend) fix sidebar resize handle for screen readers
Expose the handle as a slider so arrow keys work with NVDA
2026-04-29 07:12:10 +02:00
Anthony LC
7df5aba991 (e2e) fix uuid not formatted correctly in mocked document
We added a guard on the uuid format in our frontend
requests, this guard broke some of our e2e tests
because the mocked document id was not a valid uuid.
2026-04-28 09:08:30 +02:00
renovate[bot]
c464715158 ⬆️(dependencies) update uuid to v14 [SECURITY] 2026-04-27 21:21:59 +00:00
Anthony LC
100817b0e6 🥅(sw) improve requests fallback
We improve overall SW requests fallback.
If the plugin fails we try to refetch the request
without the plugin modifications, meaning the
status code will be more in correlation with the
actual server response and not the plugin error.

We improved as well the cache fallback, if
the cache failed because a store was missing,
we delete the DB to be sure to have a DB in
correlation with the current app version.
2026-04-27 15:07:34 +02:00
Anthony LC
ff2c61a3dc ✈️(SW) add offline support for content
We have added offline support for content.
When the content update fails, we save the new
content in the cache, and we will sync it later
with the SyncManager.
2026-04-27 15:07:34 +02:00
Anthony LC
4d250a7342 ️(SW) cache content and metadata for API requests
We cache the content of API responses in the service
worker, so that we can serve them when the user
is offline.
We also cache the ETag and Last-Modified headers,
so that we can make conditional requests to the
server and avoid downloading the content again if
it hasn't changed.
2026-04-27 15:07:34 +02:00
Anthony LC
b6c6fc8217 👔(frontend) integrate dedicated content endpoint
To improve the performance of loading document content,
we have implemented a dedicated endpoint for
fetching document content. This allows us to load
the document metadata and content separately.
We updated the different components to utilize
this new endpoint, ensuring that the document content is
fetched and updated correctly.
2026-04-27 15:07:33 +02:00
Anthony LC
68f1600c2b 🔥(clients) remove without_content query string
We now have a dedicated API to fetch only the doc
content, so we can remove the without_content
query string from the doc fetching API.
2026-04-27 15:07:33 +02:00
Anthony LC
aed8ae7181 🐛(frontend) remove horizontal line when no elements
When no elements are present in the doc share
modals, a horizontal line is still displayed.
This PR removes this line when there are no elements
to display.
2026-04-21 11:39:07 +02:00
Anthony LC
e39b03c272 🐛(frontend) fix app shallow reload
The app was doing a shallow reload when user
was coming from another tab and the user data
was staled. We stop to block the app during the
loading state, depend the response the app
will manage correctly its states.
2026-04-21 11:39:07 +02:00
Anthony LC
3cc9655574 🐛(frontend) fix position interlinking when lost focus
When switching between a interlinking search to a
interlinking link, we could lose the position of
the interlinking. The interlinking was added at
the beginning of the document or where the cursor was.
We refactorize the interlinking to be only one type
of inline content, by doing so we do not lose the position
of the interlinking because we don't remove the interlinking search
to add the interlinking link, we just update the
interlinking search to be a interlinking link.
2026-04-21 10:15:35 +02:00
Anthony LC
c20e71e21d 💄(frontend) update interlinking ux/ui
Update interlinking to fit the new design.
The notable changes is that we cannot create
a subdoc from the search dropdown.
2026-04-21 10:15:34 +02:00
Anthony LC
b3dd8f2e39 🐛(frontend) fix interlinking modal clipping
Depend the parent block, the modal search may be
clipped by the parent block. We now use the portal
to render the modal search, which will not be
affected by the parent block's clipping.
2026-04-21 10:15:34 +02:00
Anthony LC
ee90443cb2 (frontend) add documentation link in help menu
We want to add a link to the documentation in
the help menu, to make it easier for users to find it.
2026-04-20 14:29:12 +02:00
Anthony LC
572074d141 🚸(frontend) show Crisp from the help menu
The Crisp button is very intrusive, it often overlaps
with element of the app.
We now show the Crisp modal
only when the user clicks on the "Get Support"
button in the help menu.
2026-04-20 14:29:12 +02:00
Anthony LC
599b909318 🛂(frontend) fix cannot manage member on small screen
We can now manage document members on small
screens (mobile and tablet). We improved the
overall responsive design of the doc share modal.
2026-04-20 11:00:41 +02:00
Anthony LC
5a687799d5 🥚(e2e) fix e2e easter egg
The test e2e were not working on April 1st
because of the easter egg that changes
the document emoji to a fish.
2026-04-17 16:08:07 +02:00
Cyril
e59d8a4631 ️(frontend) make doc search result labels uniquely identifiable
Include each doc's relative update date in `SimpleDocItem` aria-label.
2026-04-15 15:52:53 +02:00
Cyril
9a5d81f983 ️(frontend) redirect unmanaged 5xx to dedicated /500 page
Add /500 with coffee illustration; replace inline TextErrors for API 5xx
2026-04-14 17:36:23 +02:00
Cyril
31fea43729 ️(frontend) structure 5xx error alerts
Use h1/p for 500/502/503; pass status from doc and version views.
2026-04-14 17:22:13 +02:00
Anthony LC
ff176d67ae 🚨(frontend) add default favicon.ico
We had a warning in the console about a
missing favicon.ico. This commit adds a default
one to prevent that warning.
2026-04-14 15:47:26 +02:00
Anthony LC
7dc7320dac 🚸(frontend) redirect on current url tab after 401
When multiple tabs were opened and a 401 error occurred,
the user was redirected to the login page, then
after login, the user was redirected to the page
where the last 401 error occurred.
We improved this behavior by saving the url per tab,
and after login, the user is redirected to the
last url of the current tab.
2026-04-14 14:48:15 +02:00
renovate[bot]
0060c59615 ⬆️(dependencies) update axios to v1.15.0 [SECURITY] 2026-04-13 08:30:36 +00:00
renovate[bot]
48fb17bf3e ⬆️(dependencies) update next to v16.2.3 [SECURITY] 2026-04-11 01:12:58 +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