Broken oh-slider in Android App

I have a custom widget that uses oh-slider in it:

uid: michal-recuperation-card
tags: []
props:
  parameters:
    - context: item
      label: Power Item
      name: power_item
      required: true
      type: TEXT
    - context: item
      label: Flow Item
      name: flow_item
      required: true
      type: TEXT
    - context: item
      label: Bypass Item
      name: bypass_item
      required: true
      type: TEXT
    - context: item
      label: Hea Item
      name: bypass_item
      required: true
      type: TEXT
  parameterGroups: []
timestamp: Mar 20, 2023, 8:22:03 PM
component: f7-card
config:
  footer: =items[props.flow_item].state + " m³/h"
  title: = "Ventilation level"
slots:
  content:
    - component: oh-slider
      config:
        item: =props.power_item
        max: 3
        min: 0
        releaseOnly: true
        scale: true
        scaleSteps: 3
        step: 1
  footer:
    - component: oh-icon
      config:
        icon: f7:flame_fill
        visible: =items.BrinkPreheaterPower.state > 0
    - component: oh-icon
      config:
        icon: f7:trash_circle
        visible: =items.BrinkFilterState.state != 0
    - component: oh-icon
      config:
        icon: >
          =items[props.bypass_item].displayState == "open" ? "f7:arrow_right_arrow_left_circle" : "f7:arrow_2_circlepath_circle"

The relevant item:

Number	BrinkPowerLevel	"Power Level"	<heating>	(Recuperation)	{ channel="modbus:data:brink:powerSettings:holding8001:number" }

On computer in browser it looks fine, even with mobile phone emulation:
Screenshot_20231003_133517

But on two android phones in the app it sometimes looks like this:

The orange “ball” is in wrong place and the whole widget can not be interacted with. The orange line still has correct length.

It isn’t always broken, it seems to break and fix itself randomly, but even after restarting the app it remains fixed or broken as it was before restart.

I think it started happening after upgrade from 4.0.0~RC1 to 4.1.0~M1, but I am not sure about that.

Any idea what may be wrong, or how to debug it?

I just noticed I have two bypass_item in there. I removed one, currently it is working correctly. I’ll see if it stays that way.

EDIT: Nope, broken again. Also tried to clear cache of the android app, no change.

Turns out it is working in Firefox, but is broken in Chrome (makes sense, the app uses that). So I can now reproduce it on computer, will try to debug it…