fix: support Ubuntu 26.04 install and Qt timers - #55
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c7989dbf46
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| echo -e " ${YELLOW}3.${RESET} ${BOLD}Wenn alles funktioniert — Autostart aktivieren:${RESET}" | ||
| echo -e " ${YELLOW}3.${RESET} ${BOLD}Wenn alles funktioniert — Dienst jetzt starten:${RESET}" | ||
| echo " (Der Autostart wurde bereits durch den Installer aktiviert.)" | ||
| echo " systemctl --user start blitztext-linux" |
There was a problem hiding this comment.
Stop the manual instance before starting the service
When the ./run.sh test from step 2 is still running, this command starts a second application instance because the systemd unit executes Python directly and therefore bypasses run.sh's PID-file guard. Both instances then consume the same evdev hotkeys, potentially recording and pasting twice. Instruct users to quit the manual instance before this step, or make both launch paths share the same single-instance guard.
Useful? React with 👍 / 👎.
What changed
QTimer.singleShotcallbacks~/.config/blitztext-linux/secrets.envWhy
PyQt 6.11 with Python 3.14 exposed a lifetime bug: a static timer callback could run after
deleteLater()had destroyed the C++ widget, aborting the Python process. Owner-boundQTimerinstances are destroyed with their widgets and prevent the stale callback.The install guidance also described
systemctl --user startas enabling autostart even though the installer already enables the user service. Ubuntu 26.04 ships Python 3.14, so that verified runtime now needs equal CI coverage.Validation
python3 -m compileall app testsQT_QPA_PLATFORM=offscreen WHISPER_GUI_TESTS=1 .venv/bin/python -m pytest -q— 524 passed, 2 skipped on Python 3.14.4tests/test_state_machine.py— 30 passedbash -n scripts/install.sh scripts/verify.shgit diff --checkFlatpak remains an experimental developer spike and is unchanged. PR #54 is handled separately after this PR.