Fixed
- Git
dev-latesttag on pull —scripts/setup-repo-gitadds a force-fetch refspec sogit pull --tagsno longer fails with “would clobber existing tag”;scripts/pull-devruns setup and pullsdev. Optional.githooks/post-mergekeeps the tag in sync ondevwhencore.hooksPathis set via setup. - Dev in-app updates (“App not installed”) —
dev-latestCI assigns a monotonicversionCodeper workflow run (same signing as stable when secrets are set). The app checks APK signing and version code before opening the installer and shows a clear message when the installed build was debug-signed or sideloaded with a different key. - Offline checklists stuck offline (#27) — Notes and checklists share one app-wide
NetworkConnectivityMonitor(single network callback) so tab switches no longer desync Online/Offline; offline UI reads the shared online state. Sync runs when connectivity is restored. Homelab/LAN: online whenINTERNETis available (not onlyVALIDATED); connectivity is re-checked when the app returns to foreground. - Offline sync error display — Reverse-proxy HTML (e.g. nginx
403 Forbidden) is no longer shown in the UI; users see “Access denied” instead. Sync failures keep local offline items visible (snackbar + last-error row) instead of a full-screen error that hides them.
Changed
- Offline connectivity UX — Prominent error banner and highlighted offline status when the server cannot be reached; Try sync on list and detail screens.
- Branch sync after release — CI fast-forwards
devtomainafter each push tomain, so release merge commits do not leavemainahead ofdevwith identical trees.
Full changelog: https://github.com/Darknetzz/jotty-android/blob/main/CHANGELOG.md#135---2026-05-24