mirror of
https://github.com/vatesfr/xen-orchestra.git
synced 2026-11-09 17:06:13 -06:00
The cache now announces what a listing finds and what a journal replay changes, as `add`, `update` and `remove` events carrying the archive and its previous value, on an emitter the app exposes as `app.vmBackupArchives`. What was last announced for a repository outlives its entry, so a repository read again from scratch only announces what really changed. A repository which is removed or disabled goes through the new `forgetVmBackupRepository()`, which announces all its archives as removed. A listener which throws is logged and no longer fails the listing. The REST API adds `backup-archive` to the SSE collections. It is bound to `app.vmBackupArchives` the way `task` is, and filtered by `backup-archive:read` through the same path as every other non-XAPI collection. Nothing polls the repositories: changes are pushed whenever any client lists a repository. The first listing after a restart sends every archive it already holds as `add`. XO-2992 XO-2993