Skip to content

Commit 697234e

Browse files
committed
fix: improve Linux support across theme, keychain, updater, and packaging
- Disable window transparency on Linux and override --vibrancy to the solid background so vibrancy-surfaces no longer look washed out - Replace Secret Service with a file-based vault key (mode 0600) on Linux to stop the keychain prompt firing every startup, with a migration path from legacy keyring entries - Hide the window menu and title on Linux home screen - Add bundle metadata (publisher, license, category, descriptions) so Ubuntu App Center / GNOME Software / KDE Discover show proper info - Handle updater "platform not found" gracefully and surface a platform-specific keychain access toast - Drop scripts/release-local.sh; CI handles multi-platform releases - Document libfuse2 / chmod install notes and code signing status
1 parent 7c17cda commit 697234e

12 files changed

Lines changed: 379 additions & 923 deletions

File tree

.github/workflows/release.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,8 @@ jobs:
6161
VERSION_NUMBER="${VERSION#v}"
6262
RELEASE_DATE=$(date -u +"%Y-%m-%d")
6363
64-
# Extract the full changelog section for this version from CHANGELOG.md.
65-
# Include the ## [version] - date header so the format matches the local
66-
# release script (release-local.sh generate_changelog output).
64+
# Extract the full changelog section for this version from CHANGELOG.md,
65+
# including the `## [version] - date` header.
6766
CHANGELOG_SECTION=$(awk "/^## \[$VERSION_NUMBER\]/{found=1} found && /^## \[/ && NR>1{exit} found" CHANGELOG.md 2>/dev/null || true)
6867
6968
if [ -n "$CHANGELOG_SECTION" ]; then
@@ -603,11 +602,10 @@ jobs:
603602
VERSION_NUMBER="${VERSION#v}"
604603
PUB_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
605604
606-
# Extract release notes body from CHANGELOG.md (body only, no version header —
607-
# matches release-local.sh generate_manifest which uses the same awk pattern)
605+
# Extract release notes body from CHANGELOG.md (body only, no version header).
608606
RAW_NOTES=$(awk "/^## \[$VERSION_NUMBER\]/{found=1;next} found && /^## \[/{exit} found" CHANGELOG.md 2>/dev/null | sed '/^[[:space:]]*$/d' || true)
609607
610-
# Fallback: generate from git commits (matches release-local.sh fallback)
608+
# Fallback: generate release notes from git commits.
611609
if [ -z "$RAW_NOTES" ]; then
612610
PREV_TAG=$(git tag --sort=-version:refname | grep -v "^${VERSION}$" | head -n 1 || true)
613611
if [ -n "$PREV_TAG" ]; then

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,27 @@
55
<!-- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -->
66
<!-- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -->
77

8+
## [2026.1.0-beta.19] - 2026-04-11
9+
10+
### Improvements
11+
- Populated Linux package metadata (publisher, homepage, license, category, description) so Query Pilot now shows a proper name, tagline, and links in GNOME Software, KDE Discover, and Ubuntu App Center instead of "unknown" / "(none)".
12+
- Disabled window transparency on Linux and switched to native GTK decorations with a solid themed background, fixing the broken look where the desktop bled through the sidebar.
13+
- Hid the File/Edit/View/Database/Window/Help menu bar and cleared the header bar title on Linux for a cleaner home screen, matching the macOS and Windows experience.
14+
- Made the "Keychain Access Required" toast platform-aware: macOS users see System Settings guidance, Windows users see Credential Manager guidance, and Linux users see GNOME Keyring / KWallet guidance.
15+
16+
### Known Issues — Linux install
17+
18+
- **AppImage silently does nothing when double-clicked.** Ubuntu 22.04+ ships FUSE 3 by default, but AppImages require FUSE 2. Install it with `sudo apt install libfuse2`, or run the AppImage with `--appimage-extract-and-run` to bypass FUSE entirely.
19+
- **AppImage is not executable by default.** Downloaded AppImages don't carry the execute bit. Right-click → Properties → Permissions → "Allow executing as program", or run `chmod +x Query-Pilot_*.AppImage`.
20+
- **`.deb` shows "Potentially unsafe — third-party package" in Ubuntu App Center** and runs a "Verifying query-pilot…" check on every launch. This is Ubuntu's handling for any side-loaded `.deb`; launching from the terminal or the `.desktop` shortcut bypasses it. A signed apt repository / Flatpak / Snap is on the roadmap.
21+
- **Login keyring locked → "Keychain Access Required" on every startup.** If you use auto-login, or your Ubuntu password drifted from your keyring password, the login keyring stays locked and Query Pilot cannot read its encryption key. Unlock it once in **Passwords and Keys** (Seahorse) → right-click **Login** → Unlock.
22+
23+
### Known Issues — code signing
24+
25+
- **macOS builds are signed and notarized.** No Gatekeeper warnings on first launch.
26+
- **Windows builds are not code-signed yet.** SmartScreen may show "Windows protected your PC" on first launch — click *More info**Run anyway*. Code signing is planned.
27+
- **Linux `.deb` / `.rpm` are not signed by a trusted apt/dnf key yet.** AppImage and RPM artifacts are GPG-signed, but there is no hosted apt repository, so `.deb` installs are treated as third-party by Ubuntu App Center.
28+
829
## [2026.1.0-beta.18] - 2026-04-08
930

1031
### Improvements

Makefile

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: help d dev dev-profile dp querypilot-cli build clean install test t test-all test-quick test-unit test-frontend test-backend test-integration ti test-watch test-coverage docker-up docker-down docker-reset seed-all seed-postgres seed-mysql seed-sqlite seed-sqlserver seed-oracle seed-mongodb seed-redis setup version release beta release-manual release-local relc generate-keys test-ssh-setup test-ssh test-ssh-all-adapters test-ssh-clean test-ssh-full test-ssh-all-smoke
1+
.PHONY: help d dev dev-profile dp querypilot-cli build clean install test t test-all test-quick test-unit test-frontend test-backend test-integration ti test-watch test-coverage docker-up docker-down docker-reset seed-all seed-postgres seed-mysql seed-sqlite seed-sqlserver seed-oracle seed-mongodb seed-redis setup version release beta release-manual generate-keys test-ssh-setup test-ssh test-ssh-all-adapters test-ssh-clean test-ssh-full test-ssh-all-smoke
22

33
SSH_KEYGEN ?= ssh-keygen
44
SQLSERVER_CONTAINER ?= query-pilot-sqlserver
@@ -70,7 +70,6 @@ help:
7070
@echo "Release Management:"
7171
@echo " make release - Stable release (AI-assisted version + changelog)"
7272
@echo " make release beta - Beta release (auto-bump beta number)"
73-
@echo " make relc [V=2026.1.0] - Local build, sign, notarize & upload"
7473
@echo " make version VERSION=2026.1.0 - Bump version only (no commit)"
7574
@echo " make generate-keys - Generate Tauri updater signing keys"
7675
@echo ""
@@ -434,11 +433,3 @@ version:
434433
fi
435434
@bash scripts/bump-version.sh $(VERSION)
436435

437-
# Local release - build, sign, notarize, upload to GitHub
438-
# Usage: make relc V=0.7.1
439-
# Requires: gh CLI authenticated, Apple Developer cert in keychain
440-
# Optional env: APPLE_ID, APPLE_PASSWORD, APPLE_TEAM_ID (for notarization)
441-
# TAURI_PRIVATE_KEY, TAURI_KEY_PASSWORD (for update signing)
442-
# SENTRY_DSN (for telemetry build)
443-
release-local relc:
444-
@bash scripts/release-local.sh $(V)

README_DATABASES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,5 +563,7 @@ rm seeds/sqlite/query_pilot_test.db
563563

564564
# Remove any lingering data
565565
docker volume prune
566+
567+
postgresql://postgres.zrrvnaooiflbelrqiiws:tnUkcHCR6SnDYaUE@aws-1-ap-southeast-1.pooler.supabase.com:6543/postgres
566568
```
567569

0 commit comments

Comments
 (0)