Querya Desktop ships (and will ship) two download channels. See epic #379.
| Channel | Typical artifact | Profile data |
|---|---|---|
| Portable | Querya-Desktop-{ver}-{os}.zip (Flutter bundle) |
OS app-support by default; optional sidecar — see below |
| Installable | AppImage, Windows setup, .deb, .rpm, Flatpak |
Normal OS locations |
By default the zip is a relocatable binary only: settings DB, themes, and
extensions still use OS paths (getApplicationSupportDirectory,
~/.querya/extensions, …).
To keep profile data next to the app (USB-style):
- Set environment variable
QUERYA_PORTABLE=1(alsotrue/yes/on), or - Create a folder named
QueryaDatanext toquerya_desktop/querya_desktop.exe/ the.AppImagefile.
Then local data is stored under that folder:
| Kind | Path under QueryaData/ |
|---|---|
| SQLite DB | querya_desktop/querya.db |
| Themes | themes/ |
| Extensions | extensions/ |
| Sandbox / audit logs | logs/ |
On Linux AppImage, the install directory is the parent of $APPIMAGE.
Connection passwords remain in the OS keyring (flutter_secure_storage /
libsecret / Credential Manager / Keychain). Portable mode does not move
secrets into QueryaData in v1.
| Platform | ID |
|---|---|
Linux (APPLICATION_ID) |
com.queryahub.querya_desktop |
| macOS (bundle id) | com.queryahub.queryaDesktop |
| Windows (Company / Product) | QueryaHub / Querya Desktop |
Legacy com.example.* support directories are migrated once into the new paths
(see AppDataRoot.migrateLegacySupportIfNeeded).
lib/core/storage/app_data_root.dart— portable detection, support-dir redirect, id migration- Updater packaging context:
lib/core/updater/installers/update_install_context.dart - Release workflow:
.github/workflows/release.yml
All installable Linux formats reuse the same Flutter build/linux/x64/release/bundle
payload as the portable zip and AppImage.
| Format | Build script | Install |
|---|---|---|
.deb |
scripts/linux/build_deb.sh |
sudo apt install ./Querya-Desktop-{ver}-linux.deb |
.rpm |
scripts/linux/build_rpm.sh |
sudo dnf install ./Querya-Desktop-{ver}-linux.rpm |
| Flatpak | scripts/linux/build_flatpak.sh |
flatpak install --user ./Querya-Desktop-{ver}-linux.flatpak |
| AUR | packaging/linux/aur/ |
yay -S querya-desktop (CI publishes on Release when AUR_SSH_PRIVATE_KEY is set) |
Runtime dependencies (deb/rpm): GTK 3, libsecret, GLib; app indicator recommended for tray.
| Install type | In-app updater |
|---|---|
| Portable zip / AppImage | Downloads matching release asset (zip or AppImage) |
.deb / .rpm |
Use apt / dnf (or distro equivalent); in-app install is not offered |
| Flatpak | Use flatpak update (FLATPAK_ID / managed runtime — see update_install_context.dart) |
| Snap | Use snap refresh when/if a Snap build ships |
The bundled Flatpak grants network, home, and D-Bus access to the freedesktop
secrets service (libsecret). Some database setups (Unix sockets outside $HOME,
custom TLS stores) may need extra permissions, e.g.:
flatpak override --user com.queryahub.querya_desktop --filesystem=/var/run/postgresql:roFlathub submission can reuse packaging/linux/flatpak/com.queryahub.querya_desktop.yml.