2.1 KiB
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 for keys, application timing,
model compatibility, and controls that were removed because they had no
working backend.