Releases: asiimwe3/school-report-maker
Release list
v2.2.24 — Teacher app update fix (1.13.8)
Teacher app 1.13.9 — fixes "installs but does not open" on teachers' phones.
Root cause: every released APK up to 1.13.8 was accidentally built as a DEBUG build (assembleDebug in CI): a debuggable app carrying 78MB of debug code. On low-memory phones Android kills it during startup before any window appears — so it installs but never opens.
1.13.9 is a true signed RELEASE build:
- APK 24.4MB → 2.8MB, dex 78MB → 2MB (R8 shrinking)
- Not debuggable; opens fast on low-end phones
- Same permanent signing key as 1.13.8 → installs as a normal update over 1.13.8 (no uninstall needed)
- Phones still on 1.13.7 or older: the old app must be uninstalled once (Cloud Sync first if it still opens), then install this APK.
Console 2.2.24 unchanged (MSI attached below).
v2.2.23 — Auto-detect a broken cloud school link
Fixed
If your console was connected to a school that no longer exists on the cloud server (it was reset or deleted, e.g. during a demo reset or support cleanup), the console kept saying Connected and every cloud button failed with confusing errors like Server error / needs v2 script. v2.2.23 now checks the link when you open Cloud & Online and automatically drops back to the Create / Connect Cloud Account screen with a clear message. Your local data is never touched.
What to do if you saw this
- Install this update
- Open Cloud & Online — it will say the link is no longer valid
- Reconnect with your admin email and password
- Tap Back Up Now to push everything back to the cloud
Teacher app unchanged (1.13.7).
v2.2.22 — Fix expired-session error on Cloud & Online
Fixed
Generate code, Refresh list and Pull Teacher Submissions on Cloud & Online showed Server error (401): JWT expired instead of just working, if the console had been open for a while (Supabase sessions expire after ~1 hour). Back Up Now already silently refreshed and retried — the other three buttons now do the same, so a stale session is invisible to the admin.
Install
Console (Windows): SchoolReportMaker-2.2.22.msi below. Teacher app unchanged (1.13.7).
v2.2.21 — In-app training
Console 2.2.21 + Teacher app 1.13.7
New: built-in training for staff
- Admin Console → Help & Documentation → new Training Slides tab: the 8-step admin walkthrough with Prev/Next, fully offline
- SRS Teacher → new How-to Guide under More (also in the drawer): 8 training steps with progress dots, fully offline
Staff training decks (for presentations)
- Admin-Console-Training.pptx — 10 slides for the head teacher/admin training session
- Teacher-App-Training.pptx — 9 slides for the staff training session
Install
- Console (Windows): SchoolReportMaker-2.2.21.msi below
- Teacher app: srs-teacher-1.13.7.apk below
v2.2.20 — Launch-day fix
Console 2.2.20 (teacher app unchanged: 1.13.6)
Fixed before launch
- Timetable and Assign teacher pickers showed only the first 12–20 classes/subjects/teachers — a school with more could not select them. All lists are now complete and scrollable.
Full admin walkthrough performed
- All 30 console screens checked for the nested-scroll crash class (the 2.2.15/2.2.16 bug) — clean
- Empty-school states, CSV/Excel import validation, wizard steps (school profile, cloud account, PIN, licence), cloud backup/restore/teacher codes, duty roster, calendar, timetable — all verified
Install
- Console (Windows): SchoolReportMaker-2.2.20.msi below
- Teacher app: srs-teacher-1.13.6.apk (same as 2.2.19)
v2.2.19 — School Timetable
Console 2.2.19 + Teacher app 1.13.6
New: School Timetable
- Admin Console → new Timetable screen (Academics): build the weekly timetable — day, period times, class, subject, teacher
- SRS Teacher → new My Timetable screen: day tabs Mon–Sat showing your periods; Home screen Today's Schedule now reads the real timetable
- Pull school setup (cloud or file) to receive timetable changes made by the admin
Also in this release
- Calendar events card on the teacher Home screen (term dates, exam windows, closures from the admin)
- Duty roster card in the console Teachers screen — see who is on duty this week
- Cloud 'Make submission' renamed to 'Send school data' for clarity
Install
- Console (Windows): download SchoolReportMaker-2.2.19.msi below
- Teacher app: download srs-teacher-1.13.6.apk below
v2.2.18 — Personal Teacher Codes
Console 2.2.18 — Personal Teacher Codes (teacher app unchanged: 1.13.5)
New: Personal Teacher Codes (Cloud & Online)
- Generate a separate one-time invite code for each teacher — type the name, tap Generate.
- Each code works once, then dies — a code leaked on a WhatsApp group can never be reused by someone else.
- Every code shows its teacher name and used ✓ / not used yet status.
- Copy and WhatsApp-share buttons per code, so each teacher gets their own invite.
- The old school-wide code still works as a fallback; old shares keep working.
Fixes
- Fixed the Supabase RLS infinite recursion (error 42P17) that made "Back Up Now" and "Pull Teacher Marks" fail with a 500 for every school.
docs/supabase-setup-v2.sqlis now safe for new setups; the standalone hotfix is indocs/rls-recursion-hotfix.sql.
If you set up your Supabase cloud with v2.2.17: run
docs/rls-recursion-hotfix.sqlonce in the Supabase SQL Editor. v2.2.17 introduced two RLS policies that referenced each other in a loop.
Install
- Windows: download
SchoolReportMaker-2.2.18.msiand install over your current version — data is untouched. - Teacher app: no update needed (1.13.5 is current).
v2.2.17 — Personal teacher codes
New: personal invite codes for teachers
Every teacher now gets their OWN single-use join code, generated on the console (Teachers screen). Teachers pick their own role when joining (Teacher / Head Teacher / Admin / Data Entry) and appear on the staff roster automatically.
This fixes teachers colliding on one shared school code.
Required once: the school must run docs/supabase-setup-v2.sql in the Supabase SQL editor before using personal codes (the old school-wide code keeps working meanwhile).
Console 2.2.17
- New card on the Teachers screen: Invite teachers with personal codes — enter a name, get a code, share it on WhatsApp per teacher
- Codes list with used / waiting status
- Add joined teachers to roster pulls every teacher who joined, with the role they chose
Teacher app 1.13.5
- Role picker during join — the teacher chooses their role themselves
- Personal-code messaging
v2.2.16
Fixes
- Fixed crash when opening Cloud & Online — the screen had a scroll inside the page scroll (same bug family as the School Setup crash fixed in 2.2.15). Opening Cloud & Online crashed with
IllegalStateException: Vertically scrollable component…, which made the whole cloud feature look broken.
Cloud account creation, backups and teacher invite codes work normally now.
Console 2.2.15 — School Setup Crash Fix
Fixes the crash when opening School Setup (scrollable layout conflict reported by the crash collector). No other changes.