Commit Graph
614 Commits
Author SHA1 Message Date
MineTecandClaude Opus 5.5 c5592f117b added automated App Store screenshots via iOS simulators and fastlane deliver
tool/screenshots_ios.sh runs the existing demo-login integration test on
iPhone 6.5" (iPhone 14 Plus) and iPad 13" simulators, stores the canonical PNGs
under materials/screenshots and mirrors alpha-free JPEGs to
ios/fastlane/screenshots for `fastlane upload_screenshots`.

Fixed the demo router answering timetable/custom-events with a week, which
crashed the inline iOS widget refresh after a demo login. The screenshot test
now skips the one-time Talk notification dialog and waits longer for the app
shell on cold simulators.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 16:58:29 +02:00
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 eddd294a34 blocked all nextcloud requests in demo mode to stop fake-credential logins tripping brute-force protection 2026-09-27 21:40:55 +02:00
MineTec c455bb1cae consolidated downloads dir, nextcloud origin, upload route and chat timestamps; added webdav path tests 2026-09-27 21:19:50 +02:00
MineTec aca86c506a fixed countdown wrap, css rgba colors, stale create-link gate and wired up reply drafts in talk 2026-09-27 21:13:44 +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 8eddc8f771 fixed widget background refresh loading custom events from the legacy backend 2026-09-27 14:54:10 +02:00
MineTec 27563a6dc1 added support for multiple accounts with an account switcher in settings 2026-09-27 14:54:10 +02:00
MineTec 5e65c4671a replaced account data singleton with a session model 2026-09-27 14:49:38 +02:00
MineTec 79b33ab248 reworked login screen texts and extracted shared login form parts 2026-09-27 14:40:04 +02:00
MineTec 1fd6264d10 fixed notification taps being ignored when they cold-started the app 2026-09-27 14:38:48 +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 2aed3d104c push registration no longer depends on notification permission, reporting effective opt-in and os permission 2026-09-26 23:38:24 +02:00
MineTec e6f74ca6fe reworked developer tools with diagnostics, storage viewers and release-capable debug overlays 2026-09-26 14:34:47 +02:00
MineTec 0f6c388940 fixed overflowing account name and dropdowns in settings 2026-09-26 14:34:47 +02:00
MineTec d6130584f2 fixed several runtime errors from client error reports 2026-09-26 00:06:18 +02:00
MineTec 56a497985b improved performance and battery usage on older devices 2026-09-25 23:58:08 +02:00
MineTec ed8e52f475 timetable performance optimization 2026-09-25 22:27:10 +02:00
MineTec ef7d17033d added talk notification levels for chats 2026-09-25 17:04:10 +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 de866b12b4 fixed stalled requests after app resume 2026-09-24 22:33:00 +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 3734d7ff2c fixed possible lockups on app start 2026-09-11 12:04:32 +02:00
MineTec 43dfc52bc7 added clear message for denied camera or gallery access 2026-09-02 20:31:44 +02:00
MineTec f19f212fb4 platform upgrades 2026-09-02 20:17:17 +02:00
MineTec 71839d0848 multiple runtime bugfixes for 1.5.5+65 2026-08-28 20:42:30 +02:00
MineTec 02a7b87b5b markdown support for talk messages 2026-08-16 21:35:41 +02:00
MineTec 09d4ecda78 fixed bug that prevents sending messages if reply was triggered in a different chat 2026-08-14 09:47:56 +02:00
MineTec d27312afdf renamed absence module 2026-08-14 09:37:41 +02:00
MineTec ccb22a497d added support for 2fa login with browser flow 2026-08-10 20:00:38 +02:00
MineTec 889d8f67c5 show classname instead of teacher name in teacher timetable view 2026-08-09 12:19:57 +02:00
MineTec 39c16bd4ea enhanced route transition gate because of a syncfusion viewer bug 2026-08-08 22:13:19 +02:00
MineTec b9cb1df473 added cache folder sweep check before file actions, preventing errors 2026-08-07 21:36:09 +02:00
MineTec ab23422a86 widget refresh enhancements 2026-08-06 20:22:32 +02:00
MineTec 646e2c0451 removed timetable limits, fully dependent on marianumConnect now 2026-08-05 20:03:02 +02:00
MineTec 246cb0f527 simplified loadable state logic by removing connectivity debouncing and inlining indicator helpers; updated error bar visibility and chat list polling behavior 2026-08-02 08:21:25 +02:00
MineTec 4c2e9b47e7 Merge remote-tracking branch 'origin/develop' into develop 2026-08-01 18:19:56 +02:00
MineTec 2d690736e3 implemented connectivity debouncing and refetch throttling for loadable state UI components 2026-08-01 18:16:22 +02:00
MineTec 778c473631 added telemetry call on app resume with 15 minute cooldown 2026-07-28 12:52:07 +02:00
MineTec 7e9cbcf1e9 fixed widget mounting errors 2026-07-28 12:51:39 +02:00
MineTec 32be67426c Merge remote-tracking branch 'origin/develop' into develop 2026-07-26 13:49:05 +02:00
MineTec b957189fd3 implemented absence report module with form validation, prefill support, and API integration 2026-07-26 11:45:48 +02:00
MineTec 3493cf8617 fixed error on pdf viewer transition 2026-07-23 14:16:33 +02:00
MineTec 75080a2c49 implemented shared items view for Talk chats with tabbed categories and on-scroll pagination 2026-07-19 10:58:02 +02:00
MineTec f3cd7896d9 implemented backward pagination for chat history with on-scroll prefetching 2026-07-17 20:14:47 +02:00
Marianum 429f1e6f96 fix build against updated dependencies: re-add DioExceptionType.transformTimeout case (restored in dio 5.10.0) and rename SwiftReceiveSharingIntentPlugin to ReceiveSharingIntentPlugin (renamed in receive_sharing_intent 1.9.0); refresh Podfile.lock and SPM Package.resolved 2026-07-17 15:19:10 +02:00
Marianum a0c55a811c completed iOS push notification setup: created the NotificationServiceExtension Xcode target programmatically (via xcodeproj), embedded it in Runner, and added its xcconfig base configs; fixed Automatic Signing by switching the NSE↔Runner shared keychain from an app-group to a team-prefixed access group across entitlements, Dart and Swift; fixed the analyzer break from dio 5.9.2 dropping DioExceptionType.transformTimeout 2026-07-17 15:05:34 +02:00
MineTec e625216a90 improved push notification settings with health indicators and optimized notification dismissal 2026-07-16 22:40:33 +02:00