AntonioAlbt / kepler_app

Overview app for students of the JKG
GNU General Public License v3.0
8 stars 2 forks source link

Anmeldung funktioniert nicht (im Login) #19

Open lukitheflusspferd opened 1 week ago

lukitheflusspferd commented 1 week ago

Fehlerbeschreibung Nach Start der App befindet sich diese zunächst etwa eine Minute im Loading-Screen. Nach Eingabe und Bestätigung der Lernsax-Anmeldedaten erscheint der Ladebalken und der Schriftzug "Loggt ein..." Nach etwa einer Minute laden verschwindet der Ladebalken; es erscheint die Snackbar "Fehler bei der Verbindung zu den Lernsax-Servern" Eine Internetverbindung war immer vorhanden. Die App wurde für den Log ohne Anmeldung geöffnet. Ein erneutes Anmelden funktionierte ebenfalls nicht. Keine Probleme auf iPad Air (5. Gen), iOS 18

Schritte zum Reproduzieren Der Fehler trat auf allen mir bekannten Schul-iPads auf; dort immer.

  1. App öffnen
  2. Anmeldedaten für Lernsax eingeben
  3. Fehler: lange Ladezeit, die in einem Fehler mündet

Screenshots 0EDB44AE-C6AB-4BB9-A83E-C1CF4C016272 32321B8C-F54E-42DE-8DB9-96AA526D868D

Gerät)

Log-Ausschnitt Um den Log einsehen zu können, wurde die App ohne Anmeldedaten geöffnet:

Log erstellt: 02.10.2024 08:09 [02.10.2024 10:53] [D] (ls-api-call) called login, logout [02.10.2024 10:54] [E] (ls-api) ClientException with SocketException: Operation timed out (OS Error: Operation timed out, errno = 60), address = www.lernsax.de, port = 54792, uri=https://www.lernsax.de/jsonrpc.php:

0 IOClient.send (package:http/src/io_client.dart:154)

#1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) #2 _withClient (package:http/http.dart:167) #3 api. (package:kepler_app/libs/lernsax.dart:166) #4 api (package:kepler_app/libs/lernsax.dart:160) #5 isMemberOfJKG (package:kepler_app/libs/lernsax.dart:191) #6 _LernSaxScreenMainState.runLogin (package:kepler_app/introduction.dart:532) #7 _LernSaxScreenMainState.build.. (package:kepler_app/introduction.dart:356) [02.10.2024 10:55] [D] (ls-api-call) called login, logout [02.10.2024 10:55] [I] (startup) --- LOG INIT --- [02.10.2024 10:55] [W] (loading) LoadingError: long loading time, ~ 15s [02.10.2024 10:55] [W] (loading) LoadingError: extremely long loading time, = 25s [02.10.2024 10:56] [E] (news-data) ClientException with SocketException: Operation timed out (OS Error: Operation timed out, errno = 60), address = kepler-chemnitz.de, port = 54820, uri=https://kepler-chemnitz.de/?feed=atom&paged=1: #0 IOClient.send (package:http/src/io_client.dart:154) #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) #2 _withClient (package:http/http.dart:167) #3 loadNews (package:kepler_app/tabs/school/news_data.dart:189) #4 loadAndPrepareApp (package:kepler_app/main.dart:144) #5 _KeplerAppState._load (package:kepler_app/main.dart:456) #6 _KeplerAppState.initState. (package:kepler_app/main.dart:700) [02.10.2024 10:56] [D] (ls-api-call) called login, logout [02.10.2024 10:58] [E] (ls-api) ClientException with SocketException: Operation timed out (OS Error: Operation timed out, errno = 60), address = [www.lernsax.de](http://www.lernsax.de/), port = 54823, uri=https://www.lernsax.de/jsonrpc.php: #0 IOClient.send (package:http/src/io_client.dart:154) #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) #2 _withClient (package:http/http.dart:167) #3 api. (package:kepler_app/libs/lernsax.dart:166) #4 api (package:kepler_app/libs/lernsax.dart:160) #5 isMemberOfJKG (package:kepler_app/libs/lernsax.dart:191) #6 _LernSaxScreenMainState.runLogin (package:kepler_app/introduction.dart:532) #7 _LernSaxScreenMainState.build.. (package:kepler_app/introduction.dart:356) [02.10.2024 10:58] [D] (ls-api-call) called login, logout [02.10.2024 10:59] [E] (ls-api) ClientException with SocketException: Operation timed out (OS Error: Operation timed out, errno = 60), address = [www.lernsax.de](http://www.lernsax.de/), port = 54838, uri=https://www.lernsax.de/jsonrpc.php: #0 IOClient.send (package:http/src/io_client.dart:154) #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) #2 _withClient (package:http/http.dart:167) #3 api. (package:kepler_app/libs/lernsax.dart:166) #4 api (package:kepler_app/libs/lernsax.dart:160) #5 isMemberOfJKG (package:kepler_app/libs/lernsax.dart:191) #6 _LernSaxScreenMainState.runLogin (package:kepler_app/introduction.dart:532) #7 _LernSaxScreenMainState.build.. (package:kepler_app/introduction.dart:356) [02.10.2024 11:00] [D] (ls-api-call) called login, logout [02.10.2024 11:01] [E] (ls-api) ClientException with SocketException: Operation timed out (OS Error: Operation timed out, errno = 60), address = [www.lernsax.de](http://www.lernsax.de/), port = 54854, uri=https://www.lernsax.de/jsonrpc.php: #0 IOClient.send (package:http/src/io_client.dart:154) #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) #2 _withClient (package:http/http.dart:167) #3 api. (package:kepler_app/libs/lernsax.dart:166) #4 api (package:kepler_app/libs/lernsax.dart:160) #5 isMemberOfJKG (package:kepler_app/libs/lernsax.dart:191) #6 _LernSaxScreenMainState.runLogin (package:kepler_app/introduction.dart:532) #7 _LernSaxScreenMainState.build.. (package:kepler_app/introduction.dart:356) [02.10.2024 11:04] [E] (news-data) ClientException with SocketException: Operation timed out (OS Error: Operation timed out, errno = 60), address = [www.kepler-chemnitz.de](http://www.kepler-chemnitz.de/), port = 54872, uri=https://www.kepler-chemnitz.de/wp-json/tribe/events/v1/events?start_date=2024-10-01&end_date=2024-10-31: #0 IOClient.send (package:http/src/io_client.dart:154) #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) #2 _withClient (package:http/http.dart:167) #3 loadCalendarEntries (package:kepler_app/tabs/school/news_data.dart:281) #4 HomeCalendarWidgetState.build. (package:kepler_app/tabs/home/widgets/calendar_home.dart:61) #5 _FutureBuilderState._subscribe. (package:flutter/src/widgets/async.dart:638)
AntonioAlbt commented 1 week ago

Ich wollte erst schreiben, dass ich nicht weiß was das Problem ist, aber Issue #20 hilft sehr bei der Problemlösung (speziell der Fehler mit CERTIFICATE_VERIFY_FAILED. Das Problem ist, dass http von pub.dev keine System-Proxy-Einstellungen respektiert. Da die aber auf SYSC-Geräten unbedingt genutzt werden müssen, um sich mit dem Internet zu verbinden, ist es entweder, wie hier, nicht möglich sich zu verbinden und es kommt zum Timeout - oder, wie in #20, kommt es zu einem Zertifikatsfehler.

Die Lösung wird sein, ein Paket wie etwa native_flutter_proxy zu verwenden. Das werde ich also einfach mal hinzufügen. Dann kommt halt zum Fixen für Schul-iPads, dass ich keine Ahnung hab, wann, wie oder wie oft Updates für Apps auf den installiert werden.

AntonioAlbt commented 1 week ago

Warte mal, #21 haut grad alles wieder über den Haufen.

Kannst du auf einem Schul-iPad News neu laden? Oder News in der App anschauen (auch im In-App-Browser)? Kannst du den Kalender öffnen und anschauen? Kannst du Infos zum Foucaultschen Pendel anschauen? @lukitheflusspferd

lukitheflusspferd commented 1 week ago

Ich sollte evtl. nochmal betonen, dass sowohl #20 als auch #21 nicht auf dem Schulipad passiert sind, sondern auf meinem Privatgerät.

AntonioAlbt commented 1 week ago

Oh ups, danke für den Hinweis. Dann wird das mit dem Proxy hier zumindest stimmen. Hab auch auf Stack Overflow nochmal gelesen, dass Dart standardmäßig nicht das System-Proxy verwendet.

lukitheflusspferd commented 1 week ago

Funktioniert alles normal @AntonioAlbt

AntonioAlbt commented 1 week ago

...wait what? Das geht alles normal auf nem Schul-iPad? Ist der Fehler in der Schule oder woanders aufgetreten? Das iPad verwendet das Proxy meines Wissens nach nämlich nur im Schul-WLAN. Und hast du alles grad in einem anderen WLAN ausprobiert? Geht die Anmeldung denn in einem anderen WLAN?

lukitheflusspferd commented 1 week ago

Anmeldung funktioniert in Netzwerk Zuhause ganz normal, scheint am Schulnetzwerk zu liegen.

AntonioAlbt commented 6 days ago

Ich hab das Update (2.6.2) bei Apple eingereicht, mal schauen wann du es dann aufs Schul-iPad kriegst (und ob es überhaupt funktioniert).

AntonioAlbt commented 3 days ago

Das Update ist jetzt auf jeden Fall live @lukitheflusspferd und ich sehe auch, dass die Apps auf den iPads installiert wurden - ich sehe nur leider nicht, auf welcher Version die alle sind. Kannst ja mal schauen, wann das Update bei dir installiert wird.

lukitheflusspferd commented 3 days ago

Vielen Dank Ich kann leider erst in einer Woche schauen, das iPad liegt bei mir Zuhause, wo ich gerade nicht bin. Wie kannst du sehen, dass die App auf dem iPads installiert ist?