r0x0r / pywebview

Build GUI for your Python program with JavaScript, HTML, and CSS
https://pywebview.flowrl.com
BSD 3-Clause "New" or "Revised" License
4.66k stars 542 forks source link

buggy execution of api methods from 'pywebviewready' listener #725

Closed romain-marie closed 3 years ago

romain-marie commented 3 years ago

Specification

Description

This works :

  window.addEventListener('pywebviewready', function() {
        pywebview.api.test1()
    })

Only test2() seems to be called, test1() is not called :

  window.addEventListener('pywebviewready', function() {
        pywebview.api.test1()
        pywebview.api.test2()
    })

With setTimeout, test1() and test2() are called :

  window.addEventListener('pywebviewready', function() {
         setTimeout('pywebview.api.test1()',1000)
        pywebview.api.test2()
    })

Note : the bug seems to occur since last ubuntu updates, it was working before. Here is list of packages upgrades :

2021-05-11 09:42:29 upgrade gir1.2-lightdm-1:amd64 1.30.0-0ubuntu3.1 1.30.0-0ubuntu4~20.04.1
2021-05-11 09:42:30 upgrade liblightdm-gobject-1-0:amd64 1.30.0-0ubuntu3.1 1.30.0-0ubuntu4~20.04.1
2021-05-11 09:42:35 upgrade alsa-utils:amd64 1.2.2-1ubuntu2 1.2.2-1ubuntu2.1
2021-05-11 09:42:44 upgrade iio-sensor-proxy:amd64 2.8-1 2.8-1ubuntu1
2021-05-11 09:42:49 upgrade python3-problem-report:all 2.20.11-0ubuntu27.16 2.20.11-0ubuntu27.17
2021-05-11 09:42:53 upgrade linux-firmware:all 1.187.11 1.187.12
2021-05-11 09:44:14 upgrade libatopology2:amd64 1.2.2-2.1ubuntu2.3 1.2.2-2.1ubuntu2.4
2021-05-11 09:44:17 upgrade libasound2:amd64 1.2.2-2.1ubuntu2.3 1.2.2-2.1ubuntu2.4
2021-05-11 09:44:18 upgrade libasound2-data:all 1.2.2-2.1ubuntu2.3 1.2.2-2.1ubuntu2.4
2021-05-11 09:44:22 upgrade libwacom-bin:amd64 1.3-2ubuntu1 1.3-2ubuntu3
2021-05-11 09:44:26 upgrade python3-update-manager:all 1:20.04.10.6 1:20.04.10.7
2021-05-11 09:44:27 upgrade update-manager-core:all 1:20.04.10.6 1:20.04.10.7
2021-05-11 09:44:31 upgrade python3-apport:all 2.20.11-0ubuntu27.16 2.20.11-0ubuntu27.17
2021-05-11 09:44:32 upgrade apport-kde:all 2.20.11-0ubuntu27.16 2.20.11-0ubuntu27.17
2021-05-11 09:44:36 upgrade thermald:amd64 1.9.1-1ubuntu0.3 1.9.1-1ubuntu0.4
2021-05-11 09:44:44 upgrade libwebkit2gtk-4.0-37:amd64 2.30.6-0ubuntu0.20.04.1 2.32.0-0ubuntu0.20.04.1
2021-05-11 09:44:46 upgrade libjavascriptcoregtk-4.0-18:amd64 2.30.6-0ubuntu0.20.04.1 2.32.0-0ubuntu0.20.04.1
2021-05-11 09:44:47 upgrade gir1.2-webkit2-4.0:amd64 2.30.6-0ubuntu0.20.04.1 2.32.0-0ubuntu0.20.04.1
2021-05-11 09:44:48 upgrade gir1.2-javascriptcoregtk-4.0:amd64 2.30.6-0ubuntu0.20.04.1 2.32.0-0ubuntu0.20.04.1
2021-05-11 09:44:52 upgrade libwacom2:amd64 1.3-2ubuntu1 1.3-2ubuntu3
2021-05-11 09:44:53 upgrade libwacom-common:all 1.3-2ubuntu1 1.3-2ubuntu3
2021-05-11 09:44:57 upgrade alsa-ucm-conf:all 1.2.2-1ubuntu0.6 1.2.2-1ubuntu0.7
2021-05-11 09:45:01 upgrade lightdm:amd64 1.30.0-0ubuntu3.1 1.30.0-0ubuntu4~20.04.1
2021-05-11 09:45:08 upgrade apport:all 2.20.11-0ubuntu27.16 2.20.11-0ubuntu27.17
2021-05-11 09:45:17 upgrade tmux:amd64 3.0a-2ubuntu0.2 3.0a-2ubuntu0.3
2021-05-11 09:45:22 upgrade libxmlb1:amd64 0.1.15-2 0.1.15-2ubuntu1~20.04.1
r0x0r commented 3 years ago

Could you put the first test statement in a try catch block and see what error it throws?

romain-marie commented 3 years ago

Hello, I tried this :

import webview

html = """
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
</head>
<body>

<div id="response-container"></div>
<script>
    window.addEventListener('pywebviewready', function() {

        console.log("------")

        try {
            console.log("------ a")
            pywebview.api.test1()
            console.log("------ b")
        } catch (e) {
            console.log(e)
        }

        try {
            console.log("------ c")
            pywebview.api.test2()
            console.log("------ d")
        } catch (e) {
            console.log(e)
        }
    })

</script>
</body>
</html>
"""

class Api:
    def test1(self):
        print('aaaaaa')

    def test2(self):
        print('bbbbbb')

if __name__ == '__main__':
    api = Api()
    window = webview.create_window('API example', html=html, js_api=api)
    webview.start(debug=True)

I have no error, logs "-------a", "-------b", "-------c", "-------d" are displayed in webview console. But only "bbbbbb" is printed in python console in terminal. If I remove the second try-catch block with test2() api call, "aaaaaa" is printed in python console in terminal.

r0x0r commented 3 years ago

I ran your example and could not reproduce it. Works both under Cocoa and GTK/Ubuntu. Output under GTK

[pywebview] Using GTK aaaaaa bbbbbb

romain-marie commented 3 years ago

Strange. What's your ubuntu version ? Packages are up to date ? Thanks.

romain-marie commented 3 years ago

I just installed a fresh Ubuntu 21.04 in a new virtualbox VM, installed pywebview with pip3, I have same problem. Only "bbbbbb" is displayed in terminal:

$ sudo apt install python3-pip
$ pip3 install pywebview
$ python3 test.py 
WaylandCompositor requires eglBindWaylandDisplayWL, eglUnbindWaylandDisplayWL and eglQueryWaylandBuffer.
Nested Wayland compositor could not initialize EGL
bbbbbb
Stevy64 commented 3 years ago

Hello !

It works for me on Ubuntu 20.04 LTS VM after downgrading some packages mentionned by romain-marie :

I downgraded the following packages from 2.32.0-0ubuntu0.20.04.1 to 2.28.1-1 :

libwebkit2gtk-4.0-37:amd64 libwebkit2gtk-4.0-37:amd64 libwebkit2gtk-4.0-doc libjavascriptcoregtk-4.0-18:amd64 gir1.2-webkit2-4.0:amd64

Output [pywebview] Using GTK : 
aaaaaa
bbbbbb

But not working with Pyqt5

I get this output :

bbbbbb
js: Uncaught TypeError: channel.execCallbacks[message.id] is not a function

--- Thanks ^^ ---

EdoardoVignati commented 3 years ago

Same problem for me. Only the second function is called. The workaround I found is to put the function in a tree, so test1() calls test2() inside its body....but it's a terrible solution.

r0x0r commented 3 years ago

Sorry for slow response. My specs

Ubuntu 20.04.2 LTS

libwebkit2gtk-4.0-37-gtk2/focal-updates,focal-updates,focal-security,focal-security,now 2.30.5-0ubuntu0.20.04.1 all [installed] libwebkit2gtk-4.0-37/focal-updates,focal-security,now 2.30.5-0ubuntu0.20.04.1 amd64 [installed] libwebkit2gtk-4.0-37/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386 libwebkit2gtk-4.0-dev/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 amd64 libwebkit2gtk-4.0-dev/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386 libwebkit2gtk-4.0-doc/focal-updates,focal-updates,focal-security,focal-security 2.30.5-0ubuntu0.20.04.1 all

libjavascriptcoregtk-4.0-18/focal-updates,focal-security,now 2.30.5-0ubuntu0.20.04.1 amd64 [installed] libjavascriptcoregtk-4.0-18/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386 libjavascriptcoregtk-4.0-bin/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 amd64 libjavascriptcoregtk-4.0-bin/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386 libjavascriptcoregtk-4.0-dev/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 amd64 libjavascriptcoregtk-4.0-dev/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386

gir1.2-a11yprofilemanager-0.1/focal 0.1.11-0ubuntu4 amd64 gir1.2-abi-3.0/focal 3.0.2-10 amd64 gir1.2-accounts-1.0/focal 1.23+17.04.20161104-0ubuntu3 amd64 gir1.2-accountsservice-1.0/focal-updates,focal-security,now 0.6.55-0ubuntu12~20.04.4 amd64 [installed] gir1.2-ags-3.0/focal 3.1.3-1 amd64 gir1.2-agsaudio-3.0/focal 3.1.3-1 amd64 gir1.2-agsgui-3.0/focal 3.1.3-1 amd64 gir1.2-amtk-5/focal 5.0.2-1build1 amd64 gir1.2-amtk-5/focal 5.0.2-1build1 i386 gir1.2-anjuta-3.0/focal 2:3.34.0-3ubuntu1 amd64 gir1.2-appindicator3-0.1/focal 12.10.1+20.04.20200408.1-0ubuntu1 amd64 gir1.2-appstream-1.0/focal 0.12.10-2 amd64 gir1.2-appstreamglib-1.0/focal 0.7.16-1ubuntu1 amd64 gir1.2-appstreamglib-1.0/focal 0.7.16-1ubuntu1 i386 gir1.2-aravis-0.6/focal 0.6.0-3 amd64 gir1.2-atk-1.0/focal,now 2.35.1-1ubuntu2 amd64 [installed] gir1.2-atk-1.0/focal 2.35.1-1ubuntu2 i386 gir1.2-atril/focal 1.24.0-1 amd64 gir1.2-atrildocument-1.5.0/focal 1.24.0-1 amd64 gir1.2-atrilview-1.5.0/focal 1.24.0-1 amd64 gir1.2-atspi-2.0/focal,now 2.36.0-2 amd64 [installed] gir1.2-atspi-2.0/focal 2.36.0-2 i386 gir1.2-avahi-0.6/focal 0.7-4ubuntu7 amd64 gir1.2-avahi-0.6/focal 0.7-4ubuntu7 i386 gir1.2-ayatanaappindicator-0.1/focal 0.5.4-2 amd64 gir1.2-ayatanaappindicator3-0.1/focal 0.5.4-2 amd64 gir1.2-ayatanaido3-0.4/focal 0.4.90-1 amd64 gir1.2-babl-0.1/focal 0.1.74-1 amd64 gir1.2-bamf-3/focal 0.5.3+18.04.20180207.2-0ubuntu2 amd64 gir1.2-blockdev-2.0/focal 2.23-2ubuntu3 amd64 gir1.2-blockdev-2.0/focal 2.23-2ubuntu3 i386 gir1.2-brasero-3.1/focal 3.12.2-6ubuntu1 amd64 gir1.2-budgie-1.0/focal-updates 10.5.1-6ubuntu0.2 amd64 gir1.2-burner-3.1/focal 3.0.7-1ubuntu1 amd64 gir1.2-caja-2.0/focal 1.24.0-1 amd64 gir1.2-caja/focal 1.24.0-1 amd64 gir1.2-camel-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-camel-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-caribou-1.0/focal 0.4.21-7 amd64 gir1.2-cattle-1.0/focal 1.2.2-3 amd64 gir1.2-champlain-0.12/focal 0.12.20-1 amd64 gir1.2-cheese-3.0/focal-updates 3.34.0-1ubuntu1 amd64 gir1.2-cinnamondesktop-3.0/focal 4.4.1-3 amd64 gir1.2-cloudproviders-0.3.0/focal 0.3.0-3 amd64 gir1.2-clutter-1.0/focal 1.26.4+dfsg-1 amd64 gir1.2-clutter-1.0/focal 1.26.4+dfsg-1 i386 gir1.2-clutter-gst-3.0/focal 3.0.27-1 amd64 gir1.2-cmenu-3.0/focal 4.4.0-2 amd64 gir1.2-cogl-1.0/focal 1.22.6-1 amd64 gir1.2-cogl-1.0/focal 1.22.6-1 i386 gir1.2-coglpango-1.0/focal 1.22.6-1 amd64 gir1.2-coglpango-1.0/focal 1.22.6-1 i386 gir1.2-colord-1.0/focal 1.4.4-2 amd64 gir1.2-colord-1.0/focal 1.4.4-2 i386 gir1.2-colordgtk-1.0/focal 0.2.0-0ubuntu1 amd64 gir1.2-colorhug-1.0/focal 1.4.4-2 amd64 gir1.2-colorhug-1.0/focal 1.4.4-2 i386 gir1.2-cryptui-0.0/focal 3.12.2-6 amd64 gir1.2-cvc-1.0/focal 4.4.1-3 amd64 gir1.2-dazzle-1.0/focal 3.36.0-1 amd64 gir1.2-dbusmenu-glib-0.4/focal,now 16.04.1+18.10.20180917-0ubuntu6 amd64 [installed] gir1.2-dbusmenu-gtk-0.4/focal 16.04.1+18.10.20180917-0ubuntu6 amd64 gir1.2-dbusmenu-gtk3-0.4/focal 16.04.1+18.10.20180917-0ubuntu6 amd64 gir1.2-dee-1.0/focal,now 1.2.7+17.10.20170616-4ubuntu6 amd64 [installed] gir1.2-devhelp-3.0/focal 3.36.1-1 amd64 gir1.2-diodon-1.0/focal 1.9.0-1 amd64 gir1.2-dmap-3.0/focal 2.9.39-6 amd64 gir1.2-ebackend-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-ebackend-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-ebook-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-ebook-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-ebookcontacts-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-ebookcontacts-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-ecal-2.0/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-ecal-2.0/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-edatabook-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-edatabook-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-edatacal-2.0/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-edatacal-2.0/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-edataserver-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-edataserver-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-edataserverui-1.2/focal-updates 3.36.4-0ubuntu1 amd64 gir1.2-edataserverui-1.2/focal-updates 3.36.4-0ubuntu1 i386 gir1.2-endless-0/focal 0~git20180727+ds-1 amd64 gir1.2-entangle-0.1/focal 2.0-1build1 amd64 gir1.2-eom-1.0/focal 1.24.0-1 amd64 gir1.2-eom/focal 1.24.0-1 amd64 gir1.2-evd-0.2/focal 0.2.0-1 amd64 gir1.2-evince-3.0/focal-updates 3.36.7-0ubuntu1 amd64 gir1.2-farstream-0.2/focal 0.2.8-5 amd64 gir1.2-fcitx-1.0/focal 1:4.2.9.7-3 amd64 gir1.2-fcitx-1.0/focal 1:4.2.9.7-3 i386 gir1.2-fcitxg-1.0/focal 0.0~git20191111.6f9ef64-2 amd64 gir1.2-flatpak-1.0/focal-updates,focal-security 1.6.5-0ubuntu0.2 amd64 gir1.2-folks-0.6/focal 0.13.2-1 amd64 gir1.2-fprint-2.0/focal-updates 1:1.90.2+tod1-0ubuntu1~20.04.4 amd64 gir1.2-freedesktop/focal-updates,now 1.64.1-1~ubuntu20.04.1 amd64 [installed] gir1.2-freedesktop/focal-updates 1.64.1-1~ubuntu20.04.1 i386 gir1.2-fwupd-2.0/focal-updates 1.3.11-1~focal1 amd64 gir1.2-fwupdplugin-1.0/focal-updates 1.3.11-1~focal1 amd64 gir1.2-ganv-1.0/focal 1.4.2~dfsg0-3build1 amd64 gir1.2-gcab-1.0/focal 1.4-1 amd64 gir1.2-gcab-1.0/focal 1.4-1 i386 gir1.2-gck-1/focal,now 3.36.0-2build1 amd64 [installed] gir1.2-gck-1/focal 3.36.0-2build1 i386 gir1.2-gconf-2.0/focal 3.2.6-6ubuntu1 amd64 gir1.2-gconf-2.0/focal 3.2.6-6ubuntu1 i386 gir1.2-gcr-3/focal,now 3.36.0-2build1 amd64 [installed] gir1.2-gcr-3/focal 3.36.0-2build1 i386 gir1.2-gda-5.0/focal 5.2.9-2ubuntu1 amd64 gir1.2-gdata-0.0/focal 0.17.12-1 amd64 gir1.2-gdata-0.0/focal 0.17.12-1 i386 gir1.2-gdesktopenums-3.0/focal,now 3.36.0-1ubuntu1 amd64 [installed] gir1.2-gdesktopenums-3.0/focal 3.36.0-1ubuntu1 i386 gir1.2-gdkpixbuf-2.0/focal-updates,focal-security,now 2.40.0+dfsg-3ubuntu0.2 amd64 [installed] gir1.2-gdkpixbuf-2.0/focal-updates,focal-security 2.40.0+dfsg-3ubuntu0.2 i386 gir1.2-gdl-3/focal 3.34.0-1 amd64 gir1.2-gdm-1.0/focal-updates,now 3.36.3-0ubuntu0.20.04.3 amd64 [installed] gir1.2-gee-0.8/focal 0.20.3-1 amd64 gir1.2-gegl-0.4/focal 0.4.22-3 amd64 gir1.2-geoclue-2.0/focal,now 2.5.6-0ubuntu1 amd64 [installed] gir1.2-geoclue-2.0/focal 2.5.6-0ubuntu1 i386 gir1.2-geocodeglib-1.0/focal,now 3.26.2-2 amd64 [installed] gir1.2-geocodeglib-1.0/focal 3.26.2-2 i386 gir1.2-gepub-0.6/focal 0.6.0-2 amd64 gir1.2-ges-1.0/focal 1.16.2-2 amd64 gir1.2-gexiv2-0.10/focal 0.12.0-2 amd64 gir1.2-gfbgraph-0.2/focal 0.2.3-3 amd64 gir1.2-ggit-1.0/focal 0.28.0.1-2 amd64 gir1.2-gkbd-3.0/focal 3.26.1-1 amd64 gir1.2-gladeui-2.0/focal 3.22.2-1 amd64 gir1.2-gladeui-2.0/focal 3.22.2-1 i386 gir1.2-glib-2.0/focal-updates,now 1.64.1-1~ubuntu20.04.1 amd64 [installed] gir1.2-glib-2.0/focal-updates 1.64.1-1~ubuntu20.04.1 i386 gir1.2-gmenu-3.0/focal,now 3.36.0-1ubuntu1 amd64 [installed] gir1.2-gmime-2.6/focal 2.6.23+dfsg1-4 amd64 gir1.2-gmime-3.0/focal 3.2.7-1 amd64 gir1.2-gnomeautoar-0.1/focal-updates,focal-security 0.2.3-2ubuntu0.2 amd64 gir1.2-gnomeautoargtk-0.1/focal-updates,focal-security 0.2.3-2ubuntu0.2 amd64 gir1.2-gnomebluetooth-1.0/focal-updates,now 3.34.3-0ubuntu1 amd64 [installed] gir1.2-gnomedesktop-3.0/focal-updates,now 3.36.8-0ubuntu1 amd64 [installed] gir1.2-gnumeric/focal 1.12.46-1ubuntu2 amd64 gir1.2-goa-1.0/focal,now 3.36.0-1ubuntu1 amd64 [installed] gir1.2-goa-1.0/focal 3.36.0-1ubuntu1 i386 gir1.2-goffice-0.10/focal 0.10.46-1 amd64 gir1.2-gom-1.0/focal 0.4-1 amd64 gir1.2-goocanvas-2.0/focal 2.0.4-1 amd64 gir1.2-govirt-1.0/focal 0.3.4-3.1 amd64 gir1.2-gpaste-1.0/focal 3.36.3-1 amd64 gir1.2-granite-1.0/focal 5.3.0-1 amd64 gir1.2-graphene-1.0/focal,now 1.10.0-1build2 amd64 [installed,automatic] gir1.2-graphene-1.0/focal 1.10.0-1build2 i386 gir1.2-grilo-0.3/focal 0.3.12-1 amd64 gir1.2-grss-0.7/focal 0.7.0-2 amd64 gir1.2-gsf-1/focal 1.14.46-1 amd64 gir1.2-gsound-1.0/focal 1.0.2-4 amd64 gir1.2-gspell-1/focal 1.8.3-1 amd64 gir1.2-gspell-1/focal 1.8.3-1 i386 gir1.2-gssdp-1.2/focal-updates,focal-security 1.2.3-0ubuntu0.20.04.1 amd64 gir1.2-gssdp-1.2/focal-updates,focal-security 1.2.3-0ubuntu0.20.04.1 i386 gir1.2-gst-plugins-bad-1.0/focal 1.16.2-2.1ubuntu1 amd64 gir1.2-gst-plugins-bad-1.0/focal 1.16.2-2.1ubuntu1 i386 gir1.2-gst-plugins-base-1.0/focal,now 1.16.2-4 amd64 [installed] gir1.2-gst-plugins-base-1.0/focal 1.16.2-4 i386 gir1.2-gst-rtsp-server-1.0/focal 1.16.2-3 amd64 gir1.2-gstreamer-1.0/focal,now 1.16.2-2 amd64 [installed] gir1.2-gstreamer-1.0/focal 1.16.2-2 i386 gir1.2-gtd-1.0/focal 3.28.1-5 amd64 gir1.2-gtk-2.0/focal 2.24.32-4ubuntu4 amd64 gir1.2-gtk-2.0/focal 2.24.32-4ubuntu4 i386 gir1.2-gtk-3.0/focal-updates,now 3.24.20-0ubuntu1 amd64 [installed] gir1.2-gtk-3.0/focal-updates 3.24.20-0ubuntu1 i386 gir1.2-gtk-vnc-2.0/focal 1.0.0-1build1 amd64 gir1.2-gtkchamplain-0.12/focal 0.12.20-1 amd64 gir1.2-gtkclutter-1.0/focal 1.8.4-4 amd64 gir1.2-gtklayershell-0.1/focal 0.1.0-3 amd64 gir1.2-gtksource-3.0/focal,now 3.24.11-2 amd64 [installed] gir1.2-gtksource-4/focal,now 4.6.0-1 amd64 [installed,automatic] gir1.2-gtksource-4/focal 4.6.0-1 i386 gir1.2-gtkspell3-3.0/focal 3.0.10-1 amd64 gir1.2-gtop-2.0/focal 2.40.0-2 amd64 gir1.2-gucharmap-2.90/focal 1:13.0.1-1 amd64 gir1.2-gudev-1.0/focal,now 1:233-1 amd64 [installed] gir1.2-gudev-1.0/focal 1:233-1 i386 gir1.2-guestfs-1.0/focal 1:1.40.2-7ubuntu5 amd64 gir1.2-gupnp-1.2/focal-updates,focal-security 1.2.3-0ubuntu0.20.04.1 amd64 gir1.2-gupnp-1.2/focal-updates,focal-security 1.2.3-0ubuntu0.20.04.1 i386 gir1.2-gupnp-av-1.0/focal 0.12.11-2 amd64 gir1.2-gupnpdlna-2.0/focal 0.10.5-4 amd64 gir1.2-gupnpigd-1.0/focal 0.2.5-5 amd64 gir1.2-gupnpigd-1.0/focal 0.2.5-5 i386 gir1.2-gusb-1.0/focal 0.3.4-0.1 amd64 gir1.2-gusb-1.0/focal 0.3.4-0.1 i386 gir1.2-gweather-3.0/focal-updates,now 3.36.1-1~ubuntu20.04.1 amd64 [installed] gir1.2-gweather-3.0/focal-updates 3.36.1-1~ubuntu20.04.1 i386 gir1.2-gxps-0.1/focal 0.3.1-1 amd64 gir1.2-handy-0.0/focal 0.0.13-1 amd64 gir1.2-harfbuzz-0.0/focal 2.6.4-1ubuntu4 amd64 gir1.2-harfbuzz-0.0/focal 2.6.4-1ubuntu4 i386 gir1.2-hinawa-2.0/focal 1.4.4-1 amd64 gir1.2-hkl-5.0/focal 5.0.0.2569-1build1 amd64 gir1.2-hud-2/focal 14.10+17.10.20170619-0ubuntu3.1 amd64 gir1.2-hud-client-2/focal 14.10+17.10.20170619-0ubuntu3.1 amd64 gir1.2-ibus-1.0/focal-updates,now 1.5.22-2ubuntu2.1 amd64 [installed] gir1.2-ibus-1.0/focal-updates 1.5.22-2ubuntu2.1 i386 gir1.2-ical-3.0/focal 3.0.8-1 amd64 gir1.2-ical-3.0/focal 3.0.8-1 i386 gir1.2-ido3-0.1/focal 13.10.0+17.04.20161028-0ubuntu2 amd64 gir1.2-inputpad-1.0/focal 1.0.3-4 amd64 gir1.2-isocodes-1.2/focal 1.2.2-2 amd64 gir1.2-itl-1.0/focal 0.3-1 amd64 gir1.2-javascriptcoregtk-4.0/focal-updates,focal-security,now 2.30.5-0ubuntu0.20.04.1 amd64 [installed] gir1.2-javascriptcoregtk-4.0/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386 gir1.2-jcat-1.0/focal 0.1.0-2 amd64 gir1.2-json-1.0/focal,now 1.4.4-2ubuntu2 amd64 [installed] gir1.2-json-1.0/focal 1.4.4-2ubuntu2 i386 gir1.2-jsonrpc-1.0/focal 3.34.0-1 amd64 gir1.2-keybinder-0.0/focal 0.3.1-2ubuntu1 amd64 gir1.2-keybinder-3.0/focal 0.3.2-1ubuntu1 amd64 gir1.2-kkc-1.0/focal 0.3.5-7build1 amd64 gir1.2-langtag-0.6/focal 0.6.3-1 amd64 gir1.2-libinsane-1.0/focal 1.0.3-1 amd64 gir1.2-libmsi-1.0/focal 0.100-1 amd64 gir1.2-libosinfo-1.0/focal 1.7.1-1 amd64 gir1.2-libvirt-glib-1.0/focal 3.0.0-1 amd64 gir1.2-libvirt-sandbox-1.0/focal 0.5.1+git20160404-1ubuntu2 amd64 gir1.2-lightdm-1/focal 1.30.0-0ubuntu3.1 amd64 gir1.2-lokdocview-0.1/focal-updates 1:6.4.6-0ubuntu0.20.04.1 amd64 gir1.2-lunar-date-2.0/focal 2.4.0-5 amd64 gir1.2-maliit-1.0/focal,focal 0.99.1+git20151118+62bd54b-0ubuntu26 all gir1.2-manette-0.2/focal 0.2.3-1 amd64 gir1.2-mate-desktop/focal 1.24.0-2 amd64 gir1.2-mate-menu/focal 1.24.0-1 amd64 gir1.2-mate-panel/focal 1.24.0-2 amd64 gir1.2-matedesktop-2.0/focal 1.24.0-2 amd64 gir1.2-matekbd-1.0/focal 1.24.0-1 amd64 gir1.2-matekbd/focal 1.24.0-1 amd64 gir1.2-matemenu-2.0/focal 1.24.0-1 amd64 gir1.2-matepanelapplet-4.0/focal 1.24.0-2 amd64 gir1.2-mediaart-2.0/focal 1.9.4-2 amd64 gir1.2-messagingmenu-1.0/focal 13.10.1+18.10.20180918-0ubuntu2 amd64 gir1.2-meta-muffin-0.0/focal-updates 4.4.3-1ubuntu0.1 amd64 gir1.2-modemmanager-1.0/focal 1.12.8-1 amd64 gir1.2-modemmanager-1.0/focal 1.12.8-1 i386 gir1.2-mutter-2/now 3.28.4-0ubuntu18.04.2 amd64 [installed,local] gir1.2-mutter-6/focal-updates,now 3.36.7+git20201123-0.20.04.1 amd64 [installed,automatic] gir1.2-mypaint-1.5/focal 1.5.1-1 amd64 gir1.2-nautilus-3.0/focal-updates 1:3.36.3-0ubuntu1 amd64 gir1.2-nemo-3.0/focal 4.4.2-2 amd64 gir1.2-nice-0.1/focal 0.1.16-1 amd64 gir1.2-nice-0.1/focal 0.1.16-1 i386 gir1.2-nm-1.0/focal-updates,now 1.22.10-1ubuntu2.2 amd64 [installed] gir1.2-nm-1.0/focal-updates 1.22.10-1ubuntu2.2 i386 gir1.2-nma-1.0/focal-updates,now 1.8.24-1ubuntu3 amd64 [installed] gir1.2-notify-0.7/focal,now 0.7.9-1ubuntu2 amd64 [installed] gir1.2-notify-0.7/focal 0.7.9-1ubuntu2 i386 gir1.2-osmgpsmap-1.0/focal 1.1.0-6 amd64 gir1.2-ostree-1.0/focal 2020.3-1 amd64 gir1.2-packagekitglib-1.0/focal-updates,focal-security,now 1.1.13-2ubuntu1.1 amd64 [installed] gir1.2-pango-1.0/focal,now 1.44.7-2ubuntu4 amd64 [installed] gir1.2-pango-1.0/focal 1.44.7-2ubuntu4 i386 gir1.2-parlatype-2.0/focal 1.6.2-1 amd64 gir1.2-peas-1.0/focal,now 1.26.0-2 amd64 [installed] gir1.2-peas-1.0/focal 1.26.0-2 i386 gir1.2-playerctl-2.0/focal 2.0.2-1 amd64 gir1.2-pluma-1.0/focal 1.24.0-1 amd64 gir1.2-polkit-1.0/focal,now 0.105-26ubuntu1 amd64 [installed] gir1.2-polkit-1.0/focal 0.105-26ubuntu1 i386 gir1.2-poppler-0.18/focal 0.86.1-0ubuntu1 amd64 gir1.2-poppler-0.18/focal 0.86.1-0ubuntu1 i386 gir1.2-rb-3.0/focal,now 3.4.4-1ubuntu2 amd64 [installed] gir1.2-rda-1.0/focal 0.0.5-1 amd64 gir1.2-rest-0.7/focal 0.8.1-1 amd64 gir1.2-rest-0.7/focal 0.8.1-1 i386 gir1.2-restextras-0.7/focal 0.8.1-1 amd64 gir1.2-restextras-0.7/focal 0.8.1-1 i386 gir1.2-retro-0.14/focal 0.18.1-1 amd64 gir1.2-rsvg-2.0/focal-updates,now 2.48.9-1ubuntu0.20.04.1 amd64 [installed] gir1.2-rsvg-2.0/focal-updates 2.48.9-1ubuntu0.20.04.1 i386 gir1.2-secret-1/focal-updates,now 0.20.3-0ubuntu1 amd64 [installed] gir1.2-secret-1/focal-updates 0.20.3-0ubuntu1 i386 gir1.2-signon-1.0/focal 1.14+17.04.20161117-0ubuntu5 amd64 gir1.2-skk-1.0/focal 1.0.5-1 amd64 gir1.2-snapd-1/focal-updates,now 1.58-0ubuntu0.20.04.0 amd64 [installed] gir1.2-snapd-1/focal-updates 1.58-0ubuntu0.20.04.0 i386 gir1.2-soup-2.4/focal,now 2.70.0-1 amd64 [installed] gir1.2-soup-2.4/focal 2.70.0-1 i386 gir1.2-spiceclientglib-2.0/focal 0.37-2fakesync1 amd64 gir1.2-spiceclientgtk-3.0/focal 0.37-2fakesync1 amd64 gir1.2-sugarext-1.0/focal 0.117-1 amd64 gir1.2-telepathyglib-0.12/focal 0.24.1-2ubuntu1 amd64 gir1.2-telepathylogger-0.2/focal 0.8.2-4 amd64 gir1.2-template-1.0/focal 3.34.0-1 amd64 gir1.2-tepl-4/focal 4.4.0-1 amd64 gir1.2-tepl-4/focal 4.4.0-1 i386 gir1.2-timezonemap-1.0/focal 0.4.6-2 amd64 gir1.2-totem-1.0/focal,now 3.34.1-2ubuntu2 amd64 [installed] gir1.2-totemplparser-1.0/focal,now 3.26.5-1ubuntu1 amd64 [installed] gir1.2-tracker-2.0/focal-updates 2.3.6-0ubuntu1 amd64 gir1.2-ubuntu-app-launch-3/focal 0.12+17.04.20170404.2-0ubuntu6 amd64 gir1.2-udisks-2.0/focal,now 2.8.4-1ubuntu1 amd64 [installed] gir1.2-udisks-2.0/focal 2.8.4-1ubuntu1 i386 gir1.2-ufo-0.0/focal 0.15.1-3build1 amd64 gir1.2-uhm-0.0/focal 0.5.0-1build1 amd64 gir1.2-uhm-0.0/focal 0.5.0-1build1 i386 gir1.2-ukuimenu-2.0/focal 1.1.4-1build1 amd64 gir1.2-ukwm-1/focal 1.2.0-1 amd64 gir1.2-umockdev-1.0/focal-updates 0.14.1-1ubuntu0.1 amd64 gir1.2-umockdev-1.0/focal-updates 0.14.1-1ubuntu0.1 i386 gir1.2-unity-5.0/focal,now 7.1.4+19.04.20190319-0ubuntu3 amd64 [installed] gir1.2-upowerglib-1.0/focal,now 0.99.11-1build2 amd64 [installed] gir1.2-upowerglib-1.0/focal 0.99.11-1build2 i386 gir1.2-urfkill-glib0/focal 0.6.0~20150318.103828.5539c0d.1-0ubuntu6 amd64 gir1.2-v-sim-1.0/focal 3.7.2-8build1 amd64 gir1.2-vips-8.0/focal 8.9.1-2 amd64 gir1.2-vte-2.91/focal-updates,now 0.60.3-0ubuntu1~20.04 amd64 [installed] gir1.2-webkit2-4.0/focal-updates,focal-security,now 2.30.5-0ubuntu0.20.04.1 amd64 [installed] gir1.2-webkit2-4.0/focal-updates,focal-security 2.30.5-0ubuntu0.20.04.1 i386 gir1.2-wnck-1.0/focal 1:2.30.7-5.1ubuntu1 amd64 gir1.2-wnck-3.0/focal,now 3.36.0-1 amd64 [installed] gir1.2-wnck-3.0/focal 3.36.0-1 i386 gir1.2-xapp-1.0/focal 1.6.10-2 amd64 gir1.2-xkl-1.0/focal 5.4-4 amd64 gir1.2-xmlb-1.0/focal 0.1.15-2 amd64 gir1.2-zeitgeist-2.0/focal 1.0.2-3ubuntu2 amd64 gir1.2-zpj-0.0/focal 0.0.3-5 amd64

Stevy64 commented 3 years ago

Thank you @r0x0r for the response 👍 !

Indeed you seem to be using the version 2.30.5 of the packages listed above in my first comment. You will probably encounter the issue if you update these packages to 2.32.0 as the bug occurs in the newer version.

This said, covering the version 2.32.0 and above of these packages could solve the issue. Hope you'll find time for that ^^

Best regards.

r0x0r commented 3 years ago

@Stevy64 You are right. After updating GTK dependencies, I can reproduce this issue. GTK JS API implementation is rather hacky, as it uses passing data to document.title for communicating with Python. I came up with this solution years ago, as there was nothing better available. I don't know if the situation got any better, but this would be an apt moment to investigate this. Input welcomed.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 3 years ago

The message to post on the issue when closing it. If none provided, will not comment when closing an issue.