@JF @azymohliad @PINE64 Does it do anything that other pre-existing apps, eg Siglo don't?

@Blort it seems to connect a lot more reliably than Siglo. Usually with Siglo I have to repeatedly scan and open bluetooth settings to connect. WatchMate connects to my Pinetime almost instantly after opening. It has media player controls but I think media controls worked when pairing with Siglo. I also updated my Pinetime firmware via WatchMate today. Based on it connecting more reliably, I uninstalled Siglo. @JF @azymohliad @PINE64

@jawsh @PINE64 @JF @Blort
It's a relief to read that. It worked well for me too, but nobody else tried it before I announced it, and with Bluetooth many things could go wrong. Kudos to BlueR and BlueZ, which is the stack I built on.

@azymohliad @joao @JF @PINE64

When I run this on my PC with bluetooth, it sees my Pinetime, but won't connect:

Flatpak installation CLI output:

Warning: Not exporting file io.gitlab.azymohliad.WatchMate.appdata.xml of unsupported type.
Installation complete.

@azymohliad @joao

CLI output running:

:~$ flatpak run io.gitlab.azymohliad.WatchMate
Gsk-Message: 13:42:18.452: Failed to realize renderer of type 'GskGLRenderer' for surface 'GdkX11Toplevel': Unable to create a GL context

Trying to connect to InfiniTime (CA:D9:41:1A:B2:B3)
CharacteristicReadRequest { offset: 0, mtu: 256, link: Some(Le) }


Failed to connect to InfiniTime: the target object was either not present or removed: Characteristic not found by UUID: 00002a19-0000-1000-8000-00805f9b34fb
Connection failure: Bluetooth operation failed: Software caused connection abort

It might be worth mentioning that I'm using KDE as my DE, on top of Neon as the distro.

@Blort Hm.. I think this issue might occur if by the time you're trying to connect, the watch is lost for the BLE adapter. For example: it found your PineTime, then you stop scanning, then it lost your PineTime, but the UI still displays it (bug), then you try to connect to non-existed device (from the adapter's PoV), and it fails. KDE/Neon shouldn't matter here I think. Does it happen every time, or just once?

@Blort oh, it actually might be another issue. Which version of InfiniTime firmware do you have? I just realized, if it's too old and doesn't expose the battery level via bluetooth, then this would happen. I didn't think about it, and need to make battery level reading optional to fix it and support older InfiniTime firmwares.

@azymohliad It consistently gives the renderer error, says it's already connected and then says it can't connect.

Firmware is 1.10.0, which I believe is the most recent version.

When I open WatchMate the PC does connect to Infinitime by Bluetooth and reports back the battery level, but WatchMate shows an error that it couldn't connect (see screencaptures below)

@Blort hm... Could you please build it from `debug-charactersitics` branch (whenever you have time, no hurry), then reproduce the issue and send me the console output? I added some helpful debug logs there. Either native or flatpak build should suffice, whichever you're more comfortable of installing dependencies for.

@azymohliad No problem. Just @ me when it is, and I'll give it a shot.

@azymohliad I see the build instructions on the GitHub page, but what do I add to choose the specific branch? I'm planning on building the Flatpak version.

@Blort you can either clone the repo from a branch directly:

git clone gitlab.com/azymohliad/WatchMat --branch=debug-characteristics

or, if you already cloned, then switch to the target branch:

git branch debug-characteristics

and then run build commands as described in readme

@Blort sorry, `git checkout debug-characteristics`, not `git branch`. I'm too sleepy already 🤦‍♂️

@azymohliad Looks like I didn't have rust installed. Not sure if that could have been the issue or not. Once I installed Rust though, cargo fails a dependency check wanting bluer 0.15 when the most recent on my system is 0.13.3 (could *that* be the issue?)

I tried compiling bluer 0.15, but that quickly turned into a mass of errors about Z namespaced features(?) and bin targets (??).

I'm happy to try and help. As a non dev though I'm officially over my head.

@Blort it's all very confusing. Rust shouldn't be needed system-wide if you build with flatpak. And code dependencies like bluer are downloaded from distro-independent sources, it's weird that the max is 0.13.3. However maybe your system bluez might be incompatible somehow... But I don't have a good idea how to proceed, I'd take a pause here too. Sorry for your time wasted, and big thanks for the effort. Thanks to your report I noted 2 other similar issues that I will now fix by the next release

@Blort hey, I still don't have any updates regarding the main issue, but I just realized, I forgot to declare GPU acceleration permission for Flatpak, which is the reason for GL-related errors. I'll fix it with the next release, but for now you can just manually override it either with Flatseal, or with `sudo flatpak override --device=dri io.gitlab.azymohliad.WatchMate`. Just FYI

@Blort @JF @PINE64
Currently it's pretty much similar to Siglo feature-wise. More are planned, but we'll see how it goes. Another point of preference might be the UI/UX: general look (I personally really like libadwaita), plus little things like FW update availability indicator, media player selector, etc.

Siglo is lighter on the storage though, which is important for the loading time on the PinePhone.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!