Commit Graph
15 Commits
Author SHA1 Message Date
MineTecandClaude Fable 5.1 279b973e89 hardened API decoding against server fields the models did not expect
The Talk room list crashed for a new account because the server omits
lastMessage for rooms without a visible message and the model required it.
Beyond that single field, a review of the Talk models against the OpenAPI
spec of the installed version (23.0.8) found the same crash class in several
places: closed enums over open server values (inCall bitmask, rich-object
types, actor and message types), a deleted parent sent as {id, deleted},
and the autocomplete status arriving as an object.

- json_serializable `checked: true`: decode errors now name class and field
- lists (rooms, messages, participants, autocomplete) decode per entry;
  a malformed entry is skipped and reported via ClientErrorReporter
- unknownEnumValue fallbacks for all response enums of Talk and breakers
- lastMessage nullable; inCall as bitmask; deleted parent placeholder;
  autocomplete status object/string; fixed shareWithDisplayNameUnique key
- GetRoomParams no longer sends null query parameters

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HrepDTL4qDe35TuS29sLW3
2026-09-29 16:35:41 +02:00
MineTec 2664378b17 fixed overwrite on internal copy, DST drift in widget anchors, inline errors without controller and removed dead room lookup 2026-09-27 17:37:31 +02:00
MineTec ee1240f71a simplified code across the app and consolidated duplicated helpers 2026-09-27 17:29:54 +02:00
MineTec 5e65c4671a replaced account data singleton with a session model 2026-09-27 14:49:38 +02:00
MineTec 2ca9feb49a reworked home screen widgets to mirror the in-app timetable, hidden below android 12 2026-09-27 14:07:52 +02:00
MineTec 56a497985b improved performance and battery usage on older devices 2026-09-25 23:58:08 +02:00
MineTec e21560ed3d added teacher-focused lesson sheet with direct class and teacher timetable links 2026-09-24 23:33:13 +02:00
MineTec 4f31e68456 replaced generic "Event" label with substitution or lesson text 2026-09-24 22:22:43 +02:00
MineTec 498d195138 fixed stale state after logout and replayed or lost share intents 2026-09-24 21:43:21 +02:00
MineTec 02a7b87b5b markdown support for talk messages 2026-08-16 21:35:41 +02:00
MineTec 889d8f67c5 show classname instead of teacher name in teacher timetable view 2026-08-09 12:19:57 +02:00
MineTec ab23422a86 widget refresh enhancements 2026-08-06 20:22:32 +02:00
MineTec 398b147c76 simplify: dedupe boilerplate and remove dead code across all layers 2026-07-13 22:22:39 +02:00
MineTec 93b9929f8f migrated timetable integration from WebUntis to the MarianumConnect API, implementing a Dio-based client with bearer token authentication, background session validation, and auto-refresh logic. 2026-05-23 17:32:42 +02:00
MineTec 00664c66a8 added base homescreen-widget setup, working on Android, iOS in progress 2026-05-09 18:01:05 +02:00