Files
gnome-jarvis/docs/MIGRATIONS.md
T
snxraven 390b2fa098
Rolling release / release (push) Successful in 6m40s
Updates
2026-09-12 14:45:04 -04:00

39 lines
2.1 KiB
Markdown

# Migration notes
The user installer keeps application files in
`~/.local/share/jarvis-qvac`, the service in
`~/.config/systemd/user/jarvisd.service`, and the generated QVAC config in
`~/.config/jarvis/qvac.config.json`. Memory, voice references, audit logs, and
generated media remain under their existing Jarvis data directories.
Upgrades stop a running `jarvisd.service`, uninstall the previous GNOME
extension, and replace `~/.local/share/jarvis-qvac` from a staging directory so
leftover files from older versions cannot mix with the new tree. Failed staging
directories next to the install prefix are removed first. Existing config and
data under `~/.config/jarvis`, `~/.local/share/jarvis`, and the model cache are
preserved. If the service was running, the installer restarts it after the
replacement; `--enable` also enables the unit. The GNOME HUD files are always
copied into `~/.local/share/gnome-shell/extensions/[email protected]`, then the
installer asks Shell to enable the extension. That request does not always
hot-reload a stylesheet or JS error on GNOME 50 (`ReloadExtension` is not
implemented). Disable then enable `[email protected]` on `org.gnome.Shell`, or
start a new session, if the panel HUD does not come back. Each of those steps is appended
to `~/.local/state/jarvis/install.log` (or `$XDG_STATE_HOME/jarvis/install.log`)
and to the system log as tag `jarvis-install`. Run
`systemctl --user daemon-reload` only when you install the service file by
hand.
The uninstall command requires `--yes` and preserves data. Add
`--purge-data` only when the user explicitly wants Jarvis-owned memory, cache,
and generated media removed.
## Shared settings and configurable speech
The GNOME preferences and standalone Control Center now share one window.
Daemon controls use `config.json`; only appearance and shortcuts use GSettings.
Opening preferences no longer copies GSettings defaults over JSON values.
Legacy snake_case settings and explicit GSettings customizations migrate when
you press Apply. See [settings](settings.md) for keys, application timing,
model compatibility, and controls that were removed because they had no
working backend.