Add in-app self-update via git (Hilfe menu)
New Updater class + "Hilfe" menubar: - "Nach Update suchen": git fetch + count of new upstream commits. - Quiet background check on start; surfaces via status bar + menu label. - Install: git merge --ff-only, pip install if requirements.txt changed, then restart via os.execv. data/ is git-ignored and untouched. - Fast-forward only; diverged history or offline -> clear message, no action. - Inert unless run from a git clone with git on PATH. Also: "Version…" menu item shows the installed commit. Verified against throwaway git repos (check / ff-update / diverged / no-op / non-clone) and via GUI build on Python 3.14 / Tk 9. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,26 @@
|
||||
|
||||
Notable changes to the app. Newest first.
|
||||
|
||||
## 2026-09-07 — built-in self-update
|
||||
|
||||
New **Hilfe** menu:
|
||||
|
||||
- **Nach Update suchen** – `git fetch` + count of new commits on the server.
|
||||
- **Version…** – shows the installed commit (`<hash> · <date>`).
|
||||
|
||||
On start, a quiet background check runs; if updates exist the status bar says so
|
||||
and the menu item becomes "Update installieren (N verfügbar)".
|
||||
|
||||
Installing runs `git merge --ff-only` (fast-forward only – never an automatic
|
||||
merge), re-runs `pip install -r requirements.txt` if that file changed, then
|
||||
restarts the app via `os.execv`. User data (`data/`) is git-ignored and
|
||||
untouched. If the local checkout has diverged or the network is down, it shows a
|
||||
clear message and does nothing.
|
||||
|
||||
Only active when the app runs from a **git clone** with `git` installed;
|
||||
otherwise the menu just shows "Version: unbekannt". New `Updater` class,
|
||||
`app.py`.
|
||||
|
||||
## 2026-09-07 — map tiles switched to OpenStreetMap
|
||||
|
||||
`folium.Map(tiles="CartoDB positron")` began showing an "API KEY REQUIRED"
|
||||
|
||||
Reference in New Issue
Block a user