Opening the form in a new tab reloaded the whole app, so every object
was fetched again from scratch. Until that fetch finished, the form
could not be properly auto-filled. Navigating in the same tab reuses
the already loaded objects, so the form is populated right away.
docs(xo): fix wrong page order and restore missing links
After ve changed how the sidebar
was generated (from manual declarations to automatic generation)
Some pages went out of order and didn't
have the proper sidebar title.
This commit fixes that.
Also, the external links in the sidebar disappeared.
We can't add them in an auto-generated sidebar, so we circumvent
that by creating dedicated pages for external resources
and re-adding the links there.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
We now generate the sidebar automatically (based on the documentation folder structure and _category.json files), instead of declaring the doc structure manually in sidebars.ts.
Simpler management
This makes the sidebar easier to understand and maintain. It is now managed the exact same way as the sidebars for the Vates VMS and XCP-ng documentations.
Clickable breadcrumbs
The autogenerated sidebar also creates category index pages, which makes breadcrumb categories clickable, as they already are in the Vates VMS and XCP-ng documentations.
Preview
Capture d'écran 2026-09-08 094848
Unlisted pages
Pages that should remain accessible but be hidden from the sidebar are now hidden using the unlisted: true metadata, instead of simply being omitted from sidebars.ts.
Internal links and redirection
Finally, the PR updates internal links and redirects to reflect the new folder structure and URLs.
* don't rearm after a fatal error before connection setting changed ( does not affect the normal route on non fatal error like newtork issue)
* serialize error correctly in database to ensure the "avoid a database write per auto-reconnect" corectly trigger
a lot of more cleanup to ensure that the connection is really dropped even if the host changed its id
* fix a mishnalding in the grace period before marking a pool disconnected . this will keep the ui in sync AND not redownload all the xapi object for a transient issue
* fix an error transmitted as raw, so the user was only seeing {}
[XO-2789]
* Extracts the backup migration logic into backup-archive and adds a cache guard for future performance improvements
* don't generate or read cache file on immutable backup repository
* clean cache file on immutable backup repository
* fix(backups): fetch failed
disable compresion between xoa on proxy on xoa side
* fix(xo-proxy): disable compression on the proxy
it was disable with hrp, replaced by #10038 since it was never
sending accept-encoding header
compression can be put back later on a route by route basis after
careful checks ( for example : file restore, backup listing )
* fix(backups): task label NBT->NBD
* fix: still force a list block only call for NBD + stream scenario , that was failing to transfer disk on fallback
* fix(openmetrics): keep the Prometheus secret across xo-server restarts
The `secret` property of `configurationSchema` used a random `default`. That
expression is re-evaluated every time the module is loaded, and xo-server never
persists the values ajv fills in from schema defaults, so each restart handed
the metrics endpoint a brand new bearer token and Prometheus started getting
401s.
Drop the default and generate the secret in `load()` instead, saving it through
`xo.configurePlugin()` so it survives a restart.
Introduced by #9323
See https://xcp-ng.org/forum/topic/12415
* chore(changelog): add openmetrics secret entry
* fix(xo-server-openmetrics): generate a 256-bit Prometheus secret
Buffer.from(getRandomValues(new Uint32Array(8))) coerces each 32-bit
element to a single byte, so the generated secret held 64 bits of
entropy instead of 256. Use randomBytes(32) instead.
Introduced by fe29bd0d4
* feat(lite): add create network and network bonded actions
* remove vlan required and info message
* feedback number one
* feat(lite): add create network and network bonded actions
* feat(lite): add action create internal network
* update changelog file
* fix rebase
* feedback number one
* remove as const in cancelRoute
* feedback number two
* feat(xo6): rebase detach
* add redirect when detach ok
* fix post rebase
* remove dev route
* returns from MR
* add check master host
* use linked translation
* rebase ok
* fix(backups): timeout was not used correctly for NBD transfers
* fix(nbd-client): evict a dead client in multi instead
actual code was retrying 5 times, each time with a 60s timeout
multi also have its own retry on conneciton
since the client used is determnistic for a block, any stalled client
will be hammerred for a lot of time before giving up
this PR evict a nbd client that is failing to read a block (with its
retry logic)
* fix(nbd-client/multi): better spread read accross client
the actual code derivate the clientId from the block index
we have no information on the block distribution, only hopes that
it's random enough
this PR introduce a mechanism to use a round robin to select
the next client
* fix: correct fall back to full with /without nbd on qcow2
* docs(xo): refine page titles and navigation structure
Make page titles clearer and more consistent with their content and
purpose. Reorder some pages (and sections) and align their sidebar labels with
their titles to make the documentation easier to navigate and
understand.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs(sidebars.ts): move discover xo category back to where it was
Applying the change suggested by olivierlambert.
The 'Discover Xen Orchestra' category now follows
the 'Getting started' category.
The 'architecture' page/ 'How XO 6 is organized' stays
at the end of the Getting Started category.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs(xo): specify navbar titles
Applying changes suggested by olivierlambert.
Some titles in the navigation bar were made too long,
in an attempt to make them identical to the titles in the corresponding doc pages.
Having different titles in the navbar and in the actual page
is not a defect, and can indeed help readers scan the
document structure quicker.
As a result, we're (re-)adding sidebar_label metadata
to specify a navbar title where the page title was too long.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs(xo): revert individual page renames
Applying changes suggested by olivierlambert, following,
the reasoning he explained in the pull request.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs(intro_support.md) change title to 'support'
Apply change suggested by olivierlambert.
'Support' instead of 'Support options' is shorter and
carries the same meaning overall.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs(xo): update outdated internal link labels
A few commits ago, some page titles were changed.
This did not break any internal links, but it left some link labels outdated. This commit updates those labels to match the current page titles.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs: convert page titles to sentence case
Applying changes suggested by olivierlambert
Some page titles were still using title case, even though we use sentence case throughout the XO documentation.
This commit updates those titles to follow the same convention.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
* docs(xo): switch gerund titles to noun forms
Some page titles used gerunds (the -ing form), while others used nouns or noun phrases, resulting in an inconsistent style.
This commit changes the gerund titles to noun-based titles for consistency.
The "Troubleshooting" title is kept as-is because it is a noun, despite ending in -ing.
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>
---------
Signed-off-by: Thomas Moraine <thomas.moraine@vates.tech>