5.1.0.M3: Main UI shows blank screen on Android

Thanks for your reply, florian-h5; honestly I was not expecting other users or maintainers would have time to spend on this forum during the next days. I was planning on creating a new install and move bindings, things and items one at a time to obtain the exact context in which this occurs to me, so I will pause that for a bit and keep the affected setup as is to answer your questions.

To start from where I began, I rolled back my container image and its volumes to what I was using on OpenHAB 5.0.3, then I restarted the container with the newer image OpenHAB 5.1.0. At this time, the commit from the Main UI (I was still logged in from the previous session, opened with version 5.0.3 running) is 69bf7f37.

Then I updated the org.openhab.ui bundle to the JAR hosted at org.openhab.ui-5.2.0-SNAPSHOT.jar, which is still the artifact from the pipeline 1481 I referred to yesterday. Now the commit from Main UI is 25899286.

From what I can grasp from the commit history of the openhab-webui repository, your commit referenced yesterday which fixes the NavBar issue was merged before your other commit related to the swiper width, which appears to have the hash I see reported in the about page from MainUI after the bundle update to the snapshot package.

I will also attach the contents of the empty pages that loads from any other browser/curl/device where I do not have a saved login session:

Overview HTML (renders blank)

<!doctype html>
<html>
  <head>
    <meta http-equiv="Content-Security-Policy" content="default-src &#39;self&#39; &#39;unsafe-inline&#39; &#39;unsafe-eval&#39;; font-src &#39;self&#39; data:; img-src * data:; media-src * data: blob: media:; frame-src *; connect-src &#39;self&#39; *.openhab.org raw.githubusercontent.com api.iconify.design api.unisvg.com api.simplesvg.com *; worker-src &#39;self&#39; blob:;">

    <meta charset="utf-8" />
    <!--
  Cordova recommended default CSP. For more guidance, see:
      https://cordova.apache.org/docs/en/dev/guide/appdev/allowlist/#content-security-policy-csp
  <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">
  Explanation:
    * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
           Note that UIWebView is deprecated, see https://developer.apple.com/documentation/uikit/uiwebview
    * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
    * Disables use of eval() and inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
        * Enable inline JS: add 'unsafe-inline' to default-src
        * Enable eval(): add 'unsafe-eval' to default-src
  -->
    <!-- Explanation:
    * allow loading resources from the same origin, inline scripts (required for inline event listeners) and styles, and the use of eval() (required by ECharts)
    * allow loading fonts from the same origin, and data: URIs
    * allow loading images from any source, and data: URIs
    * allow loading media from any source, and data:, blob: and media: URIs
    * allow embedding (<iframe>) any source
    * allow connecting (through fetch(), XMLHttpRequest, WebSocket etc.) to the same origin, *.openhab.org, raw.githubusercontent.com (add-on logos etc.), Iconify icon sources, and any source
    * allows loading web workers from the same origin, and blob: URIs
  -->
  <!-- meta tag is inserted in the build process
  <meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval'; font-src 'self' data:; img-src * data:; media-src * data: blob: media:; frame-src *; connect-src 'self' *.openhab.org raw.githubusercontent.com api.iconify.design api.unisvg.com api.simplesvg.com *; worker-src 'self' blob:;">
  -->
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui, viewport-fit=cover"
    />

    <meta name="theme-color" content="#e64a19" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="msapplication-tap-highlight" content="no" />
    <title>openHAB</title>
    <meta name="mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    <link
      rel="apple-touch-icon"
      href="/res/icons/apple-touch-icon.png"
      type="image/png"
      sizes="180x180"
      crossorigin="use-credentials"
    />
    <link
      rel="icon"
      href="/res/icons/favicon.svg"
      type="image/svg+xml"
      sizes="any"
      crossorigin="use-credentials"
    />
    <link
      rel="icon"
      href="/res/icons/128x128.png"
      type="image/png"
      sizes="128x128"
      crossorigin="use-credentials"
    />
    <link rel="manifest" href="/assets/manifest-CKPzpPDv.json" crossorigin="use-credentials" />
    <script type="module" crossorigin src="/assets/index-BRrwo2Uh.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-D8bRwd_x.css">
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
  <body>
    <div id="app"></div>
  </body>
</html>

Finally I will provide the network transactions between a Chromium browser from a guest profile (all settings to defaults, no extensions) and the OpenHAB service, when loading the overview:

Network traffic