From 676a7ea9ebf5a7b483ece3409d755a376d5e45b0 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 19 May 2026 06:04:45 +0900 Subject: [PATCH 1/4] fix: notes file may not be present --- dzgui/managers/notes.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dzgui/managers/notes.py b/dzgui/managers/notes.py index 73beaa6..8782fb4 100644 --- a/dzgui/managers/notes.py +++ b/dzgui/managers/notes.py @@ -20,7 +20,10 @@ logger = logging.getLogger(APP_NAME) class NoteManager: def __init__(self, controller: "Controller", path: "Path") -> None: self.notes_path = path - self.cache: dict[str, str] = read_json(self.notes_path) + try: + self.cache: dict[str, str] = read_json(self.notes_path) + except Exception: + self.cache = {} def add_note(self, server: str, note: str) -> None: self.cache[server] = note From 17f732fafe6fdbf172ca2b81cb46bdd9aea55eee Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 19 May 2026 06:05:22 +0900 Subject: [PATCH 2/4] feat: continue to main app after config wizard closes --- dzgui/main.py | 5 ++++- dzgui/strings/wizard.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dzgui/main.py b/dzgui/main.py index cec454f..9ca1018 100644 --- a/dzgui/main.py +++ b/dzgui/main.py @@ -112,6 +112,9 @@ def main() -> None: copy_state_files(xdg_paths["XDG_STATE_HOME"]) # TODO: add logging inside wizard SetupWizard(_is_steam_deck, XDG.config) + + # NOTE: implies that setup wizard failed or was closed + if has_new_config(XDG.config) is False: return setup_logger(XDG.debug) @@ -127,7 +130,7 @@ def main() -> None: if has_steam_client() is False: EarlyAlertDialog(init.requires_steam) - # NOTE: clear versions file of unlinked mods + # NOTE: clears versions file of unlinked mods rebuild_symlinks(XDG.config) remove_stale_signatures(XDG.config, XDG.version) diff --git a/dzgui/strings/wizard.py b/dzgui/strings/wizard.py index 56c9053..2298155 100644 --- a/dzgui/strings/wizard.py +++ b/dzgui/strings/wizard.py @@ -67,4 +67,4 @@ label_client = "Steam client" ### Completion page heading_completion = "Setup complete" -blurb_completion = "Configuration completed successfully. Please exit and restart DZGUI to apply changes." +blurb_completion = "Configuration completed successfully. Click 'Close' to close this dialog and launch DZGUI." From c5d8afbc4ddf74dc0479ab9d4b96d2cd2b237f09 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 19 May 2026 06:08:55 +0900 Subject: [PATCH 3/4] chore: build dependencies into distribution tarball --- .gitignore | 1 + DEVELOPERS.md | 9 +++++++-- scripts/release.py | 10 ++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 73744d0..78fde29 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ uv.lock .coverage pyapp-latest/ dist/ +cpython diff --git a/DEVELOPERS.md b/DEVELOPERS.md index 1b79308..49f9e49 100644 --- a/DEVELOPERS.md +++ b/DEVELOPERS.md @@ -14,5 +14,10 @@ sphinx-build -M html source build -a # Building standalone DZGUI release binaries 1. Run `./scripts/dl_pyapp.sh` -2. Run `python3 scripts/release.py` -3. Generate a release and tag against the bundled `dzgui` executable +# TODO: secondary script that packs this archive +2. Download cpython 3.13, linux, gnu, v3 +https://github.com/astral-sh/python-build-standalone/releases/download/20251014/cpython-3.13.9%2B20251014-x86_64_v3-unknown-linux-gnu-install_only_stripped.tar.gz +3. Explicitly install dependencies into site-packages +4. Pack back into a tarball +5. Run `python3 scripts/release.py` +6. Generate a release and tag against the bundled `dzgui` executable diff --git a/scripts/release.py b/scripts/release.py index e4768b2..a672f6d 100644 --- a/scripts/release.py +++ b/scripts/release.py @@ -26,9 +26,15 @@ env["PYAPP_PROJECT_VERSION"] = version env["PYAPP_PROJECT_NAME"] = appname env["PYAPP_EXEC_SPEC"] = entrypoint env["PYAPP_PROJECT_PATH"] = wheel -env["PYAPP_DISTRIBUTION_EMBED"] = "true" -env["PYAPP_PYTHON_VERSION"] = "3.13" env["PYAPP_PASS_LOCATION"] = "true" +# env["PYAPP_PYTHON_VERSION"] = "3.13" + +# NOTE: explicitly install all dependencies into distribution +env["PYAPP_SKIP_INSTALL"] = "true" +env["PYAPP_DISTRIBUTION_EMBED"] = "true" +env["PYAPP_FULL_ISOLATION"] = "true" +env["PYAPP_DISTRIBUTION_PATH"] = "cpython/airgapped.tar.gz" +env["PYAPP_DISTRIBUTION_PYTHON_PATH"] = "python/bin/python3" proc = subprocess.run(["cargo", "build", "--release"], env=env, cwd=pyapp_dir) if proc.returncode == 0: From fb3642508345c2b943ed2a793641ce1f87543681 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 19 May 2026 06:23:53 +0900 Subject: [PATCH 4/4] chore: bump version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c055619..d2bbd2b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ description = "DayZ server browser and mod manager for Linux" authors = [ {name = "aclist"} ] -version = "7.0.0b2" +version = "7.0.0b3" license = "GPL-3.0-or-later" license-files = ["LICENSE"] readme = "README.md"