Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Just now,I update to android Q on Google pixel,It can't work normally。this is log on stf ../ #1028

Open
thinkcy opened this issue Mar 14, 2019 · 54 comments

Comments

@thinkcy
Copy link

thinkcy commented Mar 14, 2019

image

2019-03-14T05:56:16.139Z FTL/util:lifecycle 10594 [FA6A10319123] Shutting down due to fatal error
2019-03-14T05:56:16.151Z INF/provider 9344 [] Cleaning up device worker "FA6A10319123"
2019-03-14T05:56:16.153Z ERR/provider 9344 [
] Device worker "FA6A10319123" died with code 1
2019-03-14T05:56:16.153Z INF/provider 9344 [*] Restarting device worker "FA6A10319123"
2019-03-14T05:56:16.933Z INF/device:support:push 10648 [FA6A10319123] Sending output to "tcp://127.0.0.1:7116"
2019-03-14T05:56:16.935Z INF/device 10648 [FA6A10319123] Preparing device
2019-03-14T05:56:17.171Z INF/device:support:sub 10648 [FA6A10319123] Receiving input from "tcp://127.0.0.1:7114"
2019-03-14T05:56:17.172Z INF/device:support:sub 10648 [FA6A10319123] Subscribing to permanent channel "*ALL"
2019-03-14T05:56:17.253Z INF/device:support:properties 10648 [FA6A10319123] Loading properties
2019-03-14T05:56:17.303Z INF/device:support:sdk 10648 [FA6A10319123] Supports SDK 29 (base 28, preview delta +1)
2019-03-14T05:56:17.304Z INF/device:support:abi 10648 [FA6A10319123] Supports ABIs arm64-v8a, armeabi-v7a, armeabi
2019-03-14T05:56:17.635Z INF/device:resources:minicap 10648 [FA6A10319123] Installing "/home/qihoo/work/stfSource/stf/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/bin/minicap" as "/data/local/tmp/minicap"
2019-03-14T05:56:17.637Z INF/device:resources:minicap 10648 [FA6A10319123] Installing "/home/qihoo/work/stfSource/stf/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/lib/android-28/minicap.so" as "/data/local/tmp/minicap.so"
2019-03-14T05:56:17.985Z INF/device:resources:service 10648 [FA6A10319123] Checking whether we need to install STFService
2019-03-14T05:56:18.143Z INF/device:resources:service 10648 [FA6A10319123] Running version check
2019-03-14T05:56:18.697Z INF/device:resources:service 10648 [FA6A10319123] STFService up to date
2019-03-14T05:56:18.699Z INF/device:plugins:service 10648 [FA6A10319123] Launching agent
2019-03-14T05:56:19.468Z INF/device:plugins:service 10648 [FA6A10319123] Launching service
2019-03-14T05:56:19.495Z INF/device:plugins:service 10648 [FA6A10319123] Agent says: "Listening on @stfagent"
2019-03-14T05:56:19.496Z INF/device:plugins:service 10648 [FA6A10319123] Agent says: "InputClient started"
2019-03-14T05:56:19.556Z INF/device:plugins:display 10648 [FA6A10319123] Reading display info
2019-03-14T05:56:19.607Z INF/device:plugins:phone 10648 [FA6A10319123] Fetching phone info
2019-03-14T05:56:19.642Z INF/device:plugins:identity 10648 [FA6A10319123] Solving identity
2019-03-14T05:56:19.645Z INF/device:plugins:solo 10648 [FA6A10319123] Subscribing to permanent channel "8X3e4tdnGCMGb5IYfNLA5cJajig="
2019-03-14T05:56:19.649Z INF/device:plugins:screen:stream 10648 [FA6A10319123] Starting WebSocket server on port 7464
2019-03-14T05:56:19.995Z INF/device:resources:minitouch 10648 [FA6A10319123] Installing "/home/qihoo/work/stfSource/stf/node_modules/minitouch-prebuilt/prebuilt/arm64-v8a/bin/minitouch" as "/data/local/tmp/minitouch"
2019-03-14T05:56:20.063Z WRN/device:plugins:data 10648 [FA6A10319123] Unable to find device data { serial: 'FA6A10319123',
platform: 'Android',
manufacturer: 'GOOGLE',
operator: null,
model: 'Pixel',
version: 'Q',
abi: 'arm64-v8a',
sdk: '28',
product: 'sailfish',
cpuPlatform: 'msm8996',
openGLESVersion: '3.2',
display:
{ id: 0,
width: 1080,
height: 1920,
xdpi: 442.45098876953125,
ydpi: 443.3450012207031,
fps: 60.000003814697266,
density: 2.625,
rotation: 0,
secure: true,
size: 4.971247790102727,
url: 'ws://10.16.42.17:7464' },
phone: { network: 'UNKNOWN' } }
2019-03-14T05:56:20.075Z INF/device:plugins:touch 10648 [FA6A10319123] Touch origin is top left
2019-03-14T05:56:20.077Z INF/device:plugins:touch 10648 [FA6A10319123] Requesting touch consumer to start
2019-03-14T05:56:20.078Z INF/device:plugins:touch 10648 [FA6A10319123] Launching touch service
2019-03-14T05:56:20.087Z INF/device:plugins:touch 10648 [FA6A10319123] Connecting to minitouch service
2019-03-14T05:56:20.109Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "open: Permission denied"
2019-03-14T05:56:20.110Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event7 for inspectionopen: Permission denied"
2019-03-14T05:56:20.111Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied"
2019-03-14T05:56:20.112Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event5 for inspectionopen: Permission denied"
2019-03-14T05:56:20.113Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event4 for inspectionopen: Permission denied"
2019-03-14T05:56:20.113Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event1 for inspectionopen: Permission denied"
2019-03-14T05:56:20.114Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/mice for inspectionopen: Permission denied"
2019-03-14T05:56:20.114Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event3 for inspectionopen: Permission denied"
2019-03-14T05:56:20.115Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event0 for inspectionopen: Permission denied"
2019-03-14T05:56:20.118Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event2 for inspectionUnable to find a suitable touch device"
2019-03-14T05:56:20.120Z WRN/device:plugins:touch 10648 [FA6A10319123] Shell keeping minitouch running ended unexpectedly
2019-03-14T05:56:20.121Z INF/device:plugins:touch 10648 [FA6A10319123] Disconnecting from minitouch service
2019-03-14T05:56:20.123Z INF/device:plugins:touch 10648 [FA6A10319123] Stopping minitouch service
2019-03-14T05:56:20.125Z INF/device:plugins:touch 10648 [FA6A10319123] Launching touch service
2019-03-14T05:56:20.133Z INF/device:plugins:touch 10648 [FA6A10319123] Connecting to minitouch service
2019-03-14T05:56:20.146Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "open: Permission denied"
2019-03-14T05:56:20.147Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event7 for inspectionopen: Permission denied"
2019-03-14T05:56:20.148Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied"
2019-03-14T05:56:20.149Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event5 for inspectionopen: Permission denied"
2019-03-14T05:56:20.149Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event4 for inspectionopen: Permission denied"
2019-03-14T05:56:20.150Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event1 for inspectionopen: Permission denied"
2019-03-14T05:56:20.151Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/mice for inspectionopen: Permission denied"
2019-03-14T05:56:20.151Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event3 for inspectionopen: Permission denied"
2019-03-14T05:56:20.152Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event0 for inspectionopen: Permission denied"
2019-03-14T05:56:20.152Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event2 for inspectionUnable to find a suitable touch device"
2019-03-14T05:56:20.153Z WRN/device:plugins:touch 10648 [FA6A10319123] Shell keeping minitouch running ended unexpectedly
2019-03-14T05:56:20.155Z INF/device:plugins:touch 10648 [FA6A10319123] Disconnecting from minitouch service
2019-03-14T05:56:20.156Z INF/device:plugins:touch 10648 [FA6A10319123] Stopping minitouch service
2019-03-14T05:56:20.157Z INF/device:plugins:touch 10648 [FA6A10319123] Launching touch service
2019-03-14T05:56:20.167Z INF/device:plugins:touch 10648 [FA6A10319123] Connecting to minitouch service
2019-03-14T05:56:20.185Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "open: Permission denied"
2019-03-14T05:56:20.186Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event7 for inspectionopen: Permission denied"
2019-03-14T05:56:20.188Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied"
2019-03-14T05:56:20.189Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event5 for inspectionopen: Permission denied"
2019-03-14T05:56:20.190Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event4 for inspectionopen: Permission denied"
2019-03-14T05:56:20.190Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event1 for inspectionopen: Permission denied"
2019-03-14T05:56:20.201Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/mice for inspectionopen: Permission denied"
2019-03-14T05:56:20.201Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event3 for inspectionopen: Permission denied"
2019-03-14T05:56:20.202Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event0 for inspectionopen: Permission denied"
2019-03-14T05:56:20.202Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event2 for inspectionUnable to find a suitable touch device"
2019-03-14T05:56:20.203Z WRN/device:plugins:touch 10648 [FA6A10319123] Shell keeping minitouch running ended unexpectedly
2019-03-14T05:56:20.207Z INF/device:plugins:touch 10648 [FA6A10319123] Disconnecting from minitouch service
2019-03-14T05:56:20.209Z INF/device:plugins:touch 10648 [FA6A10319123] Stopping minitouch service
2019-03-14T05:56:20.210Z INF/device:plugins:touch 10648 [FA6A10319123] Launching touch service
2019-03-14T05:56:20.215Z INF/device:plugins:touch 10648 [FA6A10319123] Connecting to minitouch service
2019-03-14T05:56:20.236Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "open: Permission denied"
2019-03-14T05:56:20.237Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event7 for inspectionopen: Permission denied"
2019-03-14T05:56:20.237Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied"
2019-03-14T05:56:20.237Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event5 for inspectionopen: Permission denied"
2019-03-14T05:56:20.237Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event4 for inspectionopen: Permission denied"
2019-03-14T05:56:20.237Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event1 for inspectionopen: Permission denied"
2019-03-14T05:56:20.237Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/mice for inspectionopen: Permission denied"
2019-03-14T05:56:20.238Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event3 for inspectionopen: Permission denied"
2019-03-14T05:56:20.238Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event0 for inspectionopen: Permission denied"
2019-03-14T05:56:20.238Z INF/device:plugins:touch 10648 [FA6A10319123] minitouch says: "Unable to open device /dev/input/event2 for inspectionUnable to find a suitable touch device"
2019-03-14T05:56:20.238Z WRN/device:plugins:touch 10648 [FA6A10319123] Shell keeping minitouch running ended unexpectedly
2019-03-14T05:56:20.239Z INF/device:plugins:touch 10648 [FA6A10319123] Disconnecting from minitouch service
2019-03-14T05:56:20.240Z WRN/device:plugins:touch 10648 [FA6A10319123] Will not apply desired state due to too many failures
2019-03-14T05:56:20.241Z INF/device:plugins:touch 10648 [FA6A10319123] Stopping minitouch service
2019-03-14T05:56:20.242Z FTL/device 10648 [FA6A10319123] Setup had an error Error: Failed more than 3 times in 10000ms
at TouchConsumer._failLimitExceeded (/home/qihoo/work/stfSource/stf/lib/units/device/plugins/touch/index.js:230:26)
at FailCounter.emit (/home/qihoo/work/stfSource/stf/node_modules/eventemitter3/index.js:117:35)
at FailCounter.inc (/home/qihoo/work/stfSource/stf/lib/util/failcounter.js:29:10)
at TouchConsumer._outputEnded (/home/qihoo/work/stfSource/stf/lib/units/device/plugins/touch/index.js:223:24)
at RiskyStream.emit (/home/qihoo/work/stfSource/stf/node_modules/eventemitter3/index.js:115:35)
at RiskyStream. (/home/qihoo/work/stfSource/stf/lib/util/riskystream.js:14:12)
at emitNone (events.js:91:20)
at Socket.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
From previous event:
at startConsumer (/home/qihoo/work/stfSource/stf/lib/units/device/plugins/touch/index.js:511:14)
at /home/qihoo/work/stfSource/stf/lib/units/device/plugins/touch/index.js:526:12
at SerialSyrup.ParallelSyrup.invoke (/home/qihoo/work/stfSource/stf/node_modules/stf-syrup/lib/parallel.js:54:24)
at /home/qihoo/work/stfSource/stf/node_modules/stf-syrup/lib/serial.js:43:33
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

@thinkcy thinkcy changed the title Just now,I update the android Q on Google pixel,It can't work normally。this is log on stf../ Just now,I update to android Q on Google pixel,It can't work normally。this is log on stf ../ Mar 14, 2019
@jmauffret
Copy link

You have to root your device.
Then use the command "adb shell su setenforce 0" to authorize connection to drivers.

@varundtsfi
Copy link

You have to root your device.
Then use the command "adb shell su setenforce 0" to authorize connection to drivers.
@jmauffret
What would be the negative impacts on my Pixel Device If I would follow your suggestion.

If I rooted my device Can I bring back my device to It's Normal Stage.

Please suggest

@thinkhy
Copy link
Member

thinkhy commented Jun 22, 2019

You have to root your device.
Then use the command "adb shell su setenforce 0" to authorize connection to drivers.
@jmauffret
What would be the negative impacts on my Pixel Device If I would follow your suggestion.

If I rooted my device Can I bring back my device to It's Normal Stage.

Please suggest

Normally you can't

@histronger
Copy link

You have to root your device.
Then use the command "adb shell su setenforce 0" to authorize connection to drivers.

Despite root the device, any other solutions? Thank you! @jmauffret

@pcrepieux
Copy link
Contributor

It looks possible to use another approach than the current one. My understanding is that Android Q SElinux policy now prevents the use of /dev/input/eventX files. So the libevdev based minitouch get stuck (unless you have root privileges to change SELinux mode as suggested above).

Fortunately, there is another entry point to manage "inputs" at a higher level: the Android InputManager (this is what scrcpy does).

I gave this approach a try, and believe this would be the way to go (I am still thinking how to integrate it smoothly). Recording done on a Google factory image without root privileges or anything special.

animation

@histronger
Copy link

Cool!It looks like the same with current one. Thank you and I'll look into this too. BTW, looking forward to your work also~

@pcrepieux
Copy link
Contributor

Here are 3 suggested PR to add android 10 support:
openstf/minitouch#50
openstf/STFService.apk#38
openstf/minicap#190

Hope this helps.

@pcrepieux
Copy link
Contributor

Yet another PR to make stf interacts gracefully with the STFService
#1127

Now I guess all of that should do the job

@sawchen
Copy link

sawchen commented Dec 18, 2019

Here are 3 suggested PR to add android 10 support:
openstf/minitouch#50
openstf/STFService.apk#38
openstf/minicap#190

Hope this helps.

hello,I deploy the openstf with docker in ubuntu。
follow your project
1、Compile the new stfservice.apk(2.4.1),and Install to my android 10 phone(xiaomi 8).
2、compile the minitoch from https://github.com/Orange-OpenSource/minitouch.git ,then copy the result file to docker container
3、comlile the minicap from https://github.com/Orange-OpenSource/minicap.git ,then copy the result file to docker cntainer

then the android 10 phone is showed in the list on the STF,but I can't control the phone.the error logs show like this:
image
image

@pcrepieux
Copy link
Contributor

Hi @sawchen ,
The first part of the logs looks OK. As /dev/input/eventX are not accessible, minitouch connects to the service embedded in the apk to inject touch events.
The issue apparently comes from minicap : "Vector<> have different types". I have no clue as to why right now...

@thinkcy
Copy link
Author

thinkcy commented Jan 2, 2020

Here are 3 suggested PR to add android 10 support:
openstf/minitouch#50
openstf/STFService.apk#38
openstf/minicap#190

Hope this helps.
can not support x86 ?

@pcrepieux
Copy link
Contributor

@thinkcy
The npm package here now includes the x86 binaries if you want to give it a try.

@thinkcy
Copy link
Author

thinkcy commented Jan 11, 2020

@thinkcy
The npm package here now includes the x86 binaries if you want to give it a try.

@thinkcy thinkcy closed this as completed Jan 11, 2020
@thinkcy
Copy link
Author

thinkcy commented Jan 11, 2020

Here are 3 suggested PR to add android 10 support:
openstf/minitouch#50
openstf/STFService.apk#38
openstf/minicap#190

Hope this helps.
I use it on Redmi K30 (android 10) It can not work normal ,This is log :
image
image

@thinkcy thinkcy reopened this Jan 11, 2020
@man4567890
Copy link

Hi all,
I'm terribly confused on what to do to get Android 10 to work, I've replaced the minicap binaries with the prebuild one, minicap-prebuilt-2.3.1.tgz, see below

[root@168 arm64-v8a]# pwd
/usr/lib/node_modules/stf/node_modules/minicap-prebuilt/prebuilt/arm64-v8a
[root@digitatanetworks168 arm64-v8a]# ls -tr
old_lib old_bin bin lib
[root@168 arm64-v8a]# cd ..
[root@168 prebuilt]# ls -ltr
total 0
drwxr-xr-x. 6 root root 58 Jan 15 07:29 arm64-v8a
drwxr-xr-x. 4 root root 28 Jan 15 07:29 armeabi-v7a
drwxr-xr-x. 4 root root 28 Jan 15 07:29 x86
drwxr-xr-x. 6 root root 58 Jan 15 07:29 x86_64
[root@168 prebuilt]# pwd
/usr/lib/node_modules/stf/node_modules/minicap-prebuilt/prebuilt
[root@168 prebuilt]# ls -ltr arm64-v8a/lib
total 0
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-21
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-23
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-22
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-26
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-25
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-24
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-28
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-27
drwxr-xr-x 2 root root 24 Jan 15 07:29 android-29
[root@168 prebuilt]#

I still get this in the logs though
2020-01-15T06:53:12.861Z INF/device:resources:minicap 10097 [RF8M30L4WJV] Installing "/usr/lib/node_modules/stf/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/bin/minicap" as "/data/local/tmp/minicap" 2020-01-15T06:53:12.861Z INF/device:resources:minicap 10097 [RF8M30L4WJV] Installing "/usr/lib/node_modules/stf/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/lib/android-29/minicap.so" as "/data/local/tmp/minicap.so" 2020-01-15T06:53:13.013Z INF/device:resources:service 10097 [RF8M30L4WJV] Checking whether we need to install STFService 2020-01-15T06:53:13.063Z INF/device:resources:service 10097 [RF8M30L4WJV] Running version check 2020-01-15T06:53:13.361Z INF/device:resources:service 10097 [RF8M30L4WJV] STFService up to date 2020-01-15T06:53:13.365Z INF/device:plugins:service 10097 [RF8M30L4WJV] Launching agent 2020-01-15T06:53:13.824Z INF/device:plugins:service 10097 [RF8M30L4WJV] Agent says: "Listening on @stfagent" 2020-01-15T06:53:13.845Z INF/device:plugins:service 10097 [RF8M30L4WJV] Launching service 2020-01-15T06:53:13.847Z INF/device:plugins:service 10097 [RF8M30L4WJV] Agent says: "InputClient started" 2020-01-15T06:53:13.953Z INF/device:plugins:display 10097 [RF8M30L4WJV] Reading display info 2020-01-15T06:53:14.009Z INF/device:plugins:phone 10097 [RF8M30L4WJV] Fetching phone info 2020-01-15T06:53:14.054Z INF/device:plugins:identity 10097 [RF8M30L4WJV] Solving identity 2020-01-15T06:53:14.056Z INF/device:plugins:solo 10097 [RF8M30L4WJV] Subscribing to permanent channel "UwxFpLUNAEOPDYr1nJ/Qh6Ojsng=" 2020-01-15T06:53:14.060Z INF/device:plugins:screen:stream 10097 [RF8M30L4WJV] Starting WebSocket server on port 7584 2020-01-15T06:53:14.246Z INF/device:resources:minitouch 10097 [RF8M30L4WJV] Installing "/usr/lib/node_modules/stf/node_modules/minitouch-prebuilt/prebuilt/arm64-v8a/bin/minitouch" as "/data/local/tmp/minitouch" 2020-01-15T06:53:14.321Z WRN/device:plugins:data 10097 [RF8M30L4WJV] Unable to find device data { serial: 'RF8M30L4WJV', platform: 'Android', manufacturer: 'SAMSUNG', operator: 'Voda', model: 'SM-G970F', version: '10', abi: 'arm64-v8a', sdk: '29', product: 'beyond0ltexx', cpuPlatform: 'universal9820', openGLESVersion: '3.2', display: { id: 0, width: 1080, height: 2280, xdpi: 442.45098876953125, ydpi: 438.72698974609375, fps: 60.000003814697266, density: 2.625, rotation: 0, secure: true, size: 5.741560552692248, url: 'ws://172.28.200.168:7584' }, phone: { network: 'LTE' } } 2020-01-15T06:53:14.332Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Touch origin is top left 2020-01-15T06:53:14.333Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Requesting touch consumer to start 2020-01-15T06:53:14.335Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Launching touch service 2020-01-15T06:53:14.348Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Connecting to minitouch service 2020-01-15T06:53:14.394Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "open: Permission denied" 2020-01-15T06:53:14.395Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied" 2020-01-15T06:53:14.396Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event4 for inspectionopen: Permission denied" 2020-01-15T06:53:14.397Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event9 for inspectionopen: Permission denied" 2020-01-15T06:53:14.398Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event2 for inspectionopen: Permission denied" 2020-01-15T06:53:14.399Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event5 for inspectionopen: Permission denied" 2020-01-15T06:53:14.400Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event7 for inspectionopen: Permission denied" 2020-01-15T06:53:14.402Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event0 for inspectionopen: Permission denied" 2020-01-15T06:53:14.403Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event3 for inspectionopen: Permission denied" 2020-01-15T06:53:14.404Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event8 for inspectionopen: Permission denied" 2020-01-15T06:53:14.405Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event1 for inspectionUnable to find a suitable touch device" 2020-01-15T06:53:14.410Z WRN/device:plugins:touch 10097 [RF8M30L4WJV] Shell keeping minitouch running ended unexpectedly 2020-01-15T06:53:14.416Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Disconnecting from minitouch service 2020-01-15T06:53:14.419Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Stopping minitouch service 2020-01-15T06:53:14.421Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Launching touch service 2020-01-15T06:53:14.472Z INF/device:plugins:touch 10097 [RF8M30L4WJV] Connecting to minitouch service 2020-01-15T06:53:14.510Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "open: Permission denied" 2020-01-15T06:53:14.511Z INF/device:plugins:touch 10097 [RF8M30L4WJV] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied"
There are so many posts leading from this one (very confusing), is there something else I need for Android 10 support please?
Running stf 3.4.1 on Centos 7

@pcrepieux
Copy link
Contributor

@man4567890
I agree it can a bit confusing as it required 4 PRs in 4 different repos (as mentioned above here and here). Looks like most of them are "approved" so, hopefully they'll get merged at some point. Meanwhile, if it can help you, you'll find it integrated in our fork (and the related ones) from where those PRs are originating.

@man4567890
Copy link

@pcrepieux , excellent, so just a git clone from your fork?

@pcrepieux
Copy link
Contributor

Yes, it provides the updated apk, and points to prebuilt minitouch, minicap node modules.

@man4567890
Copy link

Thanks, could you tell me your rethinkdb version, I get this with your fork
ReqlDriverCompileError: Cannot wrap undefined with r.expr().
at ReqlDriverCompileError.ReqlError [as constructor] (/usr/lib/node_modules/stf/node_modules/rethinkdb/errors.js:23:13)
at ReqlDriverCompileError.ReqlCompileError [as constructor] (/usr/lib/node_modules/stf/node_modules/rethinkdb/errors.js:35:51)
at new ReqlDriverCompileError (/usr/lib/node_modules/stf/node_modules/rethinkdb/errors.js:46:57)
at Function. (/usr/lib/node_modules/stf/node_modules/rethinkdb/ast.js:4225:11)
at Function.expr (/usr/lib/node_modules/stf/node_modules/rethinkdb/util.js:43:16)
at /usr/lib/node_modules/stf/lib/db/api.js:1218:14
at new Func (/usr/lib/node_modules/stf/node_modules/rethinkdb/ast.js:3644:17)
at Function. (/usr/lib/node_modules/stf/node_modules/rethinkdb/ast.js:4235:12)
at Function.expr (/usr/lib/node_modules/stf/node_modules/rethinkdb/util.js:43:16)
at funcWrap (/usr/lib/node_modules/stf/node_modules/rethinkdb/ast.js:34:19)
at Function. (/usr/lib/node_modules/stf/node_modules/rethinkdb/ast.js:657:35)
at Function.filter (/usr/lib/node_modules/stf/node_modules/rethinkdb/util.js:64:16)
at dbapi.loadDevices (/usr/lib/node_modules/stf/lib/db/api.js:1217:36)
at getGenericDevices (/usr/lib/node_modules/stf/lib/units/api/controllers/devices.js:31:3)
at getDevices (/usr/lib/node_modules/stf/lib/units/api/controllers/devices.js:213:7)
at swagger_router (/usr/lib/node_modules/stf/node_modules/swagger-node-runner/fittings/swagger_router.js:104:13)

@pcrepieux
Copy link
Contributor

This is likely due to the fact this version enables a new feature that lets you book devices (sorry I forgot to mention). Maybe @denis99999 will be able to provide guidance.

@man4567890
Copy link

Yes it does looks that way, if I git clone the standard STF and run npm install on that, I get the same error, so in other words as soon as I upgrade to 3.4.1. oooh man to find these things.... Thanks for all the help so far

@denis99999
Copy link
Contributor

If you don't want to develop on STF but only use it and you are familiar with docker technology, I recommend you to use STF embedded in a docker container, so for that you have just to use our Dockerfiles we provide for x86_64/armhf located at the git repository root I added yesterday !

@man4567890
Copy link

thanks @denis99999 , if I don't succeed today, that will be my next option

@man4567890
Copy link

Hi @pcrepieux , @denis99999 , thanks for the help, I got it to work, seems that you cannot run npm install as root, bower does not like that and does not install the needed packages, so if this might help someone, do not use root as the user for stf. One thing though, the logs seems to reference /home/pierre, is that fixable?
2020-01-17T05:11:11.193Z INF/device:plugins:screen:stream 20696 [24b7cf04] minicap says: "INFO: (jni/minicap/JpgEncoder.cpp:64) Allocating 1154052 bytes for JPG encoder" 2020-01-17T05:11:11.301Z INF/device:plugins:screen:stream 20696 [24b7cf04] Reading minicap banner 2020-01-17T05:11:11.340Z INF/device:plugins:screen:stream 20696 [24b7cf04] minicap says: "INFO: (/home/pierre/minicap-q-preview-4/minicap/jni/minicap/minicap.cpp:464) New client connection" 2020-01-17T05:11:49.900Z INF/device:plugins:screen:stream 20696 [24b7cf04] Requesting frame producer to stop 2020-01-17T05:11:49.901Z INF/device:plugins:screen:stream 20696 [24b7cf04] Disconnecting from minicap service 2020-01-17T05:11:49.910Z INF/device:plugins:screen:stream 20696 [24b7cf04] Stopping minicap service 2020-01-17T05:11:49.911Z INF/device:plugins:screen:stream 20696 [24b7cf04] Sending SIGTERM to minicap 2020-01-17T05:11:49.968Z INF/device:plugins:screen:stream 20696 [24b7cf04] minicap says: "INFO: (/home/pierre/minicap-q-preview-4/minicap/jni/minicap/minicap.cpp:200) Received SIGTERM, stopping" 2020-01-17T05:11:49.969Z INF/device:plugins:screen:stream 20696 [24b7cf04] minicap says: "INFO: (/home/pierre/minicap-q-preview-4/minicap/jni/minicap/minicap.cpp:536) Closing client connection" 2020-01-17T05:11:49.969Z INF/device:plugins:screen:stream 20696 [24b7cf04] minicap says: "INFO: (external/MY_minicap/src/minicap_21.cpp:284) Destroying virtual display"
Will be testing on Android 10 today and will let you know the results, thanks again for the excellent build

@man4567890
Copy link

man4567890 commented Jan 22, 2020

Hi @pcrepieux , @denis99999 , the build is good, been testing for Android 10 on Samsung devices, all good, thanks for the excellent build, just the logs as I mentioned above, One thing though, the logs seems to reference /home/pierre, is that fixable?

@koral--
Copy link
Member

koral-- commented Feb 5, 2020

Android 10 support is available on the current HEAD of master and latest tag on Docker hub registry.

@forum77alive
Copy link

Android 10 support is available on the current HEAD of master and latest tag on Docker hub registry.

stf-local_1 | Each option can be be overwritten with an environment variable by converting the
stf-local_1 | option to uppercase, replacing dashes with underscores and prefixing it with
stf-local_1 | STF_WEBSOCKET_ (e.g. STF_WEBSOCKET_STORAGE_URL).
stf-local_1 |
stf-local_1 | Unexpected token ...
stf-local_1 | 2020-02-06T15:43:22.641Z FTL/cli:local 1 [] Child process had an error ExitError: Exit code "1"
stf-local_1 | at ChildProcess. (/app/lib/util/procutil.js:49:23)
stf-local_1 | at emitTwo (events.js:106:13)
stf-local_1 | at ChildProcess.emit (events.js:191:7)
stf-local_1 | at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
stf-local_1 | 2020-02-06T15:43:22.641Z INF/cli:local 1 [
] Shutting down all child processes
stf-local_1 | 2020-02-06T15:43:22.652Z INF/util:lifecycle 17 [app001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.659Z INF/util:lifecycle 23 [dev001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.666Z INF/util:lifecycle 24 [proc001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.670Z WRN/db 24 [proc001] Connection closed
stf-local_1 | 2020-02-06T15:43:22.673Z INF/util:lifecycle 30 [proc002] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.677Z WRN/db 30 [proc002] Connection closed
stf-local_1 | 2020-02-06T15:43:22.680Z INF/util:lifecycle 36 [reaper001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.683Z WRN/db 36 [reaper001] Connection closed
stf-local_1 | 2020-02-06T15:43:22.685Z INF/util:lifecycle 42 [] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.690Z INF/util:lifecycle 48 [
] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.690Z INF/auth-ldap 48 [] Waiting for client connections to end
stf-local_1 | 2020-02-06T15:43:22.692Z INF/util:lifecycle 54 [
] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.701Z WRN/db 54 [*] Connection closed

What could be the problem?

@denis99999
Copy link
Contributor

Hi @forum77alive , @koral-- ,

I recommend you to follow these actions before to generate the container:

  • clean your building environment (i.e. bower and node modules)
  • use a fresh version of node (i.e. at least 8.9.3) and npm (i.e. npm install npm -g)

@koral, your container is huge (~800M), I think it is possible to optimize its size.

To get inspired, you can find here a Dockerfile working fine !

@koral--
Copy link
Member

koral-- commented Feb 7, 2020

Docker images are generated by autobuilds on docker hub.
Do you have any particular idea regarding 1st bullet?

@denis99999
Copy link
Contributor

In case of autobuilds on docker hub, I suppose there is no problem regarding the first bullet (i.e. building environment).

@forum77alive
Copy link

Android 10 support is available on the current HEAD of master and latest tag on Docker hub registry.

stf-local_1 | Each option can be be overwritten with an environment variable by converting the
stf-local_1 | option to uppercase, replacing dashes with underscores and prefixing it with
stf-local_1 | STF_WEBSOCKET_ (e.g. STF_WEBSOCKET_STORAGE_URL).
stf-local_1 |
stf-local_1 | Unexpected token ...
stf-local_1 | 2020-02-06T15:43:22.641Z FTL/cli:local 1 [] Child process had an error ExitError: Exit code "1" stf-local_1 | at ChildProcess. (/app/lib/util/procutil.js:49:23) stf-local_1 | at emitTwo (events.js:106:13) stf-local_1 | at ChildProcess.emit (events.js:191:7) stf-local_1 | at Process.ChildProcess.handle.onexit (internal/child_process.js:215:12) stf-local_1 | 2020-02-06T15:43:22.641Z INF/cli:local 1 [] Shutting down all child processes
stf-local_1 | 2020-02-06T15:43:22.652Z INF/util:lifecycle 17 [app001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.659Z INF/util:lifecycle 23 [dev001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.666Z INF/util:lifecycle 24 [proc001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.670Z WRN/db 24 [proc001] Connection closed
stf-local_1 | 2020-02-06T15:43:22.673Z INF/util:lifecycle 30 [proc002] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.677Z WRN/db 30 [proc002] Connection closed
stf-local_1 | 2020-02-06T15:43:22.680Z INF/util:lifecycle 36 [reaper001] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.683Z WRN/db 36 [reaper001] Connection closed
stf-local_1 | 2020-02-06T15:43:22.685Z INF/util:lifecycle 42 [
] Winding down for graceful exit stf-local_1 | 2020-02-06T15:43:22.690Z INF/util:lifecycle 48 [] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.690Z INF/auth-ldap 48 [
] Waiting for client connections to end stf-local_1 | 2020-02-06T15:43:22.692Z INF/util:lifecycle 54 [_] Winding down for graceful exit
stf-local_1 | 2020-02-06T15:43:22.701Z WRN/db 54 [*] Connection closed

What could be the problem?

I rebuilld image on local computer and get this error again

@koral--
Copy link
Member

koral-- commented Feb 8, 2020

@forum77alive thanks for the report I'll investigate that.

@koral--
Copy link
Member

koral-- commented Feb 9, 2020

Unexpected token ... error in websocket unit should be fixed in the latest autobuild.

@forum77alive
Copy link

forum77alive commented Feb 9, 2020

Unexpected token ... error in websocket unit should be fixed in the latest autobuild.

Thank you! It's realy running. But I see some issues:

  1. STF build is not running on old database rethinkdb. Need to create a clean database. This is not a problem for me, but for someone it may
    Logs STF on old database:
    stf-local_1 | 2020-02-09T08:23:24.712Z INF/device:plugins:touch 132 [CB5126LQNF] Touch origin is top left
    stf-local_1 | 2020-02-09T08:23:24.713Z INF/device:plugins:touch 132 [CB5126LQNF] Requesting touch consumer to start
    stf-local_1 | 2020-02-09T08:23:24.716Z INF/device:plugins:touch 132 [CB5126LQNF] Launching touch service
    stf-local_1 | 2020-02-09T08:23:24.720Z INF/device:plugins:touch 132 [CB5126LQNF] Connecting to minitouch service
    stf-local_1 | 2020-02-09T08:23:24.758Z INF/device:plugins:touch 132 [CB5126LQNF] minitouch says: "Note: device /dev/input/mice is not supported by libevdev"
    stf-local_1 | 2020-02-09T08:23:24.778Z INF/device:plugins:touch 132 [CB5126LQNF] minitouch says: "Type A touch device clearpad (1919x1199 with 11 contacts) detected on /dev/input/event1 (score 11516)"
    stf-local_1 | 2020-02-09T08:23:24.779Z INF/device:plugins:touch 132 [CB5126LQNF] minitouch says: "Note: hard-limiting maximum number of contacts to 10"
    stf-local_1 | 2020-02-09T08:23:24.827Z INF/device:plugins:touch 132 [CB5126LQNF] Reading minitouch banner
    stf-local_1 | 2020-02-09T08:23:24.829Z INF/device:plugins:touch 132 [CB5126LQNF] minitouch says: "Connection established"
    stf-local_1 | 2020-02-09T08:23:24.877Z INF/device:plugins:vnc 132 [CB5126LQNF] Starting VNC server on port 7410
    stf-local_1 | 2020-02-09T08:23:24.901Z INF/device:plugins:touch 137 [RQ3002PYV5] minitouch says: "Type A touch device mtk-tpd (720x1280 with 11 contacts) detected on /dev/input/event10 (score 20960)"
    stf-local_1 | 2020-02-09T08:23:24.902Z INF/device:plugins:touch 137 [RQ3002PYV5] minitouch says: "Note: hard-limiting maximum number of contacts to 10"
    stf-local_1 | 2020-02-09T08:23:24.920Z INF/device:plugins:touch 137 [RQ3002PYV5] Reading minitouch banner
    stf-local_1 | 2020-02-09T08:23:24.921Z INF/device:plugins:touch 137 [RQ3002PYV5] minitouch says: "Connection established"
    stf-local_1 | 2020-02-09T08:23:24.925Z INF/device:plugins:browser 132 [CB5126LQNF] Loading browser list
    stf-local_1 | 2020-02-09T08:23:24.945Z INF/device:plugins:browser 132 [CB5126LQNF] Updating browser list
    stf-local_1 | 2020-02-09T08:23:24.947Z INF/device:plugins:mute 132 [CB5126LQNF] Will not mute master volume
    stf-local_1 | 2020-02-09T08:23:24.962Z INF/device:plugins:vnc 137 [RQ3002PYV5] Starting VNC server on port 7414
    stf-local_1 | 2020-02-09T08:23:24.964Z INF/device:plugins:browser 137 [RQ3002PYV5] Loading browser list
    stf-local_1 | 2020-02-09T08:23:24.978Z INF/device:plugins:browser 137 [RQ3002PYV5] Updating browser list
    stf-local_1 | 2020-02-09T08:23:24.980Z INF/device:plugins:mute 137 [RQ3002PYV5] Will not mute master volume
    stf-local_1 | 2020-02-09T08:23:25.136Z INF/device:resources:minirev 137 [RQ3002PYV5] Installing "/app/vendor/minirev/arm64-v8a/minirev" as "/data/local/tmp/minirev"
    stf-local_1 | 2020-02-09T08:23:25.155Z INF/device:resources:minirev 132 [CB5126LQNF] Installing "/app/vendor/minirev/armeabi-v7a/minirev" as "/data/local/tmp/minirev"
    stf-local_1 | 2020-02-09T08:23:25.168Z INF/device 125 [0b30f98c02b5e5fd] Fully operational
    stf-local_1 | 2020-02-09T08:23:25.184Z INF/device:plugins:forward 137 [RQ3002PYV5] Launching reverse port forwarding service
    stf-local_1 | 2020-02-09T08:23:25.189Z INF/device:plugins:forward 137 [RQ3002PYV5] Connecting to reverse port forwarding service
    stf-local_1 | 2020-02-09T08:23:25.230Z INF/device:plugins:forward 132 [CB5126LQNF] Launching reverse port forwarding service
    stf-local_1 | 2020-02-09T08:23:25.234Z INF/device:plugins:forward 132 [CB5126LQNF] Connecting to reverse port forwarding service
    stf-local_1 | 2020-02-09T08:23:26.399Z INF/device 137 [RQ3002PYV5] Fully operational
    stf-local_1 |
    stf-local_1 | /app/node_modules/bluebird/js/main/async.js:43
    stf-local_1 | fn = function () { throw arg; };
    stf-local_1 | ^
    stf-local_1 | ReqlDriverCompileError: Argument 1 to get may not be undefined.
    stf-local_1 | at ReqlDriverCompileError.ReqlError [as constructor] (/app/node_modules/rethinkdb/errors.js:23:13)
    stf-local_1 | at ReqlDriverCompileError.ReqlCompileError [as constructor] (/app/node_modules/rethinkdb/errors.js:35:51)
    stf-local_1 | at new ReqlDriverCompileError (/app/node_modules/rethinkdb/errors.js:46:57)
    stf-local_1 | at Get. (/app/node_modules/rethinkdb/ast.js:1462:17)
    stf-local_1 | at Get.RDBOp [as constructor] (/app/node_modules/rethinkdb/ast.js:1466:8)
    stf-local_1 | at Get [as constructor] (/app/node_modules/rethinkdb/ast.js:1846:38)
    stf-local_1 | at /app/node_modules/rethinkdb/ast.js:1068:43
    stf-local_1 | at Function.RDBVal.get (/app/node_modules/rethinkdb/ast.js:1070:7)
    stf-local_1 | at Object.dbapi.getGroup (/app/lib/db/api.js:121:35)
    stf-local_1 | at /app/lib/units/groups-engine/watchers/devices.js:164:20
    stf-local_1 | at /app/node_modules/rethinkdb/cursor.js:261:20
    stf-local_1 | at tryCatcher (/app/node_modules/bluebird/js/main/util.js:26:23)
    stf-local_1 | at Promise.successAdapter (/app/node_modules/bluebird/js/main/nodeify.js:23:30)
    stf-local_1 | at Promise._settlePromiseAt (/app/node_modules/bluebird/js/main/promise.js:582:21)
    stf-local_1 | at Promise._settlePromises (/app/node_modules/bluebird/js/main/promise.js:700:14)
    stf-local_1 | at Async._drainQueue (/app/node_modules/bluebird/js/main/async.js:123:16)
    stf-local_1 | 2020-02-09T08:23:26.429Z FTL/cli:local 1 [] Child process had an error ExitError: Exit code "1"
    stf-local_1 | at ChildProcess. (/app/lib/util/procutil.js:49:23)
    stf-local_1 | at emitTwo (events.js:126:13)
    stf-local_1 | at ChildProcess.emit (events.js:214:7)
    stf-local_1 | at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
    stf-local_1 | 2020-02-09T08:23:26.429Z INF/cli:local 1 [
    ] Shutting down all child processes

  2. Xiaomi Mi9 (Android 10) not working for me. It is detected now (Cool!!!), but when connected to the screen, it asks to install the application on smartphone. When I accept, I get fatal error on stf and smartphone asks me to install the application again.
    Logs:
    stf-local_1 | 2020-02-09T08:35:26.837Z WRN/device:plugins:data 205 [4d9c3254] Unable to find device data { serial: '4d9c3254',
    stf-local_1 | platform: 'Android',
    stf-local_1 | manufacturer: 'XIAOMI',
    stf-local_1 | operator: 'OPERATOR',
    stf-local_1 | model: 'MI 9',
    stf-local_1 | version: '10',
    stf-local_1 | abi: 'arm64-v8a',
    stf-local_1 | sdk: '29',
    stf-local_1 | product: 'cepheus_ru',
    stf-local_1 | cpuPlatform: 'msmnile',
    stf-local_1 | openGLESVersion: '3.2',
    stf-local_1 | marketName: 'MI 9',
    stf-local_1 | display:
    stf-local_1 | { id: 0,
    stf-local_1 | width: 1080,
    stf-local_1 | height: 2340,
    stf-local_1 | xdpi: 403.4110107421875,
    stf-local_1 | ydpi: 404.32598876953125,
    stf-local_1 | fps: 60.000003814697266,
    stf-local_1 | density: 2.75,
    stf-local_1 | rotation: 0,
    stf-local_1 | secure: true,
    stf-local_1 | size: 6.37662511715682,
    stf-local_1 | url: 'ws://IP_LAN:7420' },
    stf-local_1 | phone: { network: 'UNKNOWN' } }
    stf-local_1 | 2020-02-09T08:35:26.843Z INF/device:plugins:touch 205 [4d9c3254] Touch origin is top left
    stf-local_1 | 2020-02-09T08:35:26.844Z INF/device:plugins:touch 205 [4d9c3254] Requesting touch consumer to start
    stf-local_1 | 2020-02-09T08:35:26.845Z INF/device:plugins:touch 205 [4d9c3254] Launching touch service
    stf-local_1 | 2020-02-09T08:35:26.858Z INF/device:plugins:touch 205 [4d9c3254] Connecting to minitouch service
    stf-local_1 | 2020-02-09T08:35:26.894Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "open: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.895Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event6 for inspectionopen: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.895Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event5 for inspectionopen: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.896Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event3 for inspectionopen: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.897Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event2 for inspectionopen: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.898Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event0 for inspectionopen: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.898Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event4 for inspectionopen: Permission denied"
    stf-local_1 | 2020-02-09T08:35:26.899Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Unable to open device /dev/input/event1 for inspectionUnable to find a suitable touch device"
    stf-local_1 | 2020-02-09T08:35:26.899Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "using Android InputManager"
    stf-local_1 | 2020-02-09T08:35:26.966Z INF/device:plugins:touch 205 [4d9c3254] Reading minitouch banner
    stf-local_1 | 2020-02-09T08:35:26.967Z INF/device:plugins:touch 205 [4d9c3254] minitouch says: "Connection established"
    stf-local_1 | 2020-02-09T08:35:27.008Z INF/device:plugins:vnc 205 [4d9c3254] Starting VNC server on port 7422
    stf-local_1 | 2020-02-09T08:35:27.010Z INF/device:plugins:browser 205 [4d9c3254] Loading browser list
    stf-local_1 | 2020-02-09T08:35:27.030Z INF/device:plugins:browser 205 [4d9c3254] Updating browser list
    stf-local_1 | 2020-02-09T08:35:27.031Z WRN/device:plugins:browser 205 [4d9c3254] Unmapped browser "ru.yandex.searchplugin"
    stf-local_1 | 2020-02-09T08:35:27.033Z INF/device:plugins:mute 205 [4d9c3254] Will not mute master volume
    stf-local_1 | 2020-02-09T08:35:27.144Z INF/device:resources:minirev 205 [4d9c3254] Installing "/app/vendor/minirev/arm64-v8a/minirev" as "/data/local/tmp/minirev"
    stf-local_1 | 2020-02-09T08:35:27.176Z INF/device:plugins:forward 205 [4d9c3254] Launching reverse port forwarding service
    stf-local_1 | 2020-02-09T08:35:27.185Z INF/device:plugins:forward 205 [4d9c3254] Connecting to reverse port forwarding service
    stf-local_1 | 2020-02-09T08:35:27.353Z INF/device 205 [4d9c3254] Fully operational
    stf-local_1 | 2020-02-09T08:35:31.242Z INF/provider 41 [] Providing all 6 device(s)
    stf-local_1 | 2020-02-09T08:35:37.416Z IMP/device:plugins:group 205 [4d9c3254] Now owned by "user_login"
    stf-local_1 | 2020-02-09T08:35:37.417Z INF/device:plugins:group 205 [4d9c3254] Subscribing to group channel "simbols"
    stf-local_1 | 2020-02-09T08:35:37.545Z INF/device:plugins:screen:stream 205 [4d9c3254] Setting frame producer projection to 843x843
    stf-local_1 | 2020-02-09T08:35:37.546Z INF/device:plugins:screen:stream 205 [4d9c3254] Requesting frame producer to start
    stf-local_1 | 2020-02-09T08:35:37.547Z INF/device:plugins:screen:stream 205 [4d9c3254] Launching screen service
    stf-local_1 | 2020-02-09T08:35:37.549Z INF/device:plugins:connect 205 [4d9c3254] Listening on port 7421
    stf-local_1 | 2020-02-09T08:35:37.551Z IMP/device:plugins:connect 205 [4d9c3254] Remote Connect Started for device "4d9c3254" at "IP_LAN:7421"
    stf-local_1 | 2020-02-09T08:35:37.607Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "PID: 10996"
    stf-local_1 | 2020-02-09T08:35:37.607Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: Using projection 1080x2340@389x843/0"
    stf-local_1 | 2020-02-09T08:35:37.608Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:241) Creating SurfaceComposerClient"
    stf-local_1 | 2020-02-09T08:35:37.608Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:244) Performing SurfaceComposerClient init check"
    stf-local_1 | 2020-02-09T08:35:37.608Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:255) Creating virtual display"
    stf-local_1 | 2020-02-09T08:35:37.609Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:261) Creating buffer queue"
    stf-local_1 | 2020-02-09T08:35:37.609Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:264) Setting buffer options"
    stf-local_1 | 2020-02-09T08:35:37.609Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:268) Creating CPU consumer"
    stf-local_1 | 2020-02-09T08:35:37.610Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:272) Creating frame waiter"
    stf-local_1 | 2020-02-09T08:35:37.610Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:276) Publishing virtual display"
    stf-local_1 | 2020-02-09T08:35:37.610Z INF/device:plugins:screen:stream 205 [4d9c3254] minicap says: "Vector<> have different types (this=0x7fdd4eac40, rhs=0x7fdd4ead90)"
    stf-local_1 | 2020-02-09T08:35:37.612Z INF/device:plugins:screen:stream 205 [4d9c3254] Connecting to minicap service
    stf-local_1 | 2020-02-09T08:35:37.659Z WRN/device:plugins:screen:stream 205 [4d9c3254] Shell keeping minicap running ended unexpectedly
    stf-local_1 | 2020-02-09T08:35:39.139Z INF/device:plugins:screen:stream 205 [4d9c3254] Disconnecting from minicap service
    stf-local_1 | 2020-02-09T08:35:39.140Z INF/device:plugins:screen:stream 205 [4d9c3254] Stopping minicap service
    stf-local_1 | 2020-02-09T08:35:39.142Z FTL/device:plugins:screen:stream 205 [4d9c3254] Frame producer had an error FailError: Failure: 'closed'
    stf-local_1 | at /app/node_modules/adbkit/lib/adb/parser.js:183:29
    stf-local_1 | at runCallback (timers.js:789:20)
    stf-local_1 | at tryOnImmediate (timers.js:751:5)
    stf-local_1 | at processImmediate [as _immediateCallback] (timers.js:722:5)
    stf-local_1 | 2020-02-09T08:35:39.142Z FTL/util:lifecycle 205 [4d9c3254] Shutting down due to fatal error
    stf-local_1 | 2020-02-09T08:35:39.153Z INF/provider 41 [
    ] Cleaning up device worker "4d9c3254"
    stf-local_1 | 2020-02-09T08:35:39.154Z ERR/provider 41 [] Device worker "4d9c3254" died with code 1
    stf-local_1 | 2020-02-09T08:35:39.154Z INF/provider 41 [
    ] Restarting device worker "4d9c3254"
    stf-local_1 | 2020-02-09T08:35:40.036Z INF/device:support:push 217 [4d9c3254] Sending output to "tcp://127.0.0.1:7116"
    stf-local_1 | 2020-02-09T08:35:40.040Z INF/device 217 [4d9c3254] Preparing device
    stf-local_1 | 2020-02-09T08:35:40.466Z INF/device:support:sub 217 [4d9c3254] Receiving input from "tcp://127.0.0.1:7114"
    stf-local_1 | 2020-02-09T08:35:40.468Z INF/device:support:sub 217 [4d9c3254] Subscribing to permanent channel "*ALL"
    stf-local_1 | 2020-02-09T08:35:40.530Z INF/device:support:properties 217 [4d9c3254] Loading properties
    stf-local_1 | 2020-02-09T08:35:40.559Z INF/device:support:sdk 217 [4d9c3254] Supports SDK 29
    stf-local_1 | 2020-02-09T08:35:40.560Z INF/device:support:abi 217 [4d9c3254] Supports ABIs arm64-v8a, armeabi-v7a, armeabi
    stf-local_1 | 2020-02-09T08:35:40.688Z INF/device:resources:minicap 217 [4d9c3254] Installing "/app/node_modules/minicap-prebuilt-beta/prebuilt/arm64-v8a/bin/minicap" as "/data/local/tmp/minicap"
    stf-local_1 | 2020-02-09T08:35:40.689Z INF/device:resources:minicap 217 [4d9c3254] Installing "/app/node_modules/minicap-prebuilt-beta/prebuilt/arm64-v8a/lib/android-29/minicap.so" as "/data/local/tmp/minicap.so"
    stf-local_1 | 2020-02-09T08:35:40.769Z INF/device:resources:service 217 [4d9c3254] Checking whether we need to install STFService
    stf-local_1 | 2020-02-09T08:35:40.805Z INF/device:resources:service 217 [4d9c3254] Running version check
    stf-local_1 | 2020-02-09T08:35:41.026Z INF/device:resources:service 217 [4d9c3254] Installing STFService
    ........................

How to fix problem №2 ?

@koral--
Copy link
Member

koral-- commented Feb 9, 2020

Regarding 1st issue. @denis99999 do you have any idea how to solve it more gracefully than introducing breaking change in release notes?

Regarding 2nd one: I'll try to get some recent Xiaomi and investigate that. For now, without device in hands I guess that adjusting some option(s) in developer/security settings may help, similarly to: #603

@pcrepieux
Copy link
Contributor

@forum77alive
You second issue make me think of openstf/minicap#169
This is likely due to manufacturers using a code slightly different compared to AOSP.
I managed to overcome this problem on a G6 running Android 9 (openstf/minicap#169 (comment)). Haven't try on Android 10 yet...

@varundtsfi
Copy link

Hi @pcrepiux

It's there in Android 10 also with MIUI 11 xiaomi Devices.

I have tried your suggestions which you have given to Ethin in minicap#169 but unable to build it properly.

Any other suggestion so that I can try for xiaomi devices which will resolve the issue quicker

@pcrepieux
Copy link
Contributor

@varundtsfi I'll try to investigate a bit further on Android 10. What kind of build issues did you get ?

@forum77alive
Copy link

forum77alive commented Feb 10, 2020

@varundtsfi I'll try to investigate a bit further on Android 10. What kind of build issues did you get ?

I testing on mi 8 Lite(Android 9) - the solution (openstf/minicap#169) did not help
I will try to test on other Android 10 and report on the result.

@varundtsfi
Copy link

varundtsfi commented Feb 10, 2020

@varundtsfi I'll try to investigate a bit further on Android 10. What kind of build issues did you get ?

Hi @pcrepieux and @forum77alive
Build issue resolved that was my mistake. Your instructions was correct

Now I have tried on Xiaomi Note 7 pro Android version 9 and MIUI version 11.

Actually the problem is not with Android version it's with MIUI version.
Suppose we have Xiaomi device in Android 9 or 10 version but MIUI version is 10 then devices working fine with minicap but if you update their MIUI version then vector mismatch problem will occur.

I have tested on Xiaomi Note 7 pro MIUI 11 now vector mismatch issue is not occurred but screen is black.
73054087-83397080-3eaf-11ea-910f-1ccfa028834c

@denis99999
Copy link
Contributor

Regarding 1st issue. @denis99999 do you have any idea how to solve it more gracefully than introducing breaking change in release notes?

@koral-- ,
I didn't make some effort on that because the issue just concerns the lost of user informations (i.e. tokens, ADB keys, last used device, ...) and device informations (i.e. notes, ...), which can be easily recreate by the end user.
I think it should be possible to add a "one shot" extra code to adapt the database model changing (i.e. adding dependencies between users, devices and groups objects), but is it really worth it ? If you feel that yes, so I can investigate on a softer migration solution.

@forum77alive
Copy link

Hello Team! I checked on samsung s10e (Android 10) - its working!

@varundtsfi
Copy link

varundtsfi commented Feb 11, 2020

Hello Team! I checked on samsung s10e (Android 10) - its working!

Hi @forum77alive Is it related with Vector<> have different types issue if yes then vector issue is coming in Xiaomi and LG Device only. Its not coming in another Manufacturer.

@Olivia26-2020
Copy link

@varundtsfi I'll try to investigate a bit further on Android 10. What kind of build issues did you get ?

Hi @pcrepieux Have you find something regarding Xiaomi Android 9(MIUI 11) issue?
I am not getting Vector<> have different types issue. As per your solution which is working for LG is working for Xiaomi Device also But Its Giving black screen while connecting device.

I have tried few things for overcome form the black screen issue but not succeed.

@pcrepieux
Copy link
Contributor

@Olivia26-2020
Same here :-/
I don't think I'll have more time to spend on this in the coming days. Will keep you posted if I get something interesting.

@shazzad0c
Copy link

Just wondering if there has been any progress in getting a Docker repo available which has all the fixes applied to get it working with android 10?

@koral--
Copy link
Member

koral-- commented Feb 21, 2020

There is nothing more apart from posts in this topic.

@forum77alive
Copy link

forum77alive commented Mar 4, 2020

when i use device and open virtual display - i get this logs:

stf-local_1 | 2020-03-04T14:47:19.564Z INF/device:resources:minirev 313 [4d9c3254] Installing "/app/vendor/minirev/arm64-v8a/minirev" as "/data/local/tmp/minirev"
stf-local_1 | 2020-03-04T14:47:19.590Z INF/device:plugins:forward 313 [4d9c3254] Launching reverse port forwarding service
stf-local_1 | 2020-03-04T14:47:19.600Z INF/device:plugins:forward 313 [4d9c3254] Connecting to reverse port forwarding service
stf-local_1 | 2020-03-04T14:47:19.758Z INF/device 313 [4d9c3254] Fully operational
stf-local_1 | 2020-03-04T14:47:37.984Z IMP/device:plugins:group 313 [4d9c3254] Now owned by "my@email"
stf-local_1 | 2020-03-04T14:47:37.984Z INF/device:plugins:group 313 [4d9c3254] Subscribing to group channel "zy2EVof5TxmiQzznBqT1/g=="
stf-local_1 | 2020-03-04T14:47:38.069Z INF/device:plugins:screen:stream 313 [4d9c3254] Setting frame producer projection to 574x848
stf-local_1 | 2020-03-04T14:47:38.069Z INF/device:plugins:screen:stream 313 [4d9c3254] Requesting frame producer to start
stf-local_1 | 2020-03-04T14:47:38.070Z INF/device:plugins:screen:stream 313 [4d9c3254] Launching screen service
stf-local_1 | 2020-03-04T14:47:38.123Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "PID: 8006"
stf-local_1 | 2020-03-04T14:47:38.123Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: Using projection 1080x2340@391x848/0"
stf-local_1 | 2020-03-04T14:47:38.123Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:241) Creating SurfaceComposerClient"
stf-local_1 | 2020-03-04T14:47:38.124Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:244) Performing SurfaceComposerClient init check"
stf-local_1 | 2020-03-04T14:47:38.124Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:255) Creating virtual display"
stf-local_1 | 2020-03-04T14:47:38.124Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:261) Creating buffer queue"
stf-local_1 | 2020-03-04T14:47:38.124Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:264) Setting buffer options"
stf-local_1 | 2020-03-04T14:47:38.125Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:268) Creating CPU consumer"
stf-local_1 | 2020-03-04T14:47:38.125Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:272) Creating frame waiter"
stf-local_1 | 2020-03-04T14:47:38.125Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "INFO: (external/MY_minicap/src/minicap_29.cpp:276) Publishing virtual display"
stf-local_1 | 2020-03-04T14:47:38.126Z INF/device:plugins:screen:stream 313 [4d9c3254] minicap says: "Vector<> have different types (this=0x7ff8124fc0, rhs=0x7ff8125110)"
stf-local_1 | 2020-03-04T14:47:38.127Z INF/device:plugins:screen:stream 313 [4d9c3254] Connecting to minicap service
stf-local_1 | 2020-03-04T14:47:38.135Z INF/device:plugins:connect 313 [4d9c3254] Listening on port 7457
stf-local_1 | 2020-03-04T14:47:38.137Z IMP/device:plugins:connect 313 [4d9c3254] Remote Connect Started for device "4d9c3254" at "IP_stf_server:7457"
stf-local_1 | 2020-03-04T14:47:38.166Z WRN/device:plugins:screen:stream 313 [4d9c3254] Shell keeping minicap running ended unexpectedly
stf-local_1 | 2020-03-04T14:47:39.652Z INF/device:plugins:screen:stream 313 [4d9c3254] Disconnecting from minicap service
stf-local_1 | 2020-03-04T14:47:39.653Z INF/device:plugins:screen:stream 313 [4d9c3254] Stopping minicap service
stf-local_1 | 2020-03-04T14:47:39.655Z FTL/device:plugins:screen:stream 313 [4d9c3254] Frame producer had an error FailError: Failure: 'closed'
stf-local_1 | at /app/node_modules/adbkit/lib/adb/parser.js:183:29
stf-local_1 | at runCallback (timers.js:789:20)
stf-local_1 | at tryOnImmediate (timers.js:751:5)
stf-local_1 | at processImmediate [as _immediateCallback] (timers.js:722:5)
stf-local_1 | 2020-03-04T14:47:39.655Z FTL/util:lifecycle 313 [4d9c3254] Shutting down due to fatal error
stf-local_1 | 2020-03-04T14:47:39.659Z INF/provider 37 [] Cleaning up device worker "4d9c3254"
stf-local_1 | 2020-03-04T14:47:39.660Z ERR/provider 37 [
] Device worker "4d9c3254" died with code 1
stf-local_1 | 2020-03-04T14:47:39.660Z INF/provider 37 [*] Restarting device worker "4d9c3254"
stf-local_1 | 2020-03-04T14:47:40.520Z INF/device:support:push 325 [4d9c3254] Sending output to "tcp://127.0.0.1:7116"
stf-local_1 | 2020-03-04T14:47:40.524Z INF/device 325 [4d9c3254] Preparing device
stf-local_1 | 2020-03-04T14:47:40.975Z INF/device:support:sub 325 [4d9c3254] Receiving input from "tcp://127.0.0.1:7114"
stf-local_1 | 2020-03-04T14:47:40.976Z INF/device:support:sub 325 [4d9c3254] Subscribing to permanent channel "*ALL"
stf-local_1 | 2020-03-04T14:47:41.038Z INF/device:support:properties 325 [4d9c3254] Loading properties
stf-local_1 | 2020-03-04T14:47:41.062Z INF/device:support:sdk 325 [4d9c3254] Supports SDK 29
stf-local_1 | 2020-03-04T14:47:41.063Z INF/device:support:abi 325 [4d9c3254] Supports ABIs arm64-v8a, armeabi-v7a, armeabi
stf-local_1 | 2020-03-04T14:47:41.168Z INF/device:resources:minicap 325 [4d9c3254] Installing "/app/node_modules/minicap-prebuilt-beta/prebuilt/arm64-v8a/bin/minicap" as "/data/local/tmp/minicap"
stf-local_1 | 2020-03-04T14:47:41.168Z INF/device:resources:minicap 325 [4d9c3254] Installing "/app/node_modules/minicap-prebuilt-beta/prebuilt/arm64-v8a/lib/android-29/minicap.so" as "/data/local/tmp/minicap.so"
stf-local_1 | 2020-03-04T14:47:41.225Z INF/device:resources:service 325 [4d9c3254] Checking whether we need to install STFService
stf-local_1 | 2020-03-04T14:47:41.257Z INF/device:resources:service 325 [4d9c3254] Running version check
stf-local_1 | 2020-03-04T14:47:41.464Z INF/device:resources:service 325 [4d9c3254] Installing STFService

It goes on forever.
Xiaomi mi9 (Android 10)

@RmondJone
Copy link

Here are 3 suggested PR to add android 10 support:
openstf/minitouch#50
openstf/STFService.apk#38
openstf/minicap#190
Hope this helps.
can not support x86 ?
你解决了吗?大兄弟?我现在一样的问题,minicap.so都更新了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests