Android app can't connect on home wifi

My Android app doesn’t connect to the server as soon as I am in my home wifi, which is a standard vodafone cable internet router. If I switch wifi off it works, on other wifi networks it works as well. Any idea what would cause this?

Deactivating the firewall in the router does not change the issue.

IPv6 possibly? I believe AndroidOS prefers v6 and if there’s an issue falling back to v4…

The only IPv6 related setting in the router is “IPv6 host exposure”. I don’t think that’s what I want or need for this issue.
Is there a way to see logs or something which will help narrow down the issue?

Try:

Requirements:

  • For browser tabs: Android 4.0+ and Chrome for Android
  • A USB cable to plug in your Android device
  • Chrome 32 or later installed on your development machine

Set up:

  • Enable USB debugging on your device.
  • Navigate to chrome://inspect/#devices on your desktop Chrome browser. (Alternatively, to get to the same screen, you can select Chrome menu > Tools > Inspect Devices)
  • After connecting, you may see an alert on the device requesting permission for USB debugging from your computer. Tap OK
  • Chrome should now display the connected device
  • Open up chrome on your Android device and navigate to the page you want to debug/inspect. The page should show up on your desktop browser and you should be able to inspect it.

But: Mattermost in the browser works fine, it’s the App which doesn’t work on the wifi. What would debugging Chrome on the phone help where there is no issue?

You’d be retrieving the logs from the phone.

I don’t undestand how. Did you paste the wrong instructions?

Open up chrome on your Android device and navigate to the page you want to debug/inspect. The page should show up on your desktop browser and you should be able to inspect it.

This will not help me debugging the app and I can’t retrieve logs from apps this way.

I hope this helps: Installed adb on the desktop. Connected and allowed USB-debugging on phone. ran adb shell ps | grep "mattermost" to find out process name is called com.mattermost.rn. Then ran adb logcat | grep com.mattermost.rn for all log entries containing the string com.mattermost.rn. I don’t see anything which looks like an error though?

09-05 11:59:45.618  1633  4565 D FreecessController: com.mattermost.rn(10493) is important[12]
09-05 11:59:45.620 10945 11085 D ProfileInstaller: Installing profile for com.mattermost.rn
09-05 11:59:47.431  1633  3819 D SGM:GameManager: identifyForegroundApp. com.mattermost.rn, mCurrentUserId: 0, callerUserId: 0
09-05 11:59:47.431  1633  3819 D SGM:PkgDataHelper: getGamePkgData(). com.mattermost.rn
09-05 11:59:50.625  1633  4565 D FreecessController: com.mattermost.rn(10493) is important[12]
09-05 11:59:55.630  1633  4565 D FreecessController: com.mattermost.rn(10493) is important[12]
09-05 11:59:57.057  1633  6300 V WindowManager: Transition 3949: Set Task{8f6139 #22245 type=standard I=com.mattermost.rn/.MainActivity} as transient-hidden-task, caller=com.android.server.wm.Transition.$r8$lambda$CjoHzkGzNeU_fFxE5qPacUPUYJY:0 com.android.server.wm.Transition$$ExternalSyntheticLambda1.test:0 com.android.server.wm.Task.forAllTasks:4047 
09-05 11:59:57.057  1633  6300 V WindowManager: Collecting in transition 3949: Task{8f6139 #22245 type=standard I=com.mattermost.rn/.MainActivity}, caller=com.android.server.wm.Transition.collect:759 com.android.server.wm.Transition.lambda$setTransientLaunch$0:462 com.android.server.wm.Transition.$r8$lambda$CjoHzkGzNeU_fFxE5qPacUPUYJY:0 com.android.server.wm.Transition$$ExternalSyntheticLambda1.test:0 com.android.server.wm.Task.forAllTasks:4047 
09-05 11:59:57.058  1633  6300 D ActivityTaskManager: scheduleTopResumedActivityChanged, onTop=false, r=ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}, caller=com.android.server.wm.ActivityTaskSupervisor.updateTopResumedActivityIfNeeded:2826 com.android.server.wm.TaskDisplayArea.positionChildTaskAt:567 com.android.server.wm.TaskDisplayArea.positionChildAt:483 com.android.server.wm.Task.moveToFront:6077 com.android.server.wm.Task.moveToFront:5951 com.android.server.wm.ActivityStartController.startExistingRecents:791 
09-05 11:59:57.068   683   683 I HoneySpace.TaskListViewModel:  Task1 : [id=22245 windowingMode=1 user=0 lastActiveTime=548598952] null, isCoverLauncherTask = false, isLocked = false - com.mattermost.rn]
09-05 11:59:57.079  1633  6300 V WindowManager: Start calculating TransitionInfo based on participants: {Task{8f6139 #22245 type=standard I=com.mattermost.rn/.MainActivity}, TransientLaunchOverlayToken{1acd25a token=android.os.BinderProxy@9c94205}, Task{331e922 #21583 type=recents I=com.sec.android.app.launcher/com.android.quickstep.RecentsActivity}, WallpaperWindowToken{556691c token=android.os.Binder@e818797}, ActivityRecord{ea05337 u0 com.sec.android.app.launcher/com.android.quickstep.RecentsActivity t21583}}
09-05 11:59:57.079  1633  6300 V WindowManager:   Final targets: [TransientLaunchOverlayToken{1acd25a token=android.os.BinderProxy@9c94205}, Task{331e922 #21583 type=recents I=com.sec.android.app.launcher/com.android.quickstep.RecentsActivity}, Task{8f6139 #22245 type=standard I=com.mattermost.rn/.MainActivity}]
09-05 11:59:57.082  1633  6300 V WindowManager:         {WCT{RemoteToken{8c01c0 Task{8f6139 #22245 type=standard I=com.mattermost.rn/.MainActivity}}} m=TO_BACK f= leash=Surface(name=Task=22245)/@0xce3d4f2 sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0 dim=true inset=Rect(0, 88 - 0, 126)}
09-05 11:59:57.084  1633  1988 V WindowManager:         {WCT{RemoteToken{8c01c0 Task{8f6139 #22245 type=standard I=com.mattermost.rn/.MainActivity}}} m=TO_BACK f= leash=Surface(name=Task=22245)/@0xce3d4f2 sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0 dim=true inset=Rect(0, 88 - 0, 126)}
09-05 11:59:57.102   683   683 I HoneySpace.TaskAdapter: attach [position: 0], taskData size: 1, item: ComponentInfo{com.mattermost.rn/com.mattermost.rn.MainActivity}, animReady: 2, firstBindingComplete: 3, view: d810759
09-05 11:59:57.102   683 10931 I HoneySpace.TaskDataRepositoryImpl: Request icon and label, id=22245, iconAndLabel: IconAndLabel(icon=android.graphics.Bitmap@481393c, label=Mattermost), componentKey: com.mattermost.rn/.MainActivity#UserHandle{0}
09-05 11:59:57.103   683   749 I HoneySpace.SALoggingUtils: SA Logging screenID: 500 eventId: 5160 detail: {det=com.mattermost.rn} value: -1
09-05 11:59:57.157   683 10939 I HoneySpace.SuggestedItemsFacade: DPS items : Mattermost, com.mattermost.rn/.MainActivity#UserHandle{0}
09-05 11:59:57.158   683 10939 I HoneySpace.SuggestedItemsFacade: filteredItem : com.mattermost.rn/.MainActivity#UserHandle{0}
09-05 11:59:57.158   683 10939 I HoneySpace.SuggestedItemsFacade: item removed by filter - com.mattermost.rn
09-05 11:59:57.159  1633  6292 V WindowManager: Changing focus from Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity} to Window{896ce0c u0 com.sec.android.app.launcher/com.android.quickstep.RecentsActivity} displayId=0 Callers=com.android.server.wm.RootWindowContainer.updateFocusedWindowLocked:578 com.android.server.wm.WindowManagerService.updateFocusedWindowLocked:6881 com.android.server.wm.ActivityTaskManagerService.setLastResumedActivityUncheckLocked:6118 com.android.server.wm.ActivityTaskManagerService.setFocusedTask:2769 
09-05 11:59:57.173  1633  6292 D WindowManager: updateSystemBarAttributes: displayId=0, win=Window{896ce0c u0 com.sec.android.app.launcher/com.android.quickstep.RecentsActivity}, navColorWin=Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity}, focusedCanBeNavColorWin=false, behavior=1, appearance=0, statusBarAppearanceRegions=[AppearanceRegion{LIGHT_STATUS_BARS bounds=[0,0][1080,2400]}], requestedVisibilities=-9, from=com.android.server.wm.DisplayPolicy.focusChangedLw:2947 com.android.server.wm.DisplayContent.updateFocusedWindowLocked:4894 com.android.server.wm.RootWindowContainer.updateFocusedWindowLocked:578 
09-05 11:59:57.182  1633  6292 D InputDispatcher: Focus left window (0): 6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity
09-05 11:59:57.206  1446  1446 D SurfaceFlinger:      CLIENT | 0xb40000740b606eb0 | 0102 | RGBA_8888    |    0.0   13.0 1080.0 2380.0 |   24   42 1056 2323 | com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860
09-05 11:59:57.488  1446  1446 D SurfaceFlinger:      CLIENT | 0xb40000740b607b10 | 0102 | RGBA_8888    |    0.0   88.0 1079.0 2274.0 |  216  386  863 1698 | com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860
09-05 11:59:57.520  1633  7718 V WindowManager: Setting visibility of Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity}: false, caller=com.android.server.wm.WindowContainer.sendAppVisibilityToClients:1301 com.android.server.wm.WindowToken.setClientVisible:446 com.android.server.wm.ActivityRecord.setClientVisible:8121 com.android.server.wm.ActivityRecord.postApplyAnimation:6685 com.android.server.wm.ActivityRecord.commitVisibility:6628 
09-05 11:59:57.529  1446  1446 I Layer   : id=61852 removeFromCurrentState ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61858 removeFromCurrentState 883a632 ActivityRecordInputSink com.mattermost.rn/.MainActivity#61858 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61859 removeFromCurrentState 6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61860 removeFromCurrentState com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61852 addToCurrentState ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61858 addToCurrentState 883a632 ActivityRecordInputSink com.mattermost.rn/.MainActivity#61858 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61859 addToCurrentState 6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859 (126)
09-05 11:59:57.529  1446  1446 I Layer   : id=61860 addToCurrentState com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860 (126)
09-05 11:59:57.530  1446  1446 I Layer   : Layer [ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852] hidden!! flag(1)
09-05 11:59:57.531  1446  1446 I Layer   : Layer [com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860] hidden!! flag(1)
09-05 11:59:57.546  1633  6300 V WindowManager: Relayout Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity}: viewVisibility=8 req=1080x2400 ty=1 d0
09-05 11:59:57.569 10945 10945 D ViewRootImpl@42f132a[MainActivity]: WindowStopped on com.mattermost.rn/com.mattermost.rn.MainActivity set to true
09-05 11:59:57.573 10945 10945 D ConnectivityManager: StackLog: [android.net.ConnectivityManager.unregisterNetworkCallback(ConnectivityManager.java:5076)] [com.bumptech.glide.manager.SingletonConnectivityReceiver$FrameworkConnectivityMonitorPostApi24.unregister(SingletonConnectivityReceiver.java:202)] [com.bumptech.glide.manager.SingletonConnectivityReceiver.maybeUnregisterReceiver(SingletonConnectivityReceiver.java:119)] [com.bumptech.glide.manager.SingletonConnectivityReceiver.unregister(SingletonConnectivityReceiver.java:102)] [com.bumptech.glide.manager.DefaultConnectivityMonitor.unregister(DefaultConnectivityMonitor.java:29)] [com.bumptech.glide.manager.DefaultConnectivityMonitor.onStop(DefaultConnectivityMonitor.java:39)] [com.bumptech.glide.manager.ActivityFragmentLifecycle.onStop(ActivityFragmentLifecycle.java:58)] [com.bumptech.glide.manager.SupportRequestManagerFragment.onStop(SupportRequestManagerFragment.java:209)] [androidx.fragment.app.Fragment.performStop(Fragment.java:3184)] [androidx.fragment.app.FragmentStateManager.stop(FragmentStateManager.java:640)] [androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:320)] [androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)] [androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)] [androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)] [androidx.fragment.app.FragmentManager.dispatchStop(FragmentManager.java:3096)] [androidx.fragment.app.FragmentController.dispatchStop(FragmentController.java:295)] [androidx.fragment.app.FragmentActivity.onStop(FragmentActivity.java:525)] [androidx.appcompat.app.AppCompatActivity.onStop(AppCompatActivity.java:257)] [com.mattermost.rn.MainActivity.onStop(MainActivity.kt:46)] [android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1623)] [android.app.Activity.performStop(Activity.java:9236)] [android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5898)] [android.app.ActivityThread.performStopActivityInner(ActivityThread.java:5872)] [android.app.ActivityThread.handleStopActivity(ActivityThread.java:5943)] [android.app.servertransaction.StopActivityItem.execute(StopActivityItem.java:43)] [android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)] [android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:180)] [android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)] [android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)]
09-05 11:59:57.592  1633  6292 E WindowManager: win=Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity} destroySurfaces: appStopped=true cleanupOnResume=false win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:6952 com.android.server.wm.ActivityRecord.destroySurfaces:6933 com.android.server.wm.ActivityRecord.activityStopped:7633 com.android.server.wm.ActivityClientController.activityStopped:321 android.app.IActivityClientController$Stub.onTransact:702 com.android.server.wm.ActivityClientController.onTransact:186 android.os.Binder.execTransactInternal:1380 
09-05 11:59:57.592  1633  6292 I WindowManager: Destroying surface Surface(name=com.mattermost.rn/com.mattermost.rn.MainActivity$_10945)/@0x7fe701a called by com.android.server.wm.WindowStateAnimator.destroySurface:799 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:472 com.android.server.wm.WindowState.destroySurfaceUnchecked:4201 com.android.server.wm.WindowState.destroySurface:4175 com.android.server.wm.ActivityRecord.destroySurfaces:6952 com.android.server.wm.ActivityRecord.destroySurfaces:6933 com.android.server.wm.ActivityRecord.activityStopped:7633 com.android.server.wm.ActivityClientController.activityStopped:321 
09-05 11:59:57.594  1633  1989 D PkgPredictorService-SecIpmManagerServiceImpl: bg information pid:10945 uid:10493 pkgName:com.mattermost.rn
09-05 11:59:57.595  1446  1446 I Layer   : Layer::reparent [com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860] newParentHandle : null -------------------------
09-05 11:59:57.595  1446  1446 I Layer   : id=61860 removeFromCurrentState com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860 (123)
09-05 11:59:57.595  1446  1446 I Layer   : Layer::reparent [com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860] End -------------------------
09-05 11:59:57.600  1446  2797 I SurfaceFlinger: id=61860 Removed com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860 (122)
09-05 11:59:57.611  1446  1446 I Layer   : id=61860 Destroyed com.mattermost.rn/com.mattermost.rn.MainActivity$_10945#61860
09-05 11:59:58.050  1633  1997 I ActivityManager: Killing 10945:com.mattermost.rn/u0a493 (adj 905): remove task
09-05 11:59:58.051  1633  1997 D ActivityManager: [SD] user menu kill listen remove action name:com.mattermost.rn uid:10493
09-05 11:59:58.146  1633  3561 D ConnectivityService: releasing NetworkRequest [ REQUEST id=18255, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VCN_MANAGED Uid: 10493 RequestorUid: 10493 RequestorPkg: com.mattermost.rn UnderlyingNetworks: Null] ] (release request)
09-05 11:59:58.146  1633  3561 D ConnectivityService: releasing NetworkRequest [ REQUEST id=18257, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VCN_MANAGED Uid: 10493 RequestorUid: 10493 RequestorPkg: com.mattermost.rn UnderlyingNetworks: Null] ] (release request)
09-05 11:59:58.146  1633  3561 D ConnectivityService: releasing NetworkRequest [ REQUEST id=18259, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VCN_MANAGED Uid: 10493 RequestorUid: 10493 RequestorPkg: com.mattermost.rn UnderlyingNetworks: Null] ] (release request)
09-05 11:59:58.147  1633  3561 D ConnectivityService: releasing NetworkRequest [ REQUEST id=18261, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VCN_MANAGED Uid: 10493 RequestorUid: 10493 RequestorPkg: com.mattermost.rn UnderlyingNetworks: Null] ] (release request)
09-05 11:59:58.153  1633  6297 I WindowManager: WIN DEATH: Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity}
09-05 11:59:58.153  1633  6297 W InputManager-JNI: Input channel object '6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity (client)' was disposed without first being removed with the input manager!
09-05 11:59:58.154  1633  6297 V WindowManager: Remove Window{6db3e5e u0 com.mattermost.rn/com.mattermost.rn.MainActivity}: mSurfaceController=null mAnimatingExit=false mRemoveOnExit=false mHasSurface=false surfaceShowing=false animating=false app-animation=false mDisplayFrozen=false callers=com.android.server.wm.WindowState$DeathRecipient.binderDied:3686 android.os.IBinder$DeathRecipient.binderDied:325 android.os.BinderProxy.sendDeathNotice:781 <bottom of call stack> <bottom of call stack> <bottom of call stack> 
09-05 11:59:58.160  1446  1528 I SurfaceFlinger: id=61858 Removed 883a632 ActivityRecordInputSink com.mattermost.rn/.MainActivity#61858 (126)
09-05 11:59:58.161  1446  1446 I Layer   : Layer::reparent [6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859] newParentHandle : null -------------------------
09-05 11:59:58.161  1446  1446 I Layer   : id=61859 removeFromCurrentState 6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859 (127)
09-05 11:59:58.161  1446  1446 I Layer   : Layer::reparent [6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859] End -------------------------
09-05 11:59:58.162  1446  1446 I SurfaceFlinger: id=61859 Removed 6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859 (127)
09-05 11:59:58.178  1446  1446 I Layer   : Layer::reparent [ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852] newParentHandle : null -------------------------
09-05 11:59:58.178  1446  1446 I Layer   : id=61852 removeFromCurrentState ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852 (127)
09-05 11:59:58.178  1446  1446 I Layer   : id=61858 removeFromCurrentState 883a632 ActivityRecordInputSink com.mattermost.rn/.MainActivity#61858 (127)
09-05 11:59:58.178  1446  1446 I Layer   : Layer::reparent [ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852] End -------------------------
09-05 11:59:58.178  1446  1446 I Layer   : id=61859 Destroyed 6db3e5e com.mattermost.rn/com.mattermost.rn.MainActivity#61859
09-05 11:59:58.178  1446  1446 I SurfaceFlinger: id=61852 Removed ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852 (126)
09-05 11:59:58.182  1633  2046 W UsageStatsService: Unexpected activity event reported! (com.mattermost.rn/com.mattermost.rn.MainActivity event : 23 instanceId : 130151294)
09-05 11:59:58.195  1446  1446 I Layer   : id=61852 Destroyed ActivityRecord{3795500 u0 com.mattermost.rn/.MainActivity t22245}#61852
09-05 11:59:58.195  1446  1446 I Layer   : id=61858 Destroyed 883a632 ActivityRecordInputSink com.mattermost.rn/.MainActivity#61858

I think you’re on the right track. It’s possible that grepping for only mettermost might be hiding the actual error. I see the line

ConnectivityManager: StackLog: [android.net.ConnectivityManager.unregisterNetworkCallback(ConnectivityManager.java:5076)]
and the answer is probably under there. I am not a Java / JavaScript developer (nor any kind of developer!) and get lost pretty quickly. Hopefully someone who’s smarter than I am can help.

You might also try Mattermost

Someone mentioned https://support.mattermost.com/hc/en-us/articles/30147601934100-How-to-Gather-Mobile-App-Logs

1 Like

Oh that’s much easier. But whom do I email the log?

If you had a paid subscription, there’d be an easy answer there! Here, I can suggest looking at the logs to try to figure out what’s going on. Or post the relevant section and hope someone who understands mobile apps can tell. I try to do my best, but I’m not a developer.

From looking at it I think the assumption is right that it has to do with IPv6. It tries to connect to an IPv6 address and fails. It never falls back to IPv4. Do I need to complain with Vodafone? But Mattermost is really the only app with the issue, so they would certainly point back.

This looks like it probably is an issue with the Android app. Android app can't connect if server isn't listening on IPv6 · Issue #24703 · mattermost/mattermost · GitHub

I’ll ask around if this is being worked on. FWIW I got zapped by this too… set up a new instance and couldn’t connect from my home wifi. I turned off wifi on my phone and connected over cellular, and haven’t had an issue connecting since.

So, it sounds like we’re dependent upon OkHttp for this. When they fix it, we’ll be able to fix it! Change Log - OkHttp

The problem has vanished. Not sure when exactly and why. Was there an update? I now have the mattermost app 2.19.2.
The system was updated to Android 14 a few days ago.