Commit graph

9 commits

Author SHA1 Message Date
pepaskopec-blip
51101a93e2 Fix the Windows build by printing content logs as UTF-8.
The content step crashed on cp1252 because the summary line contains Czech characters.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 11:24:17 +02:00
pepaskopec-blip
c3bc32113b Build all apps from Markdown content; Compose Desktop replaces GTK on Linux and Windows
- content/ + scripts/build-content.py produce content.json for every app
- stable lesson IDs with one-time progress migration (Swift, Kotlin)
- shared answer-check tests (tests/answers.json) for Kotlin and Swift
- android/desktop: Compose app with updater, speech and GTK progress import
- CI packages AppImage and Windows zip with ProGuard, runs the tests

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 20:40:37 +02:00
pepaskopec-blip
d9bba71442 Point installers and updaters at the Graduately repository.
GitHub and Forgejo were renamed; keep artifact filenames, update repo URLs and remotes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 21:24:35 +02:00
pepaskopec-blip
e00ced808b Make the Android self-update actually install.
CI stopped publishing when the iOS job outgrew the macos-14 Xcode, so
the builds branch froze; the iOS job now runs on macos-26 and publish
keeps the previous package for any platform that failed, with
VERSION-<platform> markers naming the commit each package came from.
APKs are signed with a committed sideload key instead of the runner's
random debug key, so Android accepts them as updates, and the version
code grows with every CI run. The updater explains the unknown-sources
step, keeps the Update button after errors and checks the download is
this app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 18:36:25 +02:00
pepaskopec-blip
0621311b4c Rework the mobile UIs on native components and fix layout bugs everywhere.
Android moves to Material 3 (navigation bar, app bars, list items,
bottom sheets, pager) with a real back stack. iOS hides the tab bar in
exercises so the bottom action is reachable, aligns content, and uses
system colours so themes and dark mode work. Both pick a readable
accent tint. Desktop keeps the VLSM table inside the window and gives
statistics the same header rhythm as other pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 15:37:15 +02:00
pepaskopec-blip
d34a87c1f1 Make the Android updater read GitHub atom feeds the same way desktop does.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:26:13 +02:00
pepaskopec-blip
9b9693fe4f Keep Android dialogue text readable and move word picks out of the sentence.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:22:43 +02:00
pepaskopec-blip
cc36881bb9 Stop Android from crashing on subject maps and ship a new installable version.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 12:56:56 +02:00
pepaskopec-blip
9d8b853081 Add a Jetpack Compose Android app that plays the same maturita content.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 10:54:49 +02:00