Configure dependency injection + configure authentication middleware for openapi (copy of what actually exists in the current REST API. Will be improved later when implementing ACL/resource set)
The goal of this new feature is to help developers investigate issues by
allowing them to easily gather more information.
When enabled, all logs emitted in a given API call are stored in a file
(`${tmpdir}/xo-api-${date}-${method}.log`).
Administrators can use the special `_log` param to request it:
```sh
xo-cli vm.start id=$id _log=json:true
xo-cli vm.start id=$id _log=failure
```
Or it can be enabled for all calls to a method in xo-server's configuration:
```toml
[api.logs]
'vm.start' = 'failure'
```
Migrate docs from VuePress wich is not maintained anymore, to Docusaurus, which is maintained and also used fro XCP-ng docs.
---------
Co-authored-by: Thomas Moraine <thomas.moraine@vates.tech>
- Update Vue `3.4` to `3.5`
- Update TypeScript `5.3` to `5.6`
- Update Pinia `2.1` to `2.2`
- Update `vite.config.ts` to import paths with `fileURLToPath` and `URL` instead of `resolve`
- Update `size.util.ts` to use named imports from `human-format`
- Fix TS error in `vite.config.ts`
- Fix TS error in `story-param.ts`
- Fix TS error in `UiCardNumbers.vue`
- Fix TS error in `tree-node-base.ts`
Prevent Vue upgrade to 3.5 and fix ESLint error in the demo story.
- The recent upgrade of XO Lite / 6 to Vue 3.5 broke the CI due to typing errors (778362d8db)
- Temporarily blocks Vue from upgrading beyond 3.4 to avoid CI failures
- Fixes an attribute case mismatch in the demo story that was causing an ESLint error
See Zammad#24458
`xo-server-netbox` uses `response.text` which has been added in
http-request-plus@1.0.3. Therefore, the dependency version in `xo-server` needs
to be `^1.0.3` to ensure that `response.text` can be used.
- Add new i18n guidelines
- Remove nested keys: `"foo": { "bar": "..." }` ➡️ `"foo.bar": "..."`
This makes code cleaner (and as a side-effect, it now allows to use `foo` + `foo.bar` keys)
- Lite/6 shared translations are no longer prefixed with `core.`
- Duplicated keys across translation files are no longer accepted.
This will prevent accidental overwrite of missing common translations
- `fr.json` and `en.json` now required to contains the same keys
- Raw text is no longer accepted in template to prevent forgetting a translation
Raw text is still accepted in dev-related files (stories, dev pages...)
- Remove useless `alt` on `img`
- Display of percentage now uses `$n(value, 'percent')`
- Removed legacy `lite/src/i18n.ts`
- Add missing translations
- Added visual indicator for missing translations while in dev env: `🌎❗⟨i-am-missing⟩`
web-core is published as a library so its dependencies need to be installed
when web installs its own dependencies
- packages that are (or will be) used by lite and web are declared as
dependencies in lite and web and as peerDependencies in web-core
- other packages that are only used in web-core are declared as dependencies in
web-core