Commit Graph
1268 Commits
Author SHA1 Message Date
Manuel Raynaud 9427b17a15 save work 2026-04-27 16:21:15 +02:00
Anthony LCandManuel Raynaud 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 LCandManuel Raynaud 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 LCandManuel Raynaud 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 LCandManuel Raynaud 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 LCandManuel Raynaud 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]andGitHub 0060c59615 ⬆️(dependencies) update axios to v1.15.0 [SECURITY] 2026-04-13 08:30:36 +00:00
renovate[bot]andGitHub 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
AntoLCandAnthony LC e2d0e7ccc7 🌐(i18n) update translated strings
Update translated files with new translations
2026-04-08 16:56:36 +02:00
Paul VerninandAnthony LC 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
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 PelletierandAnthony LC 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]andGitHub be38e68dd5 ⬆️(dependencies) update lodash to v4.18.1 [SECURITY] 2026-04-03 18:39:40 +00:00
Manuel RaynaudandAnthony LC 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
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]andAnthony LC 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 LCandManuel Raynaud 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
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 BoschandAnthony LC 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