efck-chat-keyboard / efck

Emoji filter / Unicode chat keyboard
https://efck-chat-keyboard.github.io
GNU Affero General Public License v3.0
22 stars 2 forks source link

Nightly builds DEB crashes #14

Open ghost opened 1 year ago

ghost commented 1 year ago

Describe the bug Nightly builds DEB crashes on Linux:

$ efck-chat-keyboard
Traceback (most recent call last):
  File "/usr/bin/efck-chat-keyboard", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pynput' distribution was not found and is required by efck

To Reproduce Steps to reproduce the behavior:

  1. Install DEB from Actions: https://github.com/efck-chat-keyboard/efck/actions/runs/3791186441#artifacts
  2. Try to launch it

Expected behavior App should launch as expected.

Versions Specify versions: OS: Linux (Debian 11) Qt: 5.15.2 EFCK: efck-chat-keyboard_0.1.dev1+g83ce525-1_all.deb

Additional context, screenshots Add any other context about the problem here. If applicable, add screenshots to help explain your problem.

ghost commented 1 year ago

So, DEB missed python3-pynput dependency.

BTW, If install python3-pynput manually it launches, BUT if try to click on emoji there is another issue which results in crash:

$ efck-chat-keyboard
Failed to import pyqt6: ModuleNotFoundError: No module named 'PyQt6'
Failed to import pyside6: ModuleNotFoundError: No module named 'PySide6'
/usr/share/themes/Greybird-dark-mx/gtk-2.0/apps/xfce-panel.rc:7: error: unexpected keyword 'bg', expected string constant

So, there is issue breaking non solvable issue dependency on Qt6 (PyQt6, PySide6), because stable Ubuntu & Debian supports only Qt5.

kernc commented 1 year ago

I pushed a fix for the missing Debian deps.

Don't know about that crash. Our Debian package is "ok" with pyqt5 ... :confused: https://github.com/efck-chat-keyboard/efck/blob/096a7b6cc4004911c06337fa736a25ac67e1e628/packaging/debian/control#L20-L22

Ensure you're running the correct executable and try to run with --debug for extra output:

$ which efck-chat-keyboard   # Should NOT point to python venv for Debian package

$ efck-chat-keyboard --debug
...
ghost commented 1 year ago

I pushed a fix for the missing Debian deps.

As it is not merged in main branch yet, there is no DEB for testing.

kernc commented 1 year ago

Ah, well, there are usually artifacts on any PR Checks page (see top right). :upside_down_face:

ghost commented 1 year ago

Just installed efck-chat-keyboard_0.1.dev1+g9520bff-1_all.deb:

kernc commented 1 year ago

Many thanks! Every foreign platform test helps a lot!

  • It launches, but still shows in terminal next warnings:

    $ efck-chat-keyboard
    Failed to import pyqt6: ModuleNotFoundError: No module named 'PyQt6'
    Failed to import pyside6: ModuleNotFoundError: No module named 'PySide6'
    /usr/share/themes/Greybird-dark-mx/gtk-2.0/apps/xfce-panel.rc:7: error: unexpected keyword 'bg', expected string constant

    Those are just warnings. I think it's ok to warn since Qt6 (in that order) is the preferred lib. Also seems like your Greybird-dark-mx theme contains (according to Gtk) a bug on line 7.

  • It does not minimized into tray (as expected according Some questions and feature ideas #5 (comment))

Indeed, I thought maybe ICBA with a tray icon / menu (😅), so I just made the app hide/close to background and respond to the configured hotkey.

  • It does not input emoji into text input fields - it just silently closes on double clicking on emoji.

    NOTE: Stable 1.0 inputs emoji in same time.

This is very odd, since the code to hide the app and typeout the emoji had not changed (expand the region above the targeted region to see it). It works for me on X11. Can you confirm the behavior is consistent and not just a case of https://github.com/efck-chat-keyboard/efck/issues/2 or some such? Maybe this is the buggy line. :thinking:

ghost commented 1 year ago

Can you confirm the behavior is consistent

I will try to reproduce & record screencast.

Indeed, I thought maybe ICBA with a tray icon / menu (sweat_smile), so I just made the app hide/close to background and respond to the configured hotkey.

Icon in tray should be shown while app is in background.

Also seems like your Greybird-dark-mx theme contains (according to Gtk) a bug on line 7.

I'm not sure where is a bug, as never seen such output with other apps on my system ("Greybird-dark-mx" is default MX Linux MX-21 theme, and I not touching it):

Greybird-dark-mx's `xfce-panel.rc` ``` style "theme-panel" = "dark" { xthickness = 1 ythickness = 1 bg[NORMAL] = #393F3F bg[ACTIVE] = #393F3F bg[PRELIGHT] = shade (0.85, @selected_bg_color) bg[SELECTED] = @selected_bg_color fg[NORMAL] = shade (0.9, @base_color) fg[PRELIGHT] = @base_color fg[ACTIVE] = shade (0.9, @base_color) fg[SELECTED] = shade (0.9, @base_color) text[NORMAL] = shade (0.9, @base_color) text[PRELIGHT] = @base_color text[ACTIVE] = shade (0.9, @base_color) text[SELECTED] = shade (0.9, @base_color) engine "murrine" { roundness = 0 glowstyle = 0 glazestyle = 0 textstyle = 1 text_shade = 0.2 } } style "theme-panel-text" { fg[NORMAL] = @base_color fg[PRELIGHT] = "#ffffff" fg[ACTIVE] = @base_color text[NORMAL] = @base_color text[PRELIGHT] = "#ffffff" text[ACTIVE] = @base_color engine "murrine" { textstyle = 1 text_shade = 0.2 } } style "panel-entry" = "dark" { fg[NORMAL] = @text_color fg[PRELIGHT] = @text_color fg[ACTIVE] = @text_color fg[SELECTED] = @text_color fg[INSENSITIVE] = @text_color text[NORMAL] = @text_color text[PRELIGHT] = @text_color text[ACTIVE] = @text_color text[SELECTED] = @text_color text[INSENSITIVE] = @text_color } style "theme-main-menu-text" = "theme-panel-text" { fg[PRELIGHT] = "#ffffff" text[PRELIGHT] = "#ffffff" } style "workspace-switcher" = "theme-panel" { bg[ACTIVE] = shade (0.8, @selected_bg_color) bg[SELECTED] = shade (0.8, @selected_bg_color) } style "window-buttons" = "theme-panel" { xthickness = 3 ythickness = 3 bg[ACTIVE] = shade (0.65, @selected_bg_color) bg[PRELIGHT] = shade (0.85, @selected_bg_color) bg[SELECTED] = shade (0.85, @selected_bg_color) fg[NORMAL] = shade (0.7, @base_color) fg[ACTIVE] = @base_color fg[PRELIGHT] = @base_color engine "murrine" { contrast = 0.0 gradient_shades = { 1.0, 0.9, 0.8, 0.7 } roundness = 1 reliefstyle = 0 textstyle = 1 text_shade = 0.2 } } style "indicator" = "theme-panel" { xthickness = 0 ythickness = 0 } widget "*PanelWidget*" style "theme-panel" widget "*PanelApplet*" style "theme-panel" widget "*fast-user-switch*" style "theme-panel" widget "*CPUFreq*Applet*" style "theme-panel" widget "*TopMenu*" style "theme-panel" class "PanelApp*" style "theme-panel" class "PanelToplevel*" style "theme-panel" widget_class "*PanelToplevel*" style "theme-panel" widget_class "*notif*" style "theme-panel" widget_class "*Notif*" style "theme-panel" widget_class "*Tray*" style "theme-panel" widget_class "*tray*" style "theme-panel" widget_class "*computertemp*" style "theme-panel" widget_class "*Applet*Tomboy*" style "theme-panel" widget_class "*Applet*Netstatus*" style "theme-panel" # Fixes for tooltip text in some apps. widget_class "*Notif*Beagle*" style "theme-panel" widget_class "*Notif*Brasero*" style "theme-panel" # XFCE panel theming. widget "*Xfce*Panel*" style "theme-panel" class "*Xfce*Panel*" style "theme-panel" widget "*WnckPager*" style "workspace-switcher" widget "*PagerButtons*" style "workspace-switcher" # Fix gtk-entries in the panel class "GtkEntry" style "combo" class "*SexyIconEntry*" style:highest "combo" # fixes dict-plugin widget "*xfce4-verve-plugin*GtkEntry" style:highest "combo" # fixes verve-plugin widget "*bookmark*GtkEntry" style "panel-entry" # fixes smartbookmark-plugin # Make sure panel text color doesn't change widget_class "*Panel*MenuBar*" style "theme-main-menu-text" widget_class "*Panel**" style "theme-main-menu-text" widget "*.clock-applet-button.*" style "theme-panel-text" widget "*PanelApplet*" style "theme-panel-text" # Override general panel-style with specific plugin-styles widget "*indicator-applet*" style "indicator" widget "*indicator-button*" style "indicator" widget "*XfceTasklist*" style "window-buttons" ```