Skip to content

feat(packaging): make portable mode out-of-the-box via .portable marker (#1056) - #1069

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/1056-out-of-the-box-portable-mode
Oct 5, 2026
Merged

ZhuchkaTriplesix merged 1 commit into
devfrom
issue/1056-out-of-the-box-portable-mode

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Closes #1056

Description

Enables zero-configuration portable mode for official release zip archives (Windows & Linux).
Previously, portable mode required manually creating a QueryaData folder or passing QUERYA_PORTABLE=1. Without this, portable zips silently stored user databases and configurations in %APPDATA%\querya_desktop or ~/.local/share/com.queryahub.querya_desktop.

Changes

  1. AppDataRoot (lib/core/storage/app_data_root.dart):
    • Added support for marker files (.portable and portable.txt).
    • If marker is present, automatically creates and redirects to QueryaData/ next to the application binary on launch.
  2. Release Workflow (.github/workflows/release.yml):
    • Injects .portable and portable.txt markers into Windows and Linux portable release zip archives.
    • Ensures installer packages (setup.exe, .deb, .rpm, Flatpak) remain clean and installable to system locations.
  3. Preferences About Section (lib/features/settings/preferences_about_section.dart):
    • Added a clear portable mode status indicator using QueryaBadge.status('PORTABLE', status: QueryaBadgeStatus.info) explaining where data and passwords are kept.
  4. Docs & Tests:
    • Updated docs/packaging.md.
    • Added unit tests in test/core/storage/app_data_root_test.dart verifying marker detection and automatic directory creation.

@github-actions github-actions Bot added enhancement New feature or request stability Theme parser epic label: stability core Core library logic and services P1 High priority / Core capability labels Oct 5, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 8e25dd5 into dev Oct 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core library logic and services enhancement New feature or request P1 High priority / Core capability stability Theme parser epic label: stability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant