telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
26.23k stars 5.2k forks source link

Webapps: "cursor: pointer" is ignored #28060

Closed php4fan closed 4 months ago

php4fan commented 4 months ago

Steps to reproduce

  1. Open a chat with @DurgerKingBot
  2. Click on the "Order Food" button
  3. Move the mouse over any of the products to buy

Expected behaviour

The mouse cursor should look like it typically does in browsers when you hover over a link: a hand with the index finger pointing up.

Actual behaviour

The mouse cursor looks like an arrow.

I have also observed the same with my own webapp that has links and elements with the CSS property "cursor" set to "pointer". Same issue. And they look fine when I open the page in any normal browser.

I have tested my own webapp (can't test DurgerKing's because I don't know what the url is and hopefully it would not let me) on the "Web" browser (https://wiki.gnome.org/Apps/Web) which also uses WebkitGTK, and it works as expected, so this is unlikely to be a WebKit GTK issue.

This is a recent regression, too.

Operating system

Manjaro Linux

Version of Telegram Desktop

5.1.7

Installation source

Static binary from official website

Crash ID

No response

Logs

No response

ilya-fedin commented 4 months ago

Operating system

Manjaro Linux

Please provide more information about your system. I see there's a plenty of variants Manjaro comes in.

php4fan commented 4 months ago

Operating System: Manjaro Linux KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1 Kernel Version: 6.6.32-1-MANJARO (64-bit) Graphics Platform: Wayland Processors: 12 × 12th Gen Intel® Core™ i7-1255U Memory: 15.3 GiB of RAM Graphics Processor: Mesa Intel® Graphics Manufacturer: ASUSTeK COMPUTER INC. Product Name: Vivobook_ASUSLaptop X1502ZA_F1502ZA System Version: 1.0

ilya-fedin commented 4 months ago

This is a recent regression, too.

That doesn't sound like true? As far as I remember, this was never supported on Wayland as Qt doesn't support this (https://bugreports.qt.io/browse/QTBUG-107683). If you insist that this is a regression, please provide the last working version number. Otherwise I'm going to add this issue to #25126.

php4fan commented 4 months ago

It's possible indeed that this is an issue in Wayland only and that it was always an issue in Wayland, because the last time that I know it worked was weeks or months ago and I was using X11.

The issue you linked to doesn't sound related though. I'm talking about the CSS property "cursor". That works in every browser and in every browser engine. To not support that means basically to not support web content.

ilya-fedin commented 4 months ago

Added this to #25126

php4fan commented 4 months ago

You are saying that Qt has never supported the cursor working properly inside a webview in Wayland? That basically renders webviews completely useless. How come a google search for something like "qt webview css cursor" finds NOTHING about this except for a couple of threads from 2011 and 2014 with no followups?

The issue that you linked (https://bugreports.qt.io/browse/QTBUG-107683) I can't see how it's related.

ilya-fedin commented 4 months ago

Well, you have noticed initially that tdesktop uses webkitgtk:

which also uses WebkitGTK

But you're saying you have searched

qt webview css cursor

Which indeed would show nothing as Qt WebEngine doesn't have such an issue. And CSS is not really related to the issue. It's not even on web engine level.

I don't think any other Qt application embeds webkitgtk or even just gtk widgets so, yeah, you're unlikely to find anything.

I forwarded lots of gtk-to-qt embedding bugs to Qt (you can see that by #25126) and none of them are fixed so I think tdesktop is the only application doing so and the problems it encounters are unique.

php4fan commented 4 months ago

I forwarded lots of gtk-to-qt embedding bugs to Qt (you can see that by https://github.com/telegramdesktop/tdesktop/issues/25126) and none of them are fixed

Time to look for alternatives, then. If they haven't fixed anything in 2 years, there's no hope.

ilya-fedin commented 4 months ago

Sorry but I'm not who decides which technology has to be used. And the person who decides believes those issues are too minor to switch.

php4fan commented 4 months ago

Who is that idiot?

ilya-fedin commented 4 months ago

@john-preston. Although I wouldn't say idiot. He just has different priorities than you. One of the upsides the current solution provides is that there's no need to distribute a web engine with the application. Impossibility to change cursor isn't a that high price for a ~100MiB binary instead of multiple GB folder with lots of subfolders with binaries and .so libraries (you can't link web engine statically).