SUMMARY *** Today, I built Kasts from source against qt6 in order to explore it and find bugs. I found a few things: 1. The "show episode info" dialog has text flowing outside of the dialog (below it) when opened for the first time after app launch 2. The "chapters" dialog is incredibly slow to open and induces heavy load on the cpu 3. The "more actions" menu popup on the "subscriptions" page changes its width when the mouse enters its area 4. The `customizeRatesDialog` is too small, the grid of current playback rate options is cut off 5. That same dialog can also neither be moved nor resized, but that is already an issue in the current release 6. When using touchpad scroll to increase the volume to 100%, lifting the fingers from the touchpad resets the volume to 90%. This might have been introduced by myself, I will see if I can figure out what causes it. 7. On the console, I get these following errors many times and in different variations: ``` qrc:/PlaybackRateMenu.qml:43: TypeError: Passing incompatible arguments to C++ functions from JavaScript is not allowed. "Could not convert argument 0 at" "@qrc:/PlaybackRateMenu.qml:43" "resetModel@qrc:/PlaybackRateMenu.qml:63" "expression for onAccepted@qrc:/PlaybackRateMenu.qml:82" "expression for onAccepted@file:///usr/lib/x86_64-linux-gnu/qt6/qml/org/kde/kirigami/Dialog.qml:501" qrc:/PlaybackRateMenu.qml:43: TypeError: Passing incompatible arguments to C++ functions from JavaScript is not allowed. file:///usr/lib/x86_64-linux-gnu/qt6/qml/org/kde/kirigami/Dialog.qml:386:37: QML Binding: Binding loop detected for property "value" qrc:/PlaybackRateMenu.qml:77:9: QML PlaybackRateCustomizerDialog: Binding loop detected for property "implicitHeight" qrc:/qt/qml/org/kde/desktop/Menu.qml:37:18: QML ListView: Binding loop detected for property "implicitWidth" qt.qml.context: qrc:/FeedListDelegate.qml:104:9 Parameter "mouse" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead. QSGPlainTexture: Mipmap settings changed without having image data available. Call setImage() again or enable m_retain_image. Falling back to previous mipmap filtering mode. ``` *** STEPS TO REPRODUCE 1. build Kasts from source against qt6 using kdesrc-build 2. run it from the terminal and explore the UI SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE Neon distrobox running on top of Crystal Linux KDE Plasma Version: master KDE Frameworks Version: master - 5.111.0 I *think* Qt Version: 6.6 ADDITIONAL INFORMATION Not pressing, just things to have on the radar to fix before the plasma 6 release. When I looked at some of the related the Kasts QML code, it seemed fine, so I guess at least some of these issues lie in underlying technologies/frameworks.
Created attachment 162015 [details] Broken PlaybackRateCustomizerDialog with console output
Created attachment 162016 [details] Info dialog text overflow with konsole output
Thanks for reporting. I've fixed the javascript argument warnings. Those are straightforward to fix, but annoying to find: you need to call the specific function in order to get the deprecation warning. From looking at the code, it's not obvious if it's using signal arguments are just plain properties, so it's almost impossible to spot by reading the code. :) About the dialogs: I also noticed that they behave weirdly with qt6. All of them are using the `Kirigami.Dialog` types. There seem to be a few recurring problems: - Something goes wrong with layout when the dialog is opened the first time. But then opening it a second time seems to solve (most) of the issues. - None of the dialogs seems to properly account for the vertical space (not even the second time it's opened). Perhaps also horizontal space, as I was able to scroll very far to the side with my touchpad. I think both issues are interlinked. I'm also quite sure that the issue is located in upstream `Kirigami.Dialog`, but I don't have a clue where to start looking (also because everything worked properly with qt5).
Yeah those were my thoughts as well. I guess I will change the product to frameworks-kirigami, so the people working on that are more likely to see this. @kirigami devs: this originally was reported for kasts, but the dialog issues seem to be upstream. Feel free to ignore the rest
Git commit 38475c64fe51113427e1a424f27a39ccfbcfefae by Bart De Vries. Committed on 02/10/2023 at 21:42. Pushed by bdevries into branch 'master'. More formal signal handler argument declarations M +1 -1 src/qml/FeedListDelegate.qml M +1 -1 src/qml/GenericEntryDelegate.qml M +1 -1 src/qml/PlaybackRateMenu.qml https://invent.kde.org/multimedia/kasts/-/commit/38475c64fe51113427e1a424f27a39ccfbcfefae
I can confirm that our Dialogs are not in their greatest shape
Update, now on Plasma 6 Beta: 1. The "show episode info" dialog looks fine, but is unscrollable and everything that does not fit into the dialog can not be seen 2. The "chapters" dialog is still incredibly slow to open and induces heavy load on the cpu, the same thing happens when I click on the top banner to open episode details 3. The "more actions" menu popup on the "subscriptions" page now changes its height when the mouse moves in the window 4. The `customizeRatesDialog` now works fine 5. That same dialog can still neither be moved nor resized, but that is already an issue in the current release 6. When using touchpad scroll to increase the volume to 100%, lifting the fingers from the touchpad resets the volume to 90%. This still happens.
Update: 1, 2 and 4 are fixed The others are less important I feel like, but I am also getting a bunch of errors from Kirigami: ``` file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:50: TypeError: Cannot read property 'Light' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:41: TypeError: Cannot read property 'Normal' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Heading.qml:99: TypeError: Cannot read property 'Secondary' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Heading.qml:97: TypeError: Cannot read property 'Primary' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Heading.qml:75: TypeError: Cannot read property 'Normal' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:50: TypeError: Cannot read property 'Light' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:41: TypeError: Cannot read property 'Normal' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:50: TypeError: Cannot read property 'Light' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:41: TypeError: Cannot read property 'Normal' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Heading.qml:99: TypeError: Cannot read property 'Secondary' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Heading.qml:97: TypeError: Cannot read property 'Primary' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Heading.qml:75: TypeError: Cannot read property 'Normal' of undefined file:///usr/lib/qt6/qml/org/kde/kirigami/Separator.qml:50: TypeError: Cannot read property 'Light' of undefined ```
This bug report feels quite messy by now. Shall I close and replace it with three low priority bug reports for 3, 5 and 6?