theseer
Repos
28
Followers
346
Following
10

The Phar Installation and Verification Environment (PHIVE)

489
42

A pragmatic approach to templating for PHP 7.x+

33
6

A tool that generates an HTML page, RSS feed, and Phive metadata for a PHAR repository

19
4

CLI wrapper for templado snippet handling

0
1

A lightweight php namespace aware autoload generator and phar archive builder

367
45

Documentation generator for PHP Code using standard technology (SRC, DOCBLOCK, XML and XSLT)

586
120

Events

Allow multiple runs

For the record: Implementing/Addressing Issue #5059 is a step in addressing this.

Created at 2 days ago

Enhancement: Use no_trailing_comma_in_singleline instead of deprecated fixers

Cleanup whitespace

Update testdox test for new html formatting / css

Created at 3 days ago

Use rem instead of em

Use short color codes

Change bullet list icon glyph

Fix indentation

Reset font sizes

Pimp paddings

Render defect text in red

Created at 3 days ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

Success! Also can connect with my Sailfish phone now.

Not sure why, but it appears that the Appearance=0x0192 line gets removed / the info file rewritten. I have added the line, restarted bluetooth and it didn't work. I checked the file again, finding despite having added the line before and verifiying it's in there before restarting, that very line was gone.

Adding it yet again and restarting bluetooth once more, I now can connect and get data transferred.

Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

Okay, played around with things again on my Laptop. Basically reset everything to square one and re-did everything step by step, Particularily adding the Appearance=0x0192 line to the info file as well as restarting bluetooth (systemctl restart bluetooth). I don't know what's different now, but now after some short waiting time, I can now confirm I can connect and fetch data from my GTS 2 using my Fedora 36 based Laptop. Of course the UI isn't optimized for this type of display so some things look a bit odd but that's fine and a different story.

In preparation to do what I've been asked, I also made the watch connect to the Laptop to have a "standard" bluetooth pairing. As it showed up with a mac address that's different from the one used by the Zedd App when registereing, I removed it again from the bluetooth pairing. Not sure if that had any side effect to make it now work.

I also get a notification "Amazfish connected" on the watch.

I since repeated this process various times now and it works every time.

Now if it only worked on my Phone ;-)

Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

Sure, will do later today when I'm back home.

Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

It seems that the aforementioned patch is included in 5.65. ( https://git.kernel.org/pub/scm/bluetooth/bluez.git/log/?h=5.65 )

Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

I keep getting

Sep 17 22:56:27 ..... kernel: Bluetooth: hci0: Opcode 0x 401 failed: -16
Sep 17 22:56:44 ..... bluetoothd[1712140]: profiles/deviceinfo/deviceinfo.c:read_pnpid_cb() Error reading PNP_ID value: Request attribute has encountered an unlikely error

whenever i tell amazfish-ui to connect. Not sure if that points at what you mentioned regarding having a patched version of bluez being required?

Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II
# rpm -qa |grep bluez

bluez-5.65-1.fc36.x86_64
bluez-libs-5.65-1.fc36.x86_64
bluez-obexd-5.65-1.fc36.x86_64
bluez-cups-5.65-1.fc36.x86_64
kf5-bluez-qt-5.97.0-1.fc36.x86_64

I did set the Appearance=0x0192 into the corresponding file in /var/lib/bluetooth/...../info and also, for the just in case, added it to the cache entry. I also restarted bluetoothd as well as the amazfish daemon prozess.

I'm no longer getting the "no agent available" error but the UI behavior is still the same: I can select connect, it does show as if connected, nothing can be done, and then it suddenly is disconnected.

Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

At least on my Desktop when checking journactl's output, I see bluetoothd throwing an error when pairing:

Sep 17 15:48:25 ..... bluetoothd[4216]: src/device.c:new_auth() No agent available for request type 2
Sep 17 15:48:25 ..... bluetoothd[4216]: device_confirm_passkey: Operation not permitted
Created at 1 week ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

For reference, I tried to run a build on my Desktop box running Fedora Linux 36 and see whether there it would work After @piggz fixed an issue that may or may not have been Fedora specific, I can now also find and select the GTS 2 for pairing - but I'm stuck at about the same spot: I can't do anything and after a while the device disconnects.

Interesting observation: If I use a completly random auth key the perceived behavior is identical. So maybe it's something with the auth prozess? Maybe they changed something here for the latest version of their firmware?

Additional side note: I tried pairing with an android (lineage OS 19.1) device using Gadetbridge. It works there.

Created at 1 week ago
closed issue
Can't pair on Desktop build (Fedora) due to qml error

Roughly following the build instructions for Ubuntu on my Fedora 36 machine, I managed to get it to build after installing what seems to have been the Fedora equivalents of the Ubuntu packages listed.

I can start the UI and it allows me to create a profile (the birthday widget is broken and doesn't offer me a nice way to jump ahead on years..).

I can also select pair with watch, selecting my Amazfit GTS 2 opens the tab to enter the Auth key. After pasting it in, pressing the -> accept button though, doesn't do anything anymore - but there's an error in the console:

theseer@nyda /usr/local/bin $ ./harbour-amazfish-ui 

QSocketNotifier: Can only be used with threads started with QThread
kf.kirigami: Failed to find a Kirigami platform plugin
qrc:/qml/pages/FirstPage.qml:79:13: QML LabelPL: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/pages/FirstPage.qml:90:13: QML BusyIndicatorSmallPL: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/components/platform/StackPL.qml:33:5: QML Connections: Cannot assign to non-existent property "onInfoActiveChanged"
qrc:/qml/components/platform/PagePL.qml:49: TypeError: Cannot read property 'title' of undefined
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/ContextDrawer.qml:128:9: QML ListView: Binding loop detected for property "topMargin"
QQmlComponent: Component is not ready
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/PageRow.qml:884: Error: Error while loading page: qrc:/qml/pages/PairPage.qml:66 Cannot assign to non-existent property "filters"

The last two lines repeat when pressing the -> Accept again. I'm a bit lost ;)

Created at 1 week ago
issue comment
Can't pair on Desktop build (Fedora) due to qml error

Yes! Works on my Desktop Fedora now.

Or, at least I get past the problem this issue was about.

After seemingly successfully pairing, I'm not stuck at exactly the same spot as described in https://github.com/piggz/harbour-amazfish/issues/231#issuecomment-1241635269.

But for this part, we can close this issue.

Created at 1 week ago
issue comment
Can't pair on Desktop build (Fedora) due to qml error

Not really. But that doesn't stop me from having a look :)

Created at 2 weeks ago
issue comment
Can't pair on Desktop build (Fedora) due to qml error

Nice catch. Probably wouldn't have come up with that angle...

Anything I can do to help fix that? I'm not sure applying the same patch on Fedora would be a good idea? I technically could build my own package and include that patch of course...

Created at 2 weeks ago
issue comment
Amazfit GTR 2 doesn't connect to Xperia 10 II

I believe to be stuck here as well - even though when looking at the journalctl output on my X10 II, it seems to be able to connect - but whatever it tries to do afterwards seems to fail hard and leads to a disconnect.

Versions in use:

[root@Xperia10II-DualSIM defaultuser]# rpm -qa | grep bluez
bluez5-obexd-5.63+git1+use.cached.appearance.20220405092430.1.ga06796ad7-1.2.1.jolla.aarch64
droid-config-xqau52-bluez5-0.1.24.3-1.7.1.jolla.aarch64
bluez5-libs-5.63+git1+use.cached.appearance.20220405092430.1.ga06796ad7-1.2.1.jolla.aarch64
bluez5-5.63+git1+use.cached.appearance.20220405092430.1.ga06796ad7-1.2.1.jolla.aarch64
kf5bluezqt-bluez5-declarative-5.24.0+git18-1.5.1.jolla.aarch64
kf5bluezqt-bluez5-5.24.0+git18-1.5.1.jolla.aarch64

[root@Xperia10II-DualSIM defaultuser]# rpm -qa | grep amaz
harbour-amazfish-2.0.8-1.3.1.jolla.aarch64

[root@Xperia10II-DualSIM defaultuser]# ssu re
Device release is currently: 4.4.0.68

Device: Amazfit GTS 2 Firmware: v4.4.1.1


I'm not sure whether that is relevant or not: When trying to pair the device, I commonly see a Amazfit GTS 2 - 411C which is not having the same MAC address than shown when getting the auth-key. I had to rescan many, many times until that address showed up - as Amazfit GTS 2 (as in, without the "-411C"-suffix).

So here's what I did to end up here:

  • I installed the patched version of bluez - as far as i'm concenred that worked.
  • Edited the cached entries for both mac address to contain the Appearance=0x0192 line in [General]
  • Paired the device using the same mac address as aparently was registered the vendor using SFOS bluetooth settings
  • Started amazfish
  • Choose to pair a new watch
  • Selected "Amazfit GTS 2"
  • Gave the auth-key (without leading 0x) as found via huami_token.py
  • Selected "find devices"
  • Selected the "Amazfit GTS 2" showing up after a while
  • waited ;)
  • Selected "connect to watch"

I get a bluetooth symbol and a watch symbol showing up. But I cannot do anything. And then it suddenly is disconnected again.

Created at 2 weeks ago
issue comment
Can't pair on Desktop build (Fedora) due to qml error
theseer@nyda ~ $ rpm -qa |grep kf5-bluez-qt
kf5-bluez-qt-5.97.0-1.fc36.x86_64

Anything else I can do to support this?

Created at 2 weeks ago
opened issue
Can't pair on Desktop build (Fedora) due to qml error

Roughly following the build instructions for Ubuntu on my Fedora 36 machine, I managed to get it to build after installing what seems to have been the Fedora equivalents of the Ubuntu packages listed.

I can start the UI and it allows me to create a profile (the birthday widget is broken and doesn't over me a nice way to jump ahead on years..).

I can also select pair with watch, selecting my Amazfit GTS 2 opens the tab to enter the Auth key. After pasting it in, pressing the -> accept button though, doesn't do anything anymore - but there's an error in the console:

theseer@nyda /usr/local/bin $ ./harbour-amazfish-ui 

QSocketNotifier: Can only be used with threads started with QThread
kf.kirigami: Failed to find a Kirigami platform plugin
qrc:/qml/pages/FirstPage.qml:79:13: QML LabelPL: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/pages/FirstPage.qml:90:13: QML BusyIndicatorSmallPL: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/components/platform/StackPL.qml:33:5: QML Connections: Cannot assign to non-existent property "onInfoActiveChanged"
qrc:/qml/components/platform/PagePL.qml:49: TypeError: Cannot read property 'title' of undefined
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/ContextDrawer.qml:128:9: QML ListView: Binding loop detected for property "topMargin"
QQmlComponent: Component is not ready
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/PageRow.qml:884: Error: Error while loading page: qrc:/qml/pages/PairPage.qml:66 Cannot assign to non-existent property "filters"

The last two lines repeat when pressing the -> Accept again. I'm a bit lost ;)

Created at 2 weeks ago
Allow multiple runs

I'm not arguing against what paratest is offering :) quite the opposite. I'm not sure that we (as in PHPUnit) do not yet provide you and others with the best means to achieve it.

Maybe we should have a short video call to discuss this in person to maybe resolve my confusion and find a not only a working solution but an optimal one :)

Created at 2 weeks ago
Allow multiple runs

That leaves the question, what do we consider a "run"?

PHPUnit\TextUI\Application::main or PHPUnit\TextUI\Application::run?

See, that's where I'm not sure yet. And that would include a bunch of things done plus accompanying events that are useless to be redone and emitted again: Startup, Config handling, Facade Setup, Extension bootstrapping, .... as well as cleanup.

As far as I understand it, we're trying to allow 3rd parties to trigger test execution. We do not need the aforementioned steps to be run again for every consecutive call ("run").

And why would we want to re-setup everything of the 2nd+ calls? With the risk of those being somehow different?

I don't understand these two questions. At the end of run, PHPUnit should reset itself to be able to run again with the same result. What's the issue you are trying to pinpoint?

If we do as suggested, there is exactly no control from within PHPUnit to ensure it's exactly the same result. But maybe I'm still missing the point of all this..

Created at 2 weeks ago
Allow multiple runs

@theseer I don't think 3rd parties should reset the state: it's PHPUnit's duty to leave a clean state after run

Valid point. I was actually somehow expecting it to be a public method, but of course there could be varying degrees of public here if we hide that call somehow within the facade.

That leaves the question, what do we consider a "run"? And why would we want to re-setup everything of the 2nd+ calls? With the risk of those being somehow different?

Created at 2 weeks ago
Allow multiple runs

Sorry, maybe I'm just blind or stupid - or it's still to early but I still fail to see the problem with the facade. I'm perfectly happy to admit the implementation is far from perfect and should probably get revisited.

But as @Slamdunk describes with the consecutive calls of Application::run, the problem is caused by calling that very method multiple times despite being the single application entry point. Instead of providing a "reset" feature to a Facade that PHPUnit doesn't need for itself and with that possibly causing inconsistencies, allowing others to call the reset mid-run and what not, we should provide a better way to 3rd parties to trigger test execution without rerunning things that do not require rerunning.

This all has nothing to do with the Facade. As I (currently?) see it we'd be fixing the wrong problem here..

Created at 2 weeks ago

Update tools

Migrate PHPUnit Config

Created at 1 month ago

Add PHP 8.2 to CI

Created at 1 month ago

Remove PHP 7.2 from CI

Created at 1 month ago
create tag
theseer create tag 4.2.1
Created at 1 month ago

Get back to 100% coverage

Update tools

Fix EmptyElementsFilter Regex and add additional testcases

Fixes #26

Update Changelog

Created at 1 month ago
closed issue
`EmptyElementsFilter` can cause invalid markup

Given

(new EmptyElementsFilter())->apply('<body><button id="foo">some text<span>bla</span></button></body>');

Expected Result

<body><button id="foo">some text<span>bla</span></button></body>

Actual Result

<body><base id="foo">some text<span>bla</span /></body>
Created at 1 month ago
opened issue
`EmptyElementsFilter` can cause invalid markup
Created at 1 month ago