Hello!
I ran into a very critical issue.
Students are no longer able to register on my android app. Registration works perfectly fine on iOS as well as web (and another Android app which is connected to a clone of my current Open edX deployment). I don’t know what changed to disable the android registration, (I doubt it has something to do with flag configurations / Access tokens etc.)
Looks like it’s a backend problem than an android issue.
Here’s the log:
2022-03-16 14:19:05.165 32709-11971/com.mywebsite.learning D/OkHttp: --> POST https://courses.mywebsitelearning.com/api/user/v1/validation/registration
2022-03-16 14:19:05.165 32709-11971/com.mywebsite.learning D/OkHttp: Content-Type: application/x-www-form-urlencoded
2022-03-16 14:19:05.166 32709-11971/com.mywebsite.learning D/OkHttp: Content-Length: 126
2022-03-16 14:19:05.166 32709-11971/com.mywebsite.learning D/OkHttp: User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; HD1901 Build/RKQ1.201022.002) mywebsite/com.mywebsite.learning/21.09.22
2022-03-16 14:19:05.166 32709-11971/com.mywebsite.learning D/OkHttp: password=ababna&nationality=ahann&name=qhha&gender2=male&phone_number=ahhha&age=ana&email=cp.rafeeh%40gmail.com&username=hahah
2022-03-16 14:19:05.166 32709-11971/com.mywebsite.learning D/OkHttp: --> END POST (126-byte body)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/ConscryptEngineSocket;->setUseSessionTickets(Z)V (greylist-max-q,core-platform-api, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V (greylist-max-q,core-platform-api, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->setUseSessionTickets(Z)V (greylist-max-q, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/ConscryptEngineSocket;->setHostname(Ljava/lang/String;)V (greylist-max-q,core-platform-api, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V (greylist-max-q,core-platform-api, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->setHostname(Ljava/lang/String;)V (greylist-max-q, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V (greylist-max-q,core-platform-api, reflection, denied)
2022-03-16 14:19:05.218 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->setAlpnProtocols([B)V (greylist-max-q, reflection, denied)
2022-03-16 14:19:05.260 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B (greylist-max-q,core-platform-api, reflection, denied)
2022-03-16 14:19:05.260 32709-11971/com.mywebsite.learning W/.mywebsite.learnin: Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->getAlpnSelectedProtocol()[B (greylist-max-q, reflection, denied)
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: <-- 403 Forbidden https://courses.mywebsitelearning.com/api/user/v1/validation/registration (273ms)
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Allow: POST, OPTIONS
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Content-Language: en
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Content-Length: 63
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Content-Type: application/json
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Date: Wed, 16 Mar 2022 08:49:06 GMT
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Server: Caddy
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Server: nginx
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: Vary: Accept-Language, Origin, Cookie
2022-03-16 14:19:05.439 32709-11971/com.mywebsite.learning D/OkHttp: X-Frame-Options: SAMEORIGIN
2022-03-16 14:19:05.440 32709-11971/com.mywebsite.learning D/OkHttp: {"detail":"You do not have permission to perform this action."}
2022-03-16 14:19:05.440 32709-11971/com.mywebsite.learning D/OkHttp: <-- END HTTP (63-byte body)
2022-03-16 14:19:05.442 32709-32709/com.mywebsite.learning E/org.edx.mobile.util.images.ErrorUtils: org.edx.mobile.http.HttpStatusException: Response{protocol=http/1.1, code=403, message=Forbidden, url=https://courses.mywebsitelearning.com/api/user/v1/validation/registration}
at org.edx.mobile.http.callback.ErrorHandlingCallback.onResponse(ErrorHandlingCallback.java:215)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0(DefaultCallAdapterFactory.java:82)
at retrofit2.-$$Lambda$DefaultCallAdapterFactory$ExecutorCallbackCall$1$3wC8FyV4pyjrzrYL5U0mlYiviZw.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
2022-03-16 14:19:05.443 32709-32709/com.mywebsite.learning E/Event: Could not dispatch event: class org.edx.mobile.logger.Logger$CrashReportEvent to subscribing class class org.edx.mobile.base.MainApplication$CrashlyticsCrashReportObserver
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.mywebsite.learning. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:184)
at com.google.firebase.crashlytics.FirebaseCrashlytics.getInstance(FirebaseCrashlytics.java:229)
at org.edx.mobile.base.MainApplication$CrashlyticsCrashReportObserver.onEventMainThread(MainApplication.java:188)
at java.lang.reflect.Method.invoke(Native Method)
at de.greenrobot.event.EventBus.invokeSubscriber(EventBus.java:515)
at de.greenrobot.event.EventBus.postToSubscription(EventBus.java:450)
at de.greenrobot.event.EventBus.postSingleEventForEventType(EventBus.java:427)
at de.greenrobot.event.EventBus.postSingleEvent(EventBus.java:400)
at de.greenrobot.event.EventBus.post(EventBus.java:280)
at org.edx.mobile.logger.Logger.error(Logger.java:39)
at org.edx.mobile.util.images.ErrorUtils.getErrorMessageRes(ErrorUtils.java:83)
at org.edx.mobile.util.images.ErrorUtils.getErrorMessageRes(ErrorUtils.java:39)
at org.edx.mobile.util.images.ErrorUtils.getErrorMessage(ErrorUtils.java:28)
at org.edx.mobile.view.RegisterActivity$3.onFailure(RegisterActivity.java:220)
at org.edx.mobile.http.callback.ErrorHandlingCallback.onFailure(ErrorHandlingCallback.java:286)
at org.edx.mobile.http.callback.ErrorHandlingCallback.onResponse(ErrorHandlingCallback.java:215)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0(DefaultCallAdapterFactory.java:82)
at retrofit2.-$$Lambda$DefaultCallAdapterFactory$ExecutorCallbackCall$1$3wC8FyV4pyjrzrYL5U0mlYiviZw.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
2022-03-16 14:19:05.443 32709-32709/com.mywebsite.learning D/Event: No subscribers registered for event class de.greenrobot.event.SubscriberExceptionEvent
2022-03-16 14:19:05.444 32709-32709/com.mywebsite.learning E/org.edx.mobile.view.RegisterActivity: org.edx.mobile.http.HttpStatusException: Response{protocol=http/1.1, code=403, message=Forbidden, url=https://courses.mywebsitelearning.com/api/user/v1/validation/registration}
at org.edx.mobile.http.callback.ErrorHandlingCallback.onResponse(ErrorHandlingCallback.java:215)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0(DefaultCallAdapterFactory.java:82)
at retrofit2.-$$Lambda$DefaultCallAdapterFactory$ExecutorCallbackCall$1$3wC8FyV4pyjrzrYL5U0mlYiviZw.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
2022-03-16 14:19:05.474 32709-32709/com.mywebsite.learning E/.mywebsite.learnin: Invalid ID 0x00000000.
2022-03-16 14:19:05.489 32709-32709/com.mywebsite.learning D/ViewRootImpl: support adaptive color gamut feature!
2022-03-16 14:19:05.489 32709-32709/com.mywebsite.learning V/ViewRootImpl: The specified message queue synchronization barrier token has not been posted or has already been removed
2022-03-16 14:19:05.520 32709-32709/com.mywebsite.learning W/Choreographer: Already have a pending vsync event. There should only be one at a time.
2022-03-16 14:19:05.521 32709-32709/com.mywebsite.learning D/ViewRootImpl[RegisterActivity]: windowFocusChanged hasFocus=false inTouchMode=true
2022-03-16 14:19:05.546 32709-32709/com.mywebsite.learning D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@c9818ca[RegisterActivity]
2022-03-16 14:19:05.547 32709-32709/com.mywebsite.learning D/ViewRootImpl[RegisterActivity]: windowFocusChanged hasFocus=true inTouchMode=true```
Any help / suggestions ?