https://bugs.kde.org/show_bug.cgi?id=525467

            Bug ID: 525467
           Summary: Race condition prevents the 'Downloading' status from
                    clearing, causing system unable to auto sleep
    Classification: Plasma
           Product: xdg-desktop-portal-kde
      Version First 6.3.6
       Reported In:
          Platform: Debian stable
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Created attachment 195934
  --> https://bugs.kde.org/attachment.cgi?id=195934&action=edit
DBUS log

DESCRIPTION
Use Firefox to download small file (Firefox is told to use KDE portal).
Race condition causes KDE portal unable to clear the downloading status in
PowerDevil. System never able to auto sleep.


STEPS TO REPRODUCE
1. Use KDE desktop. Set KDE portal as default
2. Use latest Firefox (153-156) to open a picture URL (eg
https://www.w3schools.com/html/workplace.jpg )
3. Use context menu "Save Image As"
4. In the Qt file picker, select a path and click Save

Watch PowerDevil status:
watch qdbus6 --literal org.kde.Solid.PowerManagement
/org/kde/Solid/PowerManagement/PolicyAgent
org.kde.Solid.PowerManagement.PolicyAgent.ListInhibitions

See:
[Argument: a(ss) {[Argument: (ss) "start_firefox.sh", "Download in progress"]}]

"Download in progress" never cleared ( even after finished download) 




Manually restarted KDE portal to get  debug log:
env QT_LOGGING_RULES="xdp-kde-inhibit.debug=true;xdp-kde-request.debug=true"
xdg-desktop-portal-kde --replace

log:
xdp-kde-inhibit: Inhibit called with parameters:
xdp-kde-inhibit:     handle: 
"/org/freedesktop/portal/desktop/request/<Firefox_dbus>/t/<requestID>"
xdp-kde-inhibit:     app_id:  "start_firefox.sh"
xdp-kde-inhibit:     window:  "firefox"
xdp-kde-inhibit:     flags:  4
xdp-kde-inhibit:     options:  QMap(("reason", QVariant(QString, "Download in
progress")))
xdp-kde-request: "org.freedesktop.impl.portal.Request"
xdp-kde-request: "Close"
xdp-kde-request:
"/org/freedesktop/portal/desktop/request/<Firefox_dbus>/t/<requestID>"

The "Close" event should occur after download finishs so that the "Downloading"
status cleared, 
but there're big chances it FAILS to occur.


After monitoring dbus, found race condition in KDE portal. Simplified dbus log
see attachment.


OBSERVED RESULT
Downloading status never clear after finish


EXPECTED RESULT
Status should be able to clear

SOFTWARE/OS VERSIONS
Operating System: Debian GNU/Linux 13
KDE Plasma Version: 6.3.6
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Graphics Platform: X11
Firefox: 156 or 153



ADDITIONAL INFORMATION

Simplified dbus log see attachment !

-----------------------------------------
This is how I set KDE portal as default:
export GTK_USE_PORTAL=1

`~/.config/xdg-desktop-portal/portals.conf`:
[preferred]
default=kde
org.freedesktop.impl.portal.FileChooser=kde

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to