X11 GUI does not open anymore

Windows build number:
10.0.22000.0
Your Distribution version:
22.04
Your WSL versions:
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.42
MSRDC version: 1.2.3401
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.978
Steps to reproduce:
Not sure this is reproducible since WSL worked fine just a few days ago. I don't remember changing anything significant.
When launching any X app, the stdout looks like it works fine, but no actual window opens anymore.
Launch xeyes.
Nothing happens:

WSL logs:

stderr.log
dbus[16]: Unknown username "systemd-oom" in message bus configuration file
dbus[16]: Unknown username "pulse" in message bus configuration file
could not load cursor 'grabbing'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
glamor: 'wl_drm' not supported
Missing Wayland requirements for glamor GBM backend
Failed to initialize glamor, falling back to sw
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 569, clipping.
>                   X11 cannot support keycodes above 255.
> Internal error:   Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server

weston.log
Date: 2022-10-10 CEST
[09:50:20.215] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 9.0.0-160-gd57e0de2
[09:50:20.215] Command line: /usr/bin/weston --backend=rdp-backend.so --modules=wslgd-notify.so --xwayland --log=/mnt/wslg/weston.log --socket=wayland-0 --shell=rdprail-shell.so --logger-scopes=log,rdp-backend,rdprail-shell
[09:50:20.215] OS: Linux, <IP_ADDRESS>-microsoft-standard-WSL2, #1 SMP Wed Jul 27 02:20:31 UTC 2022, x86_64
[09:50:20.216] Using config file '/home/wslg/.config/weston.ini'
[09:50:20.217] Output repaint window is 7 ms maximum.
[09:50:20.217] Loading module '/usr/lib/libweston-9/rdp-backend.so'
[09:50:20.226] using FreeRDP version 2.4.0
Date: 2022-10-10 CEST
[09:50:20.226] RDP backend: WESTON_RDP_DEBUG_LEVEL: 3
[09:50:20.226] RDP backend: rdp_monitor_refresh_rate: 60000
[09:50:20.226] RDP backend: timer resolution tv_sec:0 tv_nsec:1
[09:50:20.226] RDP backend: Environment dump - start
[09:50:20.226]   WSL2_DEFAULT_APP_ICON=/usr/share/icons/wsl/linux.png
[09:50:20.226]   SHELL=/bin/bash
[09:50:20.226]   WSL2_GUI_APPS_ENABLED=1
[09:50:20.226]   WSL_DISTRO_NAME=
[09:50:20.226]   WSL2_VM_ID=EC80DE62-C469-4409-93E1-9C3F20BD56F6
[09:50:20.226]   XCURSOR_PATH=/usr/share/icons
[09:50:20.226]   XCURSOR_SIZE=16
[09:50:20.226]   NAME=LOHRM-STABL
[09:50:20.226]   PWD=/home/wslg
[09:50:20.226]   LOGNAME=wslg
[09:50:20.226]   WSL_FEATURE_FLAGS=d
[09:50:20.226]   WSL2_USER_PROFILE=C:\Users\MichaelLohr
[09:50:20.226]   WSL2_DISTRO_NAME=Ubuntu
[09:50:20.226]   _=/usr/bin/weston
[09:50:20.226]   PULSE_AUDIO_RDP_SINK=/mnt/wslg/PulseAudioRDPSink
[09:50:20.226]   HOME=/home/wslg
[09:50:20.226]   WAYLAND_DISPLAY=wayland-0
[09:50:20.226]   USE_VSOCK=3
[09:50:20.226]   WSL2_DEFAULT_APP_OVERLAY_ICON=/usr/share/icons/wsl/linux.png
[09:50:20.226]   USER=wslg
[09:50:20.226]   DISPLAY=:0
[09:50:20.226]   SHLVL=0
[09:50:20.226]   WSLGD_NOTIFY_SOCKET=/mnt/wslg/weston-notify.sock
[09:50:20.226]   XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir
[09:50:20.226]   WSL2_SHARED_MEMORY_OB_DIRECTORY=WSL\EC80DE62-C469-4409-93E1-9C3F20BD56F6\wslg
[09:50:20.226]   XCURSOR_THEME=whiteglass
[09:50:20.226]   PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[09:50:20.226]   WESTON_DISABLE_ABSTRACT_FD=1
[09:50:20.226]   PULSE_AUDIO_RDP_SOURCE=/mnt/wslg/PulseAudioRDPSource
[09:50:20.226]   PULSE_SERVER=/mnt/wslg/PulseServer
[09:50:20.226]   WSL2_INSTALL_PATH=C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe
[09:50:20.226]   WSL2_SHARED_MEMORY_MOUNT_POINT=/mnt/shared_memory
[09:50:20.226]   WESTON_CONFIG_FILE=/home/wslg/.config/weston.ini
[09:50:20.226] RDP backend: Environment dump - end
[09:50:20.226] RDP backend: FreeRDP version: 2.4.0
[09:50:20.226] Using external fd for incoming connections: 3
[09:50:20.226] Default head is being added
[09:50:20.226] Registered plugin API 'weston_rdprail_api_v1' of size 64
[09:50:20.226] RDPAPPLIST_MODULEDIR is set to /usr/lib/rdpapplist
[09:50:20.227] RDP backend: use_rdpapplist = 1
[09:50:20.242] RDP backend: use_gfxredir = 1
[09:50:20.242] RDP backend: enable_hi_dpi_support = 1
[09:50:20.242] RDP backend: enable_fractional_hi_dpi_support = 0
[09:50:20.242] RDP backend: enable_fractional_hi_dpi_roundup = 0
[09:50:20.242] RDP backend: debug_desktop_scaling_factor = 0
[09:50:20.242] RDP backend: enable_window_zorder_sync = 1
[09:50:20.242] RDP backend: enable_window_snap_arrange = 0
[09:50:20.242] RDP backend: enable_window_shadow_remoting = 1
[09:50:20.242] RDP backend: enable_display_power_by_screenupdate = 0
[09:50:20.242] RDP backend: enable_distro_name_title = 1
[09:50:20.242] RDP backend: enable_copy_warning_title = 1
[09:50:20.243] Using VSOCK for incoming connections: 3
[09:50:20.246] Registered plugin API 'weston_rdp_output_api_v1' of size 16
[09:50:20.246] Head attaching: rdp-0, index:0, is_primary: 1
[09:50:20.246] Client desktop upper left coordinate (0,0)
[09:50:20.246] disp_monitor_validate_and_compute_layout:---OUTPUT---
[09:50:20.246]  rdpMonitor[0]: x:0, y:0, width:0, height:0, is_primary:1
[09:50:20.246]  rdpMonitor[0]: weston x:0, y:0, width:0, height:0
[09:50:20.246]  rdpMonitor[0]: physicalWidth:0, physicalHeight:0, orientation:0
[09:50:20.246]  rdpMonitor[0]: desktopScaleFactor:0, deviceScaleFactor:0
[09:50:20.246]  rdpMonitor[0]: scale:1, clientScale:1.00
[09:50:20.246] Head mode change:rdp-0 NEW width:0, height:0, scale:1, clientScale:1.000000
[09:50:20.246] move head/output rdp-0 (0,0) -> (0,0)
[09:50:20.246] client origin (0,0) is (0,0) in Weston space
[09:50:20.246] Output 'rdp-0' enabled with head(s) rdp-0
[09:50:20.246] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: no
               presentation clock: CLOCK_MONOTONIC_RAW, id 4
               presentation clock resolution: 0.000000001 s
[09:50:20.247] Loading module '/usr/lib/weston/rdprail-shell.so'
[09:50:20.248] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_DEBUG_LEVEL: 3.
Date: 2022-10-10 CEST
[09:50:20.248] RDPRAIL-shell: allow-zap:0
[09:50:20.248] RDPRAIL-shell: binding-modifier:none
[09:50:20.248] RDPRAIL-shell: local-move:0
[09:50:20.248] RDPRAIL-shell: distro name:Ubuntu (len:6)
[09:50:20.250] RDPRAIL-shell: WSL2_DEFAULT_APP_ICON:/usr/share/icons/wsl/linux.png (loaded:yes)
[09:50:20.251] RDPRAIL-shell: WSL2_DEFAULT_APP_OVERLAY_ICON:/usr/share/icons/wsl/linux.png (loaded:yes)
[09:50:20.251] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_APPEND_DISTRONAME_STARTMEN:1
[09:50:20.251] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_BLEND_OVERLAY_ICON_APPLIST:1
[09:50:20.251] RDPRAIL-shell: WESTON_RDPRAIL_SHELL_BLEND_OVERLAY_ICON_TASKBAR:1
[09:50:20.251] rdp_rail_shell_initialize_notify: shell: distro name: Ubuntu
[09:50:20.252] app_list_monitor_thread: running in system-distro with user-distro: Ubuntu
[09:50:20.252] app_list_monitor_thread: open(/proc/self/ns/mnt)
[09:50:20.252] app_list_monitor_thread: open(/proc/2/ns/mnt)
[09:50:20.252] Loading module '/usr/lib/libweston-9/xwayland.so'
[09:50:20.253] app_list_monitor_thread: inotify_add_watch(/usr/share/applications)
[09:50:20.255] app_list_monitor_thread: /usr/local/share/applications doesn't exist, skipping.
[09:50:20.255] app list folder[0]: /usr/share/applications
[09:50:20.255] desktop file: /usr/share/applications/io.snapcraft.SessionAgent.desktop has NoDisplay specified
[09:50:20.255] app list entry failed to update: Key:SessionAgent
[09:50:20.255] free_app_entry(): (null): /usr/share/applications/io.snapcraft.SessionAgent.desktop
[09:50:20.256] Registered plugin API 'weston_xwayland_v1' of size 32
[09:50:20.256] Registered plugin API 'weston_xwayland_surface_v1' of size 48
[09:50:20.256] Not using abstract fd for Xwayland
[09:50:20.256] xserver listening on display :0
[09:50:20.256] Loading module '/usr/lib/weston/wslgd-notify.so'
[09:50:20.256] ../compositor/wslgd-notify.c: socket connected
[09:50:20.256] launching '/usr/libexec/weston-rdprail-shell'
[09:50:20.256] desktop file: /usr/share/applications/byobu.desktop is terminal based app
[09:50:20.256] app list entry failed to update: Key:byobu
[09:50:20.256] free_app_entry(): (null): /usr/share/applications/byobu.desktop
[09:50:20.257] desktop file: /usr/share/applications/python3.10.desktop has NoDisplay specified
[09:50:20.257] app list entry failed to update: Key:10
[09:50:20.257] free_app_entry(): (null): /usr/share/applications/python3.10.desktop
[09:50:20.258] desktop file: /usr/share/applications/htop.desktop is terminal based app
[09:50:20.258] app list entry failed to update: Key:htop
[09:50:20.258] free_app_entry(): (null): /usr/share/applications/htop.desktop
[09:50:20.258] desktop file: /usr/share/applications/snap-handle-link.desktop has NoDisplay specified
[09:50:20.258] app list entry failed to update: Key:snap-handle-link
[09:50:20.258] free_app_entry(): (null): /usr/share/applications/snap-handle-link.desktop
[09:50:20.258] desktop file: /usr/share/applications/info.desktop is terminal based app
[09:50:20.258] app list entry failed to update: Key:info
[09:50:20.258] free_app_entry(): (null): /usr/share/applications/info.desktop
[09:50:20.259] desktop file: /usr/share/applications/vim.desktop is terminal based app
[09:50:20.259] app list entry failed to update: Key:vim
[09:50:20.259] free_app_entry(): (null): /usr/share/applications/vim.desktop
[09:50:20.259] app list folder[1]: /usr/local/share/applications
[09:50:20.284] CreateWndow(): rdp_peer is not initalized
[09:50:20.320] Spawned Xwayland server, pid 23
[09:50:20.725] xf_peer_adjust_monitor_layout:
[09:50:20.725]   DesktopWidth:1920, DesktopHeight:1200
[09:50:20.725]   UseMultimon:0
[09:50:20.725]   ForceMultimon:0
[09:50:20.725]   MonitorCount:2
[09:50:20.725]   HasMonitorAttributes:1
[09:50:20.725]   HiDefRemoteApp:1
[09:50:20.725] disp_monitor_sanity_check_layout:---INPUT---
[09:50:20.725]  rdpMonitor[0]: x:0, y:0, width:1920, height:1200, is_primary:1
[09:50:20.725]  rdpMonitor[0]: physicalWidth:336, physicalHeight:210, orientation:0
[09:50:20.725]  rdpMonitor[0]: desktopScaleFactor:100, deviceScaleFactor:100
[09:50:20.725]  rdpMonitor[0]: scale:1, client scale :1.00
[09:50:20.725]  rdpMonitor[1]: x:1920, y:-95, width:3440, height:1440, is_primary:0
[09:50:20.725]  rdpMonitor[1]: physicalWidth:795, physicalHeight:334, orientation:0
[09:50:20.725]  rdpMonitor[1]: desktopScaleFactor:100, deviceScaleFactor:100
[09:50:20.725]  rdpMonitor[1]: scale:1, client scale :1.00
[09:50:20.850] Client: ClientStatus:0x3f5
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_ZORDER_SYNC
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_WINDOW_RESIZE_MARGIN_SUPPORTED
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_HIGH_DPI_ICONS_SUPPORTED
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_APPBAR_REMOTING_SUPPORTED
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_POWER_DISPLAY_REQUEST_SUPPORTED
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_GET_APPID_RESPONSE_EX_SUPPORTED
[09:50:20.850]      - TS_RAIL_CLIENTSTATUS_BIDIRECTIONAL_CLOAK_SUPPORTED
[09:50:20.850] Client HandShake buildNumber:22000
[09:50:20.861] Server AppList caps version:3
[09:50:20.882] Client: gfxredir_caps: length:28
[09:50:20.882] Client: gfxredir_caps[0]: signature:0x53504143
[09:50:20.882] Client: gfxredir_caps[0]: version:0x1
[09:50:20.882] Client: gfxredir_caps[0]: length:12
[09:50:20.882] Client: gfxredir_caps[1]: signature:0x53504143
[09:50:20.882] Client: GrfxCaps count:0x9
[09:50:20.882] Client: GrfxCaps[0] version:0x80004 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_8
[09:50:20.882] Client: GrfxCaps[1] version:0x80105 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_81
[09:50:20.882] Client: gfxredir_caps[1]: version:0x2000
[09:50:20.882] Client: GrfxCaps[2] version:0xa0002 length:4 flags:0x0
[09:50:20.882] Client: gfxredir_caps[1]: length:16
[09:50:20.882]  Version : RDPGFX_CAPVERSION_10
[09:50:20.882] Client: gfxredir_caps[1]: supportedFeatures:0x0
[09:50:20.882] Client: gfxredir selected caps: version:0x2000
[09:50:20.882] Client: GrfxCaps[3] version:0xa0200 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_102
[09:50:20.882] Client: GrfxCaps[4] version:0xa0301 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_103
[09:50:20.882] Client: GrfxCaps[5] version:0xa0400 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_104
[09:50:20.882] Client: GrfxCaps[6] version:0xa0502 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_105
[09:50:20.882] Client: GrfxCaps[7] version:0xa0600 length:4 flags:0x0
[09:50:20.882]  Version : RDPGFX_CAPVERSION_106
[09:50:20.882] Client: GrfxCaps[8] version:0xb0101 length:4 flags:0x0
[09:50:20.882]  Version : UNKNOWN(721153)
[09:50:20.892] xf_peer_adjust_monitor_layout:
[09:50:20.892]   DesktopWidth:1920, DesktopHeight:1200
[09:50:20.892]   UseMultimon:0
[09:50:20.892]   ForceMultimon:0
[09:50:20.892]   MonitorCount:2
[09:50:20.892]   HasMonitorAttributes:1
[09:50:20.892]   HiDefRemoteApp:1
[09:50:20.892] disp_monitor_sanity_check_layout:---INPUT---
[09:50:20.892]  rdpMonitor[0]: x:0, y:0, width:1920, height:1200, is_primary:1
[09:50:20.892]  rdpMonitor[0]: physicalWidth:336, physicalHeight:210, orientation:0
[09:50:20.892]  rdpMonitor[0]: desktopScaleFactor:100, deviceScaleFactor:100
[09:50:20.892]  rdpMonitor[0]: scale:1, client scale :1.00
[09:50:20.892]  rdpMonitor[1]: x:1920, y:-95, width:3440, height:1440, is_primary:0
[09:50:20.892]  rdpMonitor[1]: physicalWidth:795, physicalHeight:334, orientation:0
[09:50:20.892]  rdpMonitor[1]: desktopScaleFactor:100, deviceScaleFactor:100
[09:50:20.892]  rdpMonitor[1]: scale:1, client scale :1.00
[09:50:20.892] kbd_layout:0x20409 kbd_type:0x4 kbd_subType:0x0 kbd_functionKeys:0xc
[09:50:20.892] convert_rdp_keyboard_to_xkb_rule_names: matching model=pc105 layout=us variant=intl options=(null)
[09:50:20.896] Head attaching: rdp-2, index:2, is_primary: 0
[09:50:20.896] Client desktop upper left coordinate (0,-95)
[09:50:20.896]  All monitors are horizontally placed
[09:50:20.896] disp_monitor_validate_and_compute_layout:---OUTPUT---
[09:50:20.896]  rdpMonitor[0]: x:0, y:0, width:1920, height:1200, is_primary:1
[09:50:20.896]  rdpMonitor[0]: weston x:0, y:95, width:1920, height:1200
[09:50:20.896]  rdpMonitor[0]: physicalWidth:336, physicalHeight:210, orientation:0
[09:50:20.896]  rdpMonitor[0]: desktopScaleFactor:0, deviceScaleFactor:100
[09:50:20.896]  rdpMonitor[0]: scale:1, clientScale:1.00
[09:50:20.896]  rdpMonitor[1]: x:1920, y:-95, width:3440, height:1440, is_primary:0
[09:50:20.896]  rdpMonitor[1]: weston x:1920, y:0, width:3440, height:1440
[09:50:20.896]  rdpMonitor[1]: physicalWidth:795, physicalHeight:334, orientation:0
[09:50:20.896]  rdpMonitor[1]: desktopScaleFactor:0, deviceScaleFactor:100
[09:50:20.896]  rdpMonitor[1]: scale:1, clientScale:1.00
[09:50:20.896] Head mode change:rdp-0 NEW width:1920, height:1200, scale:1, clientScale:1.000000
[09:50:20.896] move head/output rdp-0 (0,0) -> (0,95)
[09:50:20.896] Head mode change:rdp-2 NEW width:3440, height:1440, scale:1, clientScale:1.000000
[09:50:20.896] move head/output rdp-2 (0,0) -> (1920,0)
[09:50:20.896] client origin (0,0) is (0,95) in Weston space
[09:50:20.896] Output 'rdp-2' enabled with head(s) rdp-2
[09:50:20.896] Client ExecOrder:0x00000008, Program:dummy-entry, WorkingDir:(null), RemoteApplicationArguments:(null)
[09:50:20.896] Client ExecOrder launching dummy-entry
[09:50:20.896] launching 'dummy-entry'
[09:50:20.897] Client: ClientSysparam: filterKeys
[09:50:20.897] compositor: executing 'dummy-entry' failed: No such file or directory
[09:50:20.897] Client: ClientSysparam: toggleKeys:62
[09:50:20.897] Client: ClientSysparam: stickyKeys:510
[09:50:20.897] Client: ClientSysparam: caretWidth:1
[09:50:20.897] Client: ClientSysparam: highContrast
[09:50:20.897] Client: ClientSysparam: taskbarPos:(left:0, top:0, right:1920, bottom:40)
[09:50:20.897] Client: ClientSysparam: mouseButtonSwap:0
[09:50:20.897] Client: ClientSysparam: keyboardPref:0
[09:50:20.897] Client: ClientSysparam: dragFullWindows:1
[09:50:20.897] Client: ClientSysparam: keyboardCues:0
[09:50:20.897] Client: ClientSysparam: workArea:(left:1920, top:65481, right:5360, bottom:1345)
[09:50:20.897] Translated workarea:(1920,40)-(5360,1440) at rdp-2:(1920,0)-(5360,1440)
[09:50:20.897] Client: ClientSysparam: workArea:(left:0, top:40, right:1920, bottom:1200)
[09:50:20.897] Translated workarea:(0,135)-(1920,1295) at rdp-0:(0,95)-(1920,1295)
[09:50:20.897] Client AppList caps version:3
[09:50:20.897] Client AppList client language id: en_US
[09:50:20.897] app_list_monitor_thread: startRdpNotifyEvent is signalled. 0 - en_US
[09:50:20.897] Client ExecOrder program terminated
[09:50:20.897] dummy-entry exited with status 255
[09:50:20.898] xfixes version: 5.0
[09:50:20.903] created wm, root 912
[09:50:21.666] Pulse Audio Sink listener socket on /mnt/wslg/PulseAudioRDPSink
[09:50:21.668] Client: ClientSysparam: filterKeys
[09:50:21.668] Client: ClientSysparam: toggleKeys:62
[09:50:21.668] Client: ClientSysparam: stickyKeys:510
[09:50:21.668] Client: ClientSysparam: caretWidth:1
[09:50:21.668] Client: ClientSysparam: highContrast
[09:50:21.668] Client: ClientSysparam: taskbarPos:(left:0, top:0, right:1920, bottom:40)
[09:50:21.668] Client: ClientSysparam: mouseButtonSwap:0
[09:50:21.668] Client: ClientSysparam: keyboardPref:0
[09:50:21.668] Client: ClientSysparam: dragFullWindows:1
[09:50:21.668] Client: ClientSysparam: keyboardCues:0
[09:50:21.668] Client: ClientSysparam: workArea:(left:1920, top:65481, right:5360, bottom:1345)
[09:50:21.668] Translated workarea:(1920,40)-(5360,1440) at rdp-2:(1920,0)-(5360,1440)
[09:50:21.668] Client: ClientSysparam: workArea:(left:0, top:40, right:1920, bottom:1200)
[09:50:21.668] Translated workarea:(0,135)-(1920,1295) at rdp-0:(0,95)-(1920,1295)
[09:50:25.911] RDP Sink version (1 - 1)
[09:55:20.892] rdp_rail_idle_handler is called on peer_ctx:0x5636714cfda0

pulseaudio.log
W: [pulseaudio] authkey.c: Failed to open cookie file '/home/wslg/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key '/home/wslg/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to open cookie file '/home/wslg/.pulse-cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key '/home/wslg/.pulse-cookie': No such file or directory
E: [pulseaudio] module-console-kit.c: GetSessionsForUnixUser() call failed: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files
E: [pulseaudio] module.c: Failed to load module "module-console-kit" (argument: ""): initialization failed.
E: [rdp-sink] module-rdp-sink.c: RDP Sink - Trying to connect to /mnt/wslg/PulseAudioRDPSink
E: [rdp-sink] module-rdp-sink.c: Connected failed
E: [rdp-sink] module-rdp-sink.c: RDP Sink - Trying to connect to /mnt/wslg/PulseAudioRDPSink
E: [rdp-sink] module-rdp-sink.c: RDP Sink - Connected to fd 12

WSL dumps:
Dir /mnt/wslg/dumps is empty
Expected behavior:
An x11 window opens
Actual behavior:
No x11 window opens but the application works fine according to the stdout.
❯ echo $DISPLAY
<IP_ADDRESS>:0.0

Setting $DISPLAY :0 does not work:

No x11 server seems to be running though:
❯ ls /tmp/.X11-unix

Recreating the link also does not change the behaviour:
❯ ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix
ln: replace '/tmp/.X11-unix/.X11-unix'? y
'/tmp/.X11-unix/.X11-unix' -> '/mnt/wslg/.X11-unix'
~ [  (eu-central-1)]⏱ 6s
❯ ls /tmp/.X11-unix
~ [  (eu-central-1)]
❯ xeyes

Please update to WSL 0.70.0 by wsl --update, and check if this is still issue, we have addressed several X connection issues in this release, thanks!

@hideyukn88 I updated my WSL to 0.70.0 and the issue persists:
PS C:\Users\MichaelLohr> wsl.exe --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.45
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.1098

Please reopen this issue

@lohrm-stabl, @virtuluv, thanks for checking with the latest WSL, I reopened the issue, thanks!

you should try this. my X-11 apps don't work too but I found this one. or may be just uninstall Xming and install VcXsrv Windows X Server instead. https://stackoverflow.com/questions/43397162/show-matplotlib-plots-and-other-gui-in-ubuntu-wsl1-wsl2

Hello @Koonarm,
These instructions are related to using GUI without WSLg, which is different from using WSLg.
For WSLg and Windows 11, the DISPLAY variable should be DISPLAY=:0
For external X11 and Windows 10 variable should be DISPLAY=#.#.#.#:0 where #.#.#.# is the IP in /etc/resolv.conf to your host IP. For this, you'll also need an X server like VcXSrv or Xming, X410, etc.
The issue as described is related to WSLg
Regards,
Carlos

For WSLg and Windows 11, the DISPLAY variable should be DISPLAY=:0 For external X11 and Windows 10 variable should be DISPLAY=#.#.#.#:0 where #.#.#.# is the IP in /etc/resolv.conf to your host IP. For this, you'll also need an X server like VcXSrv or Xming, X410, etc.

This is quite interesting. Since mine is set to the host IP (I think, at least it's not 0). But it seems to respond to the app, since it does not throw any connection error, but actually connects to something and runs (but without opening any window).

As I just wanted to send you an image of what happens when forcing the display variable to 0 (which did not work before), it just worked....

So it seems to have fixed itself somehow. I tried it nearly everyday the last week and it didn't work, so that is very weird.

@gmsh, if you manually recreate the link following https://github.com/microsoft/wslg/wiki/Diagnosing-"cannot-open-display"-type-issues-with-WSLg, does it solve? thanks!

@hideyukn88 Thanks for asking.
I did the following steps but it still doesn't work.
➜  ~ sudo rm -r /tmp/.X11-unix
rm: cannot remove '/tmp/.X11-unix': Device or resource busy
➜  ~ mount
none on /mnt/wsl type tmpfs (rw,relatime)
drivers on /usr/lib/wsl/drivers type 9p (ro,nosuid,nodev,noatime,dirsync,aname=drivers;fmask=222;dmask=222,mmap,access=client,msize=65536,trans=fd,rfd=7,wfd=7)
none on /usr/lib/wsl/lib type overlay (rw,relatime,lowerdir=/gpu_lib_packaged:/gpu_lib_inbox,upperdir=/gpu_lib/rw/upper,workdir=/gpu_lib/rw/work)
/dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
none on /mnt/wslg type tmpfs (rw,relatime)
/dev/sdc on /mnt/wslg/distro type ext4 (ro,relatime,discard,errors=remount-ro,data=ordered)
rootfs on /init type rootfs (rw,size=16351428k,nr_inodes=4087857)
none on /dev type devtmpfs (rw,nosuid,relatime,size=16351456k,nr_inodes=4087864,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime,gid=5,mode=620,ptmxmode=000)
none on /run type tmpfs (rw,nosuid,nodev,mode=755)
none on /run/lock type tmpfs (rw,nosuid,nodev,noexec,noatime)
none on /run/shm type tmpfs (rw,nosuid,nodev,noatime)
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,noatime,mode=755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu type cgroup (rw,nosuid,nodev,noexec,relatime,cpu)
cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)cgroup on /sys/fs/cgroup/misc type cgroup (rw,nosuid,nodev,noexec,relatime,misc)none on /mnt/wslg/versions.txt type overlay (rw,relatime,lowerdir=/systemvhd,upperdir=/system/rw/upper,workdir=/system/rw/work)
none on /mnt/wslg/doc type overlay (rw,relatime,lowerdir=/systemvhd,upperdir=/system/rw/upper,workdir=/system/rw/work)
tmpfs on /var/tmp type tmpfs (rw,relatime)
none on /tmp/.X11-unix type tmpfs (rw,relatime)
drvfs on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=262144,trans=virtio)
➜  ~ sudo umount /tmp/.X11-unix
➜  ~ sudo rm -r /tmp/.X11-unix
➜  ~ sudo ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix
➜  ~ cat /mnt/wslg/versions.txt
WSLg ( x86_64 ): 1.0.45+Branch.main.Sha.254cbbc0eb26fe4bf82e9656470ebb5546a84a23Mariner: VERSION="2.0.20220426"
DirectX-Headers:
mesa:
pulseaudio: 2f0f0b8c3872780f15e275fc12899f4564f01bd5
FreeRDP: c574044a10003e50453acb4cf42801c5833fb572
weston: 2270ceb3cf75a03e8b3f073eca2c5dc04b12e504
➜  ~ echo $DISPLAY
:0
➜  ~ ls -la /tmp/.X11-unix
lrwxrwxrwx 1 root root 19 Oct 19 16:30 /tmp/.X11-unix -> /mnt/wslg/.X11-unix
➜  ~ ls -la /tmp/.X11-unix/
total 0
drwxrwxrwx 2 root root  40 Oct 19 16:20 .
drwxrwxrwt 7 root root 280 Oct 19 16:20 ..
➜  ~ xeyes
Error: Can't open display: :0

And here is the weston.log . Thanks!
weston.log

@gmsh, the socket is no longer symlink between /tmp and /mnt/wslg, so manually restore them won't work. Can you do below to write something on /mnt/wslg/.X11-unix, and see if file "foo" is visible from /tmp/.X11-unix as well? this ensure they are mounted at same point, thanks!
 echo foo > /mnt/wslg/.X11-unix/foo
 cat /tmp/.X11-unix/foo
 foo

@hideyukn88 Thanks for the prompt response.
Yep, they are.
➜  ~ echo foo > /mnt/wslg/.X11-unix/foo
➜  ~ cat /tmp/.X11-unix/foo
foo

c:\Windows\System32>wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-22.04           Stopped         2
  Ubuntu                 Stopped         2
  openSUSE-Tumbleweed    Running         2

c:\Windows\System32>wsl --system -d openSUSE-Tumbleweed -u root cat /mnt/wslg/.X11-unix/foo
foo

c:\Windows\System32>wsl --system -d openSUSE-Tumbleweed -u root cat /tmp/.X11-unix/foo
foo

@gmsh, by looking at weston.log from https://github.com/microsoft/wslg/issues/853#issuecomment-1284700850, I noticed below, do you see any core dumps at /mnt/wslg/dumps? thanks!

[16:20:51.445] xserver crashing too fast: 134

@hideyukn88 thanks for the investigation. Here it is.
dump.zip.zip

@gmsh, it looks there is some exception from GPU acceleration modules, would you please disable Display Drivers at Windows's Device Manager (below) and wsl --shutdown, then please try again, thanks!

@hideyukn88 Thanks! It worked after disabling the Display Drivers. But I am afraid I could not disable it for everyday usage.

And here is the driver's information.

@gmsh, thanks for confirming it, if you don't mind, would you please install a bit older version of Intel driver, version <IP_ADDRESS>0, from https://www.intel.com/content/www/us/en/download/19344/727284/intel-graphics-windows-dch-drivers.html, and see it works? thanks!

@hideyukn88 Thanks for the detailed instructions. However, it doesn't work with the <IP_ADDRESS>0 driver, either.

Here is the new dump: dump_<IP_ADDRESS>0.zip
Please let me know if you need anything else.

To help a bit, I have the same behavior, In my case, it happens frequently but not always and my driver is NVidia and I don't have an integrated graphics card. I'll follow this troubleshooting so I can help.

@crramirez, would you please share core.Xwayland from /mnt/wslg/dump? thanks!

@gmsh, what is your CPU model ? thanks!

@gmsh, going forward the issue with those Pentium Silver N6000 series issue will be tracked by https://github.com/microsoft/wslg/issues/877.
And base on above https://github.com/microsoft/wslg/issues/853#issuecomment-1282198923, I believe the original issue is now solved, so I will close this issue.


Homebrew Cask Tap for MacForge

Feature Request
Is your feature request related to a problem? Please describe.
I would appreciate if MacForge can be installed with Homebrew Cask.
Describe the solution you'd like
A Homebrew Cask tap for MacForge is maintained, so that installing MacForge (when SIP disabled) should be a one-liner.
$ brew tap w0lfschild/repo && brew cask install macforge

I have the intentions to maintain the Homebrew tap if you would like.
Describe alternatives you've considered
Installing MacForge with a .app is the current solution.
Teachability, Documentation, Adoption, Migration Strategy
There should be nothing to change; it's just an (IMHO very popular) alternative installation method.

I've personally had basically no experience using Homebrew. IIRC someone made a cask for cDock and possibly mySIMBL.
If this is something you'd like to maintain you're welcome to. Also if it's something simple/scriptable I could add to the build/publishing routine for the app.

@w0lfschild Ok, I'll (try to) maintain the home-brew repo. May I ask how MacForge should remove itself?
If there is no standard uninstallation procedure I'll remove these files on uninstallation:
$ find . -iname '*macforge*'
./Library/Application Support/MacForge
./Library/Application Support/MacForge/com.w0lf.MacForge.ipak
./Library/Preferences/com.w0lf.MacForge.plist
./Library/Cookies/com.w0lf.MacForge.binarycookies
./Library/Caches/com.w0lf.MacForge

If there is (a standard uninstallation prodeure), I'll like to invoke it (preferably a shell script).
I can't see any uninstall button however; it looks like it's trying to find out if MacForge.app was dragged to the trashcan, but I'm not sure how it can be invoked (and MacForge isn't doing a great job trying to find out; a separate MacForge.app in the trashcan makes MacForge puzzled BTW).

Yeah there's currently no uninstall as quitting the menubar and trashing it will stop any injection from happening.
If you're envisioning removing all traces of the application here's what it uses outside the user folder:
# plugins folder
/Library/Application Support/MacEnhance

# helpers
/Library/PrivilegedHelperTools/com.w0lf.MacForge.Injector
/Library/LaunchDaemons/com.w0lf.MacForge.Injector.plist

/Library/PrivilegedHelperTools/com.w0lf.MacForge.Installer
/Library/LaunchDaemons/com.w0lf.MacForge.Installer.plist

Ok, thanks! I'll make a Cask repo right away. :-)

@w0lfschild Are there any scriptable methods to install/uninstall plugins too? I would prefer if the uninstallation process can cleanly remove MacForge's plugins.
I've tried clearing MacForge from my Mac right now (with SpacesRenamer enabled) and I've currently found these:
$ find . -iname '*spacesrenamer*'
./Library/Containers/com.alexbeals.SpacesRenamer
./Library/Containers/com.alexbeals.SpacesRenamer/com.alexbeals.spacesrenamer.plist
./Library/Containers/com.alexbeals.SpacesRenamer/com.alexbeals.spacesrenamer.currentspaces.plist
$ find /Library/ -iname '*spacesrenamer*'

My understanding is that it is out of MacForge's control where the Cocoa bundle will write files too.
I would prefer if I could get all of MacForge plugin's identifier lists and remove them from ~/Library/Containers, is there any scriptable solution?

@w0lfschild Added a draft Cask at sscotth/homebrew-sip#5.

@pcr910303 I don't really have any control over what a plugin does outside /Library/Application Support/MacEnhance. Something like SpacesRenamer is not just a plugin but also an Application. I do plan on adding some functionality to manage apps installed by MacForge at some point in the future.

did a repo and cask ever get setup for macforge ?

@ipatch I don't know anything about Homebrew and I'm guessing the OP never followed up beyond the pull request they made so I'm guessing that's a no.

@ipatch Looks like the repo owner has abandoned the hombrew tap, and I'm not using MacForge now, so... the PR was abandoned :-(


Peer to peer code review

Everything is fine. You did a good job.
one thing I want to mention is that it is better to use the nav tag between the header tag to follow the HTML best practice.

Thank you for your feedback. it was well noted. I have made the necessary changes as per your comment.


Search

The last big missing feature is some kind of search capability.
Obviously, it needs to be done purely at clientside.

The bulk of the work was done in https://github.com/jonsterling/math/pull/56
There are still some ideas floating around: https://github.com/jonsterling/math/pull/56#issuecomment-1029115587


Delimiter aria label parts with ,

In some places with seperate parts of the aria label only with a whitespace and somewhere with a ,. We should be consistent and use , everywhere. Reasons:

iOS and MacOS use commas for delimiting labels that VoiceOver should speak, in most cases I believe.
When screen reader faces a comma it slows down making the separation more distinguishable

Example: lets say I have a a/b/c/test.txt file which is modified and shown in the Git viewlet. The aria label should be
text.txt, modified, a/b/c
Thanks @RedEyeDragon and @marcozehe for great feedback.
fyi @joaomoreno @bpasero @sandy081 @roblourens @jrieken since I might polish your labels.

Fixed most cases that I could found. Other cases we will fix as we go. More importantly now we have a recommendation to use comma as a delimeter in aria labels.


Is dbt-fal abandonware?

I see that dbt-fal is falling far behind on compatibility with new versions of dbt, is it abandonware or still being developed?

even the documentation page is down... I am afraid I discovered what I need just in time to not use it :(

I tried to adapt it to the new version here is the Merge request, i'm waiting for review of the owner
https://github.com/fal-ai/dbt-fal/pull/919

ouch...
thanks @HlebKrah

I require assistance in implementing a test.


Deprecated Selectors on Emmet

styles/emmet.less
Use the atom-text-editor tag instead of the editor class.
Use the selector atom-text-editor[mini] to select mini-editors.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/8097575-deprecated-selectors-on-emmet?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github).

+1

+1

I believe this was fixed in 072ae8623f76d015b439ad848ed62d583103c8a9.

yep. closing it ryt now


Use cmake to build libcheck and protobuf

libcheck and protobuf offer cmake option, we can update tools/install-dependencies to use cmake

This is done in https://github.com/trustwallet/wallet-core/pull/2132, protobuf has some issues on linux with cmake


bug: arkade get inletsctl fails in GitBash

Installing inletsctl in GitBash (WSL) downloads the .exe file but is unable to copy it into the bin folder.
Expected Behaviour
Current Behaviour
Downloads inletsctl.exe but the copy command fails because it is looking for inletsctl.exe.exe
Possible Solution
N/A
Steps to Reproduce (for bugs)
$ arkade get inletsctl
Downloading: inletsctl
2023/06/04 17:26:34 Looking up version for inletsctl
2023/06/04 17:26:34 Found: 0.8.21
Downloading: https://github.com/inlets/inletsctl/releases/download/0.8.21/inletsctl.exe.tgz
C:\Users\X\AppData\Local\Temp\arkade-3701239706/inletsctl.exe.tgz written.
2023/06/04 17:26:35 Looking up version for inletsctl
2023/06/04 17:26:35 Found: 0.8.21
2023/06/04 17:26:36 Extracted: C:\Users\X\AppData\Local\Temp\arkade-3701239706/inletsctl.exe.exe
2023/06/04 17:26:36 Copying C:\Users\X\AppData\Local\Temp\arkade-3701239706/inletsctl.exe.exe to C:\Users\X/.arkade/bin/inletsctl.exe
Error: CreateFile C:\Users\X\AppData\Local\Temp\arkade-3701239706/inletsctl.exe.exe: The system cannot find the file specified.

Context
Your Environment

What Kubernetes distribution are you using?

kubectl version

Operating System and version (e.g. Linux, Windows, MacOS):

uname -a

cat /etc/os-release

What arkade version is this?

arkade version

Would you like to send a fix @joebowbeer ?

@alexellis fixed in #924 - I also fixed aarch64, which was failing in test-tool.sh


Sure :wink:


Assert unconsumed loading results

Entities with Loading Results can leak:

The loading process is finished but an invoker does not consume them
It will lead to keeping resources allocated for web requests

@mikhail-dcl is this fixed? Its very old!


Sandbox the integration environment

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
[ ] You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
[ ] You submit test cases (unit or integration tests) that back your changes.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.65%. Comparing base (33fc5ce) to head (f90d49c).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##               main       #3   +/-   ##
=========================================
  Coverage     77.65%   77.65%
- Complexity     7189     7190    +1
=========================================
  Files           537      537
  Lines         24376    24376
  Branches       2603     2603
=========================================
  Hits          18929    18929
  Misses         4243     4243
  Partials       1204     1204

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Table Optimizations

Gonna keep this PR open while I look for more possible optimizations.
@SirZach feel free to checkout this branch and test it out

@offirgolan this looks like a good change to me! Unfortunately I don't have ember-light-table set up in the app at this stage to test out the branch. If you want I can still test it but won't be able to get to it until this weekend.

@SirZach No worries at all 😄! Im gonna go ahead and make a patch release with this for now until I have some more time to spend on this. Thanks again for taking the time to look into this!


🌋 E|F ➾ Investigation and Design for Zod Simplification Refactor

Product Board Link
No response
🚥 Status

[ ] 🔮 Product/Feature Design
[ ] ✍🏻 Architecture/Implementation Planning
[ ] 🏗 Under Construction
[ ] ⛳ Feature Complete
[ ] ⛵ GTM / Release

✅ To Do
No response
📐 Feature Description
@jchenche will fill this in
🚩 Problem or Use Case
No response
🔭 Scope
🏎 In Scope:

...

🙅♂ Out of Scope:

...

⚖ Acceptance Criteria
✨ Features:

[ ] ...

📚 Docs:

[ ] ...

🔗  Related Issues and Subtasks
No response
🦄 Sizing
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Closing


Test new changes

@namlulu thank you for using this and for your contribution, I have refactored the whole code would you like to validate?

@malikparvez
Of course, I will check your source code.


Invalidate cache when parameter is an object

Hi,
I would like to run this test in cacheable.decorator.spec.ts
[...]
  @Cacheable()
  getDataWithParamObj(parameter: any) {
    return this.mockServiceCall(parameter);
  }
[...]
  it("return the cached observable with params object", () => {
    let params = {
      limit: 5,
      stars: ["1"],
      page: 1,
      q: ""
    };
    /**
     * call the service endpoint five hundred times with the same parameter
     * but the service should only be called once, since the observable will be cached
     */
    for (let i = 0; i < 500; i++) {
      service.getDataWithParamObj(params);
    }

    expect(mockServiceCallSpy).toHaveBeenCalledTimes(1);
    /**
     * return the response
     */
    jasmine.clock().tick(1000);

    params.stars.push("2");
    /**
     * call again..
     */
    service.getDataWithParamObj(params);
    /**
     * service call count should still be 1, since we are returning from cache now
     */
    expect(mockServiceCallSpy).toHaveBeenCalledTimes(2);
  });
[...]

Wouldn't it miss a clone of the parameters before saving them as old parameters. or something like that ?
Thank you for your help 🙂
UPDATE :
If you add  cloneDeep of the parameters before the call to the  "cacheable observable" it corrects the problem. But I still think it's up to the lib to do the job 🙂
If I find what I need to modify in the library, I will propose a PR 😉

I think we should add:
      (propertyDescriptor.value as any) = function(..._parameters) {
        let parameters = JSON.parse(JSON.stringify(_parameters));

here cacheable.decorator.ts#L79

Yeah that makes sense, since you are passing a referential type, the stringify comparison that's done later will always return true. Can you make a PR about that and I will merge it and re-publish as soon as I can :) Thanks!


Set minLabel.hidden = NO;

Set minLabel.hidden = NO; when setDisableRange is set to false.
https://github.com/TomThorpe/TTRangeSlider/issues/57

Thanks for this - good spot!


Post azure-mgmt-datafactory 1.0.0 this release on Jan 3 2021 - Create or Update Datasets not working

Describe the bug
Post azure-mgmt-datafactory 1.0.0 this release on Jan 3 2021 - Create or Update Datasets not working
To Reproduce
Install module azure-mgmt-datafactory
use adf_client.datasets.Create_or_update to manage a dataset in ADF
Code Snippet
adf_client.datasets.create_or_update(resource_group_name = rg_name,
factory_name = df_name,
#dataset = ds_name,
dataset_name = ds_name,
properties = ds_sql_server)
Expected behavior
adf_client.datasets.create_or_update(resource_group_name = rg_name,
factory_name = df_name,
dataset_name = ds_name,
properties = ds_sql_server)
Screenshots
If applicable, add screenshots to help explain your problem.

Setup (please complete the following information):

Python Version: Python 3.8
SDK Version: azure-mgmt-factory 1.0.0

Additional context
Ideally expectation is that create or update doesn't have an argument called dataset but it has only dataset_name. Post the latest management factory update on 3rd Jan 2021 , we face issue like create_or_update dataset expecting an argument dataset and the same is not present in documentation as well.
https://docs.microsoft.com/en-us/python/api/azure-mgmt-datafactory/azure.mgmt.datafactory.operations.datasetsoperations?view=azure-python#create-or-update-resource-group-name--factory-name--dataset-name--properties--if-match-none--custom-headers-none--raw-false----operation-config-

Hi @NarendarT89 , it seems like that this doc has something wrong. You have to change properties to dataset.
Example:
adf_client.datasets.create_or_update(
    resource_group_name=rg_name,
    factory_name=df_name,
    dataset_name=ds_name,
    dataset=ds_sql_server)

Hi @NarendarT89 , it seems like that this doc has something wrong. You have to change properties to dataset.
Example:
adf_client.datasets.create_or_update(
    resource_group_name=rg_name,
    factory_name=df_name,
    dataset_name=ds_name,
    dataset=ds_sql_server)

Yes , thank you @00Kai0  .. Thanks for your help ..also I wanted to share you the latest document link
https://azuresdkdocs.blob.core.windows.net/$web/python/azure-mgmt-datafactory/1.0.0/azure.mgmt.datafactory.operations.html?highlight=azure mgmt datafactory datasets#azure.mgmt.datafactory.operations.DatasetsOperations

Yes , thank you @00Kai0  .. Thanks for your help ..also I wanted to share you the latest document link
https://azuresdkdocs.blob.core.windows.net/$web/python/azure-mgmt-datafactory/1.0.0/azure.mgmt.datafactory.operations.html?highlight=azure mgmt datafactory datasets#azure.mgmt.datafactory.operations.DatasetsOperations


F 1974 return all power boostings in response

related to  https://github.com/Giveth/giveth-dapps-v2/issues/1974

@aminlatifi
After merging to staging and testing it we can create a hotfix PR from f_1974_return_all_power_boostings_in_response to master

@mohammadranjbarz I don't think it's a good idea to remove pagination from backend


Transparent Doc for Stamp / Watermark uses

Question
Description
I am trying to find a way to create a PDF that is just text on transparent background that can be stamped over another PDF with PDFTK for a watermark effect. Was hoping there's a simple option / setting that I'm missing to get this result. Can't seem to get rid of the default white doc that obscures the other PDF.
PDFMake has a limited watermark functionality, and with it being based on PDFKit was hoping the same transparency functionality was available while using the more precise text layout possibilities of PDFKit.
Code sample

Your environment

pdfkit version:
meteor... pascoul:pdfkit 1.0.7, believe it uses PDFKit 0.4.3

Node version: 12.18.3

Browser version (if applicable):

Operating System: linux

NM. Not an option because it's not an issue. PDF seems to have transparent background by default. If it seems your pdfkit generated PDF is obfuscating the PDF it is being stamped on... double check and make sure your other PDF is being uploaded and processed correctly. :\


ZEPPELIN-314 ] Pyspark - support python 3

What is this PR for?
pyspark- completion function has been modified to work in python3 environment.
What type of PR is it?
bug-fix
Todos

[x] - Change the code python3 support.

Is there a relevant Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-314
(comment)
How should this be tested?
pyspark - in python3 environment.
Use completion function (Shift + control + space).
Screenshots (if appropriate)

Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

Close this PR will establish a new PR.


Fix android integration and react-native demo documentation

closes #5

please don't merge this, I've executed the command from a clean repo and it seems there's still a fix needed (*.so files are not being inserted in the .aar). it seems that giving the ./gradlew build command twice produces a correct archive. I'll investigate this and amend my commit

While solving the last mentioned issue (*.so files not being inserted in the .aar), I've discovered that the library-release.aar was correctly containing the *.so files, while library-debug.aar wasn't.
Executing ./gradlew build --dry-run I've got:
:library:preBuild SKIPPED
:library:preDebugBuild SKIPPED
:library:compileDebugAidl SKIPPED
:library:mergeDebugJniLibFolders SKIPPED
:library:mergeDebugNativeLibs SKIPPED
:library:stripDebugDebugSymbols SKIPPED
:library:copyDebugJniLibsProjectAndLocalJars SKIPPED
:library:buildRust SKIPPED
[...]

the fact that mergeDebugNativeLibs was executing first than buildRust highlighted that the build_rust.sh script execution was being done too late.
Hence I've changed this piece of code in the ffi/android/library/build.gradle file:
afterEvaluate {
  android.libraryVariants.all { variant ->
    variant.javaCompileProvider.get().dependsOn(buildRust)
  }
}

with this:
preBuild.dependsOn buildRust

making ./gradlew build --dry-run output change into this:
:library:buildRust SKIPPED
:library:preBuild SKIPPED
:library:preDebugBuild SKIPPED
:library:compileDebugAidl SKIPPED
:library:mergeDebugJniLibFolders SKIPPED
:library:mergeDebugNativeLibs SKIPPED
[...]

and making the library-debug.aar contain the *.so files:
unzip -l library/build/outputs/aar/library-debug.aar
Archive:  library/build/outputs/aar/library-debug.aar
  Length      Date    Time    Name
---------  ---------- -----   ----
    88185  1980-02-01 00:00   R.txt
      303  1980-02-01 00:00   AndroidManifest.xml
    13036  1980-02-01 00:00   classes.jar
        0  1980-02-01 00:00   jni/
        0  1980-02-01 00:00   jni/arm64-v8a/
   936368  1980-02-01 00:00   jni/arm64-v8a/libc++_shared.so
    14168  1980-02-01 00:00   jni/arm64-v8a/librgb_node.so
        0  1980-02-01 00:00   jni/armeabi-v7a/
   558988  1980-02-01 00:00   jni/armeabi-v7a/libc++_shared.so
    22132  1980-02-01 00:00   jni/armeabi-v7a/librgb_node.so
        0  1980-02-01 00:00   jni/x86/
   939924  1980-02-01 00:00   jni/x86/libc++_shared.so
    13832  1980-02-01 00:00   jni/x86/librgb_node.so
        0  1980-02-01 00:00   jni/x86_64/
  1002168  1980-02-01 00:00   jni/x86_64/libc++_shared.so
    14440  1980-02-01 00:00   jni/x86_64/librgb_node.so
        0  1980-02-01 00:00   arm64-v8a/
        0  1980-02-01 00:00   armeabi-v7a/
        0  1980-02-01 00:00   x86/
        0  1980-02-01 00:00   x86_64/
---------                     -------
  3603544                     20 files

So now this PR can be merged


Improve tasks view so script results can be included

Current Tasks API doesn't allow you to provide the script that was used to execute an operation. This means that if you run a wizard like Create External Table and it fails, you can't see what ran.
Ask:

Support including the script used to run the task, at a minimum
Longer term, allow status to be linked to the script (e.g. failed at line 4, so user can see exact point of failure)

Closing out older issues.  We're planning a a significant Tasks view update in a future release. Thanks!


feat(crypto): enhance abstraction of pcs

PCS was changed from 2^s to 2^k
PCS provides types of Evals, DensePoly and Domain

Please change commit title fix(zk): revise the ambiguous expression to test(zk): rename the ambiguous variable name?
`

@dongchangYoo e7ee987 is a refac commit.

Please change the commit scope!  Plus could you wrap UnivariateEvaluationDomain with ``
"feat(math): add Create() to UnivariateEvaluationDomain" to
"feat: add Create() to UnivariateEvaluationDomain".

Please describe the commits in detail and clearly ! and change the commit type to refac and do not specify scope.
feat(crypto): make the PCS provide types related to polynomial

Classes that use `PCS` as a template argument can obtain the types of
`DensePoly`, `Evals`, and `Domain` from `PCS`.


Clear size when target is detached from map

This pull request fixes a regression caused by #14305: When detaching a map from a target using map.setTarget(null) and re-attaching it later using map.setTarget(target), no map will be visible. The reason is that when no target is attached, the logic expects the map's size to be unset.

.only removed, tests pass now.


enable DB2 tests (DAT-16658)

Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Things to be aware of

Things to worry about

Additional Context

Build here: https://github.com/liquibase/liquibase/actions/runs/7891848688/job/21537415418


scss support?

is there an example about how to integrate scss on build.config.ts?

I got a solution for rollup, but none for mkdist to distribute the source .scss files yet
import { defineBuildConfig } from "unbuild";
import { resolve } from "pathe";

import scss from "rollup-plugin-scss";

export default defineBuildConfig({
	entries: [
		{
			builder: "rollup",
			input: "./src/scss/mything.scss",
		},
	],

	hooks: {
		"rollup:options"(_ctx, options) {
			const plugin = scss({
				fileName: "mything.css",
				includePaths: [resolve(__dirname, "node_modules")],
			});

			if (options.plugins === undefined) {
				options.plugins = [plugin];
			} else if (Array.isArray(options.plugins)) {
				options.plugins.push(plugin);
			} else {
				options.plugins = [options.plugins, plugin];
			}
		},
	},
});

noisy... and it can be reduced assuming rollupOptions is always an Array as explained by @dwightjack but...

@amery looking at mkdist source code, there seems to be basic support for sass. The loader matches files with sass or scss extension and transforms them to CSS. Anyway, I don't see any support for advanced customizations like resolve path.

@amery looking at mkdist source code, there seems to be basic support for sass. The loader matches files with sass or scss extension and transforms them to CSS. Anyway, I don't see any support for advanced customizations like resolve path.

I expected mkdist to simply copy the files but it fails if an import doesn't resolve, understandably. I suppose I'll have to take it with them to add a mechanism to set the resolve path

I see. I think there isn't a way to achieve your goal with unbuild alone. Maybe you could use it with another tool to copy the files or use unbuild programmatically in a custom node script with something like cpy like:
// build.mjs
import { build as unbuild} from 'unbuild';
import cpy from 'cpy';

// build with unbuild
// '.' is the folder where you run the command
// unbuild reads the `unbuild.config.ts` file in that folder
await unbuild('.', false)

// copy files as-is
await cpy([ /* patterns here */])

and then run it from the root of your project
node ./build.mjs

Que: https://discord.com/channels/473401852243869706/1050375232441036830
Anu solution: https://github.com/jd-solanki/anu/blob/main/packages/preset-theme-default/build.config.ts#L23

Sass files will be automatically transformed by mkdist builder (entries ending with /) file by file.
For rollup, you might need a custom plugin and configuration of your choice.
We might also support Assets/Raw builder that copies without transform (#266)

Que: https://discord.com/channels/473401852243869706/1050375232441036830
Anu solution: https://github.com/jd-solanki/anu/blob/main/packages/preset-theme-default/build.config.ts#L23

less support？


fix(policy-api):[#734] return configured default policies if no custo…

…m default policy is defined

Description

#734

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[ ] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[ ] Copyright and license header are present on all affected files

this is a draft PR
still missing: ability to find only the default policies using a filter


Dropdown menu scroll posotion resets to top when opened

The scroll position of the page is unexpectedly reset to the top when opening a dropdown menu. I have recreated the problem with remix + shadcn-ui and the scroll position doesn't reset. This is also prevalent in the user dropdown. I'm not sure if this is intended behaviour so apologies if this is the case!
Screencast from 23-07-23 19:53:54.webm

Without seeing the code it's hard to say what could be causing this. Is that a Link you're clicking on? If so, you may consider using: preventScrollReset


[Design] Clean up TagHelperDescriptor APIs.

#- Removed all design time descriptors and put their API surface into their corresponding descriptor. Part of removing the design time API surface was removing the tracking of <Remarks>, it wasn't used so there's on need to track it until we need it.

Removed the Type requirement from TagHelperDescriptor. With this separation we'll be able to have abstract TagHelpers that aren't based on a class implementation.
Removed Prefix from the TagHelperDescriptor API surface. It was a legacy requirement based on how the Razor parser was put together. We can work around this now.
Stripped correlation information from the immediate TagHelperDescriptor API surface. Instead this information is now tracked in CorrelationRequirements. This change means that you will not have multiple TagHelperDescriptors per TagHelper; instead it's all tracked in a single descriptor. A side effect of this change waws the renaming of IsIndexer => IsDictionary.
Added ITagHelperDescriptor to represent TagHelpers that implement the ITagHelper class. It re-introduces the TypeName association of a TagHelper.
Added PropertyTagHelperAttributeDescriptor to represent that an attribute was associated with a property.

#973

Trying to get feedback on the new API surface. Will wire everything together/fix tests etc. if the surface looks good.

Removed Prefix from the TagHelperDescriptor API surface. It was a legacy requirement based on how the Razor parser was put together. We can work around this now.

I'm glad you did this, this was something I wanted to mention during requirements gathering, but forgot.
The prefix is a property of the context, not of an individual taghelper

I'm going to avoid feedback on naming for the first round so we can get the concepts and shape right.

Playing with adding DisplayName a bit and it got me thinking about taking a descriptor builder approach like we have with razor directives. For instance a DisplayName of a PropertyTagHelperAttributeDescriptor should be: {SimpleTypeName} {ContainingTypeName}.{PropertyName}. I think what I'm trying to get at is it's incredibly easy to fall into pits of failure when constructing TagHelperDescriptors (purpose of this PR is to make TagHelperDescriptors more understandable). It'd be a decent amount of work but I think a builder approach makes a lot of sense and will make our lives easier in the future.
With a descriptor builder approach we could have something like:
var anchorTagHelper = ITagHelperDescriptorBuilder.Create(assemblyName)
    .Requirement(requirement => requirement
        .TagName("a")
        .Attribute(builder => builder.Name("asp-action"))
        .TagStructure(TagStructure.SelfClosing))
    .Requirement(requirement => requirement
        .TagName("a")
        .Attribute(builder => builder.NamePrefix("asp-route-"))
        .Parent("li"));
    .BoundAttribute(attributeName: "asp-action", propertyName: "Action", typeName: "System.String")
    .BoundAttribute(builder => builder
        .Name("asp-route-")
        .PropertyName("RouteValues")
        .TypeName("RouteValueDictionary``")
        .AsDictionary())
    .Metadata("SomethingInPropertyBag", "123")
    .AllowChildren(...) // Doesn't really make sense on an anchor tag helper but you get the point
    .Build();

Thoughts?

Thoughts?

It's a non-public detail so we can do whatever makes us happy. What's important with this work is that we stabilize the public API that will be providing to VS. Creating taghelper descriptors is not an extensibility scenario right now.

It's a non-public detail so we can do whatever makes us happy. What's important with this work is that we stabilize the public API that will be providing to VS. Creating taghelper descriptors is not an extensibility scenario right now.

How important is DisplayName to you? VS would technically have all the info necessary to create a custom display name given we provide all the documentation.

If we don't need display name on the API surface we can leave it out for now.

Here's the gist from the naming review:
https://gist.github.com/rynowak/5f26e0922a5579853a041b2a26dd151f


[Core][Llama] Argument max_vocab_size and max_batch_size

This PR introduces the max_vocab_size and max_batch_size as two new compile arguments. The purpose is for better memory planning.
The default value for max_vocab_size is set to 40000, which I think is larger than the values of most models. The default value for max_batch_size is currently set as 256. It is possible that we update this value in the future to have a good default number.

I think it's good to merge


no lower triangular matrix factorization

As i see sprs-ldl dont's support sparse matrices with only lower triangular matrix. lower triangular matrix is useful in practice : Cholesky decomposition usually use for solve A'Ax=A'b, so A'A already symmetric and no reason to compute upper triangular part.

I don't think I get the question here. Are you asking to create the L or solve a matrix problem where you have precomputed L?

original test:
    fn cuthill_ldl_solve() {
        let mat = CsMat::new_csc(
            (4, 4),
            vec![0, 2, 4, 6, 8],
            vec![0, 3, 1, 2, 1, 2, 0, 3],
            vec![1., 2., 21., 6., 6., 2., 2., 8.],
        );

        let b = ndarray::arr1(&[9., 60., 18., 34.]);
        let x0 = ndarray::arr1(&[1., 2., 3., 4.]);

        let ldlt = super::Ldl::new()
            .check_symmetry(super::SymmetryCheck::DontCheckSymmetry)
            .fill_in_reduction(super::FillInReduction::ReverseCuthillMcKee)
            .numeric(mat.view())
            .unwrap();
        let x = ldlt.solve(b.view());
        assert_eq!(x, x0);
    }

what i want:
    #[test]
    fn cuthill_ldl_solve() {
        let mat = CsMat::new_csc(
            (4, 4),
            vec![0, 1, 2, 4, 6],
            vec![0, 1, 1, 2, 0, 3],
            vec![1., 21., 6., 2., 2., 8.],
        );

        let b = ndarray::arr1(&[9., 60., 18., 34.]);
        let x0 = ndarray::arr1(&[1., 2., 3., 4.]);

        let ldlt = super::Ldl::new()
            .check_symmetry(super::SymmetryCheck::DontCheckSymmetry)
            .fill_in_reduction(super::FillInReduction::ReverseCuthillMcKee)
            .numeric(mat.view())
            .unwrap();
        let x = ldlt.solve(b.view());
        assert_eq!(x, x0);
    }

difference is: originally we have sparse symmetric matrix
           (4, 4),
           vec![0, 2, 4, 6, 8],
           vec![0, 3, 1, 2, 1, 2, 0, 3],
           vec![1., 2., 21., 6., 6., 2., 2., 8.],
);

but will be usefull to set only lower triangular part since upper triangular part just duplicate lower one:
           (4, 4),
            vec![0, 1, 2, 4, 6],
           vec![0, 1, 1, 2, 0, 3],
           vec![1., 21., 6., 2., 2., 8.],
);

for example this implemented in https://eigen.tuxfamily.org/dox/classEigen_1_1SimplicialLLT.html

UpLo_
the triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower.

If you already have L then I'm still confused in how you expect an ldl factorisation to work. You should be able to use a combination of diag_solve and `ldl_solve' to solve the problem. We don't have any functions to do this directly, PRs are welcome!

no, i don't have L (in term on cholesky LLT). I just have some matrix H that's SPD. H computed from J'J (' is transpose). since i know that results of J'J is symmetrical i don't compute all elements of H. only lower part of H. and expect that  chol don't need to acces to upper part of H since cholesky  work only with SPD.  I don't really understend why cholesky factorisation routine need to check symmetry of H instead of access only to lower part and keep in mind that upper one in symmetrical.

Ok, I understand a bit more what you mean now. Not that I have checked for correctness, but you could "cheat" by using a different FillInReduction.
    #[test]
    fn cuthill_ldl_solve_lower() {
        let mat = CsMat::new_csc(
            (4, 4),
            vec![0, 1, 2, 4, 6],
            vec![0, 1, 1, 2, 0, 3],
            vec![1., 21., 6., 2., 2., 8.],
        );
        let mat = mat.transpose_view();

        let b = ndarray::arr1(&[9., 60., 18., 34.]);
        let x0 = ndarray::arr1(&[1., 2., 3., 4.]);

        let ldlt = super::Ldl::new()
            .check_symmetry(super::SymmetryCheck::DontCheckSymmetry)
            .fill_in_reduction(super::FillInReduction::CAMDSuiteSparse)
            // or use
            // .fill_in_reduction(super::FillInReduction::NoReduction)
            .numeric(mat.view())
            .unwrap();
        let x = ldlt.solve(b.view());
        assert_eq!(x, x0);
    }

This is not officially supported and I am not familiar enough with the code to tell if it makes sense to do this or just works for this choice of matrix.

Thanks. i'll check it on my matrix. probably AMD ordering allows it (Eigens implementation use AMD ordering too)

checked with fill_in_reduction(super::FillInReduction::NoReduction) - not worked. incorrect solution


Enum inheritance Support

Is your feature request related to a problem? Please describe.
I have the following code structure:
class EnumBase(Enum):
	pass

class VanillaEnum(EnumBase):
	# some enum values

class ExtendedEnum(EnumBase):
	# some enum values

class Config:
	enum_options: EnumBase

I want Enum inheritance to be supported, such that the enum_options to accept both VanillaEnum and ExtendedEnum. Currently, OmegaConf is throwing errors in the validate_and_convert_to_enum  method, that the enums are not valid since it doesn't belong to EnumBase.
Describe the solution you'd like
I want Enum Inheritance to be supported so enum_options of type EnumBase can accept child enum classes. Can we: in the validate_and_convert_to_enum  method, get the subclasses of enum_type using enum_type.__subclasses__() and try to return subclass[value] when enum_type[value] failed?
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

My 2 cents:

Seems doable and potentially useful
As discussed elsewhere with @lequytra, there is a workaround which is to generate EnumBase dynamically based on the values found in VanillaEnum and ExtendedEnum. However this makes comparisons more cumbersome and error-prone since for instance enum_options == VanillaEnum.xyz always evaluates to False (so one would need to compare names or values).
Couple of things to pay attention to if implemented: (a) make sure that both enum_options=VanillaEnum.xyz and enum_options=xyz are supported (with the latter requiring a check for potentially ambiguous names), and (b) make sure that serialization works as expected


Android GLES3 - Environment is black [regression in 3.2 beta 2]

Godot version:
3.2 Beta 2
Not in 3.1.1 Release! (Regression)
OS/device including version:
Google Pixel 3a
Android 10 (Latest Beta)
Issue description:
The environment appears as black, other rendering seems to work fine
Android Log: (No errors from what I see)
https://pastebin.com/g2fBW80X
Editor:

Phone:

Steps to reproduce:
Place a camera in a brand new project and export to Android
The project is GLES3, Doesn't happen in GLES2
Minimal reproduction project:
Test2.zip

Is it the same as 3.1.1?

3.1.1 Works fine, the bug is not reproducible there (It's a regression)
No errors are reported in 3.2

I can confirm the issue with Godot 3.2 beta 2 on Xiaomi Pocophone F1: http://opengles.gpuinfo.org/displayreport.php?id=3448
It's a regression in beta 2, the environment works fine in 3.2 beta 1.
GLES3 commits between beta 1 (077b5f6c2c06bb2c0af525ee25f87e0db719f9d2) and beta 2 (b7ea22c5d203da1b592a743a4c893de25cd34408):
commit 203fb1b3484f621984e4595986cc77c9b9174d6a
Author: clayjohn<EMAIL_ADDRESS>Date:   Thu Nov 21 07:44:09 2019 -0800

    Fix GL error by properly using float uniform

commit 4d6737ec730a1f620c20768c1792099683aca4f3
Author: clayjohn<EMAIL_ADDRESS>Date:   Wed Nov 20 22:54:44 2019 -0800

    Fix bugs introduced by IBL fixes

commit 3be6e76f220f702d41ae5efc526064f87059539b
Merge: 1bd32388ae cd40154890
Author: Rémi Verschelde<EMAIL_ADDRESS>Date:   Wed Nov 20 08:45:53 2019 +0100

    Merge pull request #33668 from clayjohn/Fix_environment_mapping_issues

    Fix issues with environment mapping

commit cd40154890ba9791b219d66beaf187a7d8dcdba5
Author: clayjohn<EMAIL_ADDRESS>Date:   Sat Nov 16 16:56:34 2019 -0800

    Fix issues with environment mapping

commit 6536105af26bb3a6a18369b4647ac479816090b7
Merge: cc3b7d2ee2 1253a33423
Author: Rémi Verschelde<EMAIL_ADDRESS>Date:   Tue Nov 19 09:36:30 2019 +0100

    Merge pull request #33527 from clayjohn/GLES2-bufferdata_optimization

    Improve glBufferSubData usage where safe

commit 1253a3342381e15ff95074f31a465a18e6459991
Author: clayjohn<EMAIL_ADDRESS>Date:   Sun Nov 10 10:51:56 2019 -0800

    Improve glBufferSubData usage where safe

commit 4e2343160c6a6aefa5f6422620a6f90de255eeb1
Author: Bastiaan Olij<EMAIL_ADDRESS>Date:   Sun Nov 10 19:30:20 2019 +1100

    Add special external MSAA modes for GLES2 Rift S/Quest and OpenXR optimisation

commit 47389c3a167797ef6e5756937e9d888f6a7719b7
Author: Rémi Verschelde<EMAIL_ADDRESS>Date:   Thu Nov 7 15:37:18 2019 +0100

    Partial revert of #32657, undoing line shifting by 0.5

    As discussed in #32657, this can't be done here as lines can be used
    with a canvas scale, and this breaks them.
    A suggestion is to do the pixel shifting at matrix level instead.

    Fixes #33393.
    Fixes #33421.

@clayjohn @oeleo1 The regression is caused by 1253a334 / #33527.

I'll fix it tonight. I may just revert the 3D pipeline related changes. The initial bug reported was related to 2D issues anyway.

Thanks for reporting this promptly! And mea culpa -- what we did looks innocent and safe but is a very hard core change, and we obviously messed up despite the vigilance.
A quick fix is to revert everything. But that's a quickie. We have to understand where we sinned and selectively revert the 11 locations where we replaced glBufferSubData with glBufferData to identify the problem and assess the buffer usage wrt the rendering cycle. Somewhere we are allocating a new buffer where we should be operating on the same buffer.
I owe you spending time investigating this and fix it properly. Bound to learn the hard way.

@clayjohn I think I figured out what's wrong even without looking at the code... If you go back to my original comment on the rationale for safely replacing glBufferSubData with glBufferData in the isolated code patterns, there is a flaw in the reasoning. It says bind/upload data/[eventually draw]/unbind. This is wrong and should read [must draw]. Issuing a draw command signals that we are done with the buffer after writing to it from the start at offset 0. Not drawing means the buffer can be used or be overwritten elsewhere so it is not safe to use glBufferData in these cases. Please revert those instances first as primary candidates for the fix.
The same logic applies to the buffer orphaning but I think the glBufferSubData sequences all end up with a draw command after writing from the start of the buffer so these should be safe. Yet, I will now scrutinize and double check each and every change again then retest.

The same logic applies to the buffer orphaning …

Note that it works (for few ms), if you e.g. change the Top Color via the remote debugger:

si cambias el SKY por el CLEAR COLOR funciona por ahora es lo que funciona :c

@akien-mga I've reverted all the GLES3 changes related to buffer management and the problem is still there. So this particular regression is not caused by the glBufferSubData PR. Looking at the code, it is most probably caused by the previous PR entitled "Fix issues with environment mapping" which heavily deals with the environment, the sky and all the symptoms reported here.
@clayjohn Could you please check on that? I am having a bit of a hard time reverting the environment mapping changes to save you some time, sorry about that.
All of which doesn't invalidate my analysis above which implies reverting some bogus glBufferSubData replacements - tbd.

Here is a patch relative to today's master which reverts 7 out of the 11 replacements of glBufferSubData calls which may be unsafe. But better safe than sorry. They are all in GLES3.
@clayjohn This contains again the bug fix in _gui_draw_primitive(), where the size parameter is not multiplied by sizeof(float). Note that the exact same code in GLES2 is correct and does contain the sizeof(float). The reasoning is simple: we copy a buffer of (2 + 2 + 4) * 4 floats, where 2 + 2 + 4 is the max size of the stride. So we shall copy stride * 4 * sizeof(float) bytes.
This doesn't fix the issue raised here but is a step forward wrt. reducing the risk of the buffer changes. It also may not be the final version at it needs more testing on mobile, but I'd like to see [#33668] (https://github.com/godotengine/godot/pull/33668) reverted/fixed first, which is a little too much for me to do at this point. I'll resume testing when I can get my hands on such a branch.
Let me know if I can be of any further assistance.
glBufferSubData_reverted.patch.txt

@oeleo1 I'll look into it as soon as I can.

@clayjohn Deal :) I can only add that in the meantime I tested the sizeof(float) mod. My rant about it is void because with the sizeof(float) GLES3 crashes my iPhones/Pads at the first drawLine or similar, and without it is doesn't. Which hits that the bug is probably the other way around since the same code is in GLES2 and contains the sizeof(float).
That said, please don't revert any buffer changes for now until you sort it out on your side. We'll take it from there.

@clayjohn @akien-mga Thanks. 1/ Re: buffers, we wont revert anything unless there is evidence we need to revert. I tried to challenge myself intellectually and almost succeeded, but the point is that we replaced glBufferSubData because it always writes to the start of the buffer at index 0. Whether this happens on an old buffer or a newly allocated one with glBufferData is irrelevant for any followup code that may use the buffer to append data or draw. 2/ Re: sizeof(float) the crashes I get on iOS are due to something else, so I believe this is still relevant for GLES3 vs GLES2.


No such module 'google_mobile_ads' in iOS native code(Flutter plugin)

Plugin Version
google_mobile_ads: ^1.3.0
Steps to Reproduce
I create a Flutter plugin for Admob to reuse in my different projects for banner, interstitial, native ad and rewarded ads. I create it so that I can just add the plugin to other project's pubspec.yaml and use without recode or copy/paste every time.
It works fine on Android native code, the "google_mobile_ads" sdk is recognized and can be accessed without adding any dependency.
But, the problem is that the google_mobile_ads is not recognized in my iOS code (to create the Native Ad Factory) when Run Build in Xcode. When I use "Ctrl + Click" the "FLTNativeAdFactory" class to "Jump to Definition" in Xcode, it works but the build fail with the error. See the attached image.
Here is my code and setup:

admob_ads plugin pubspec.yaml

the ios code podspec

Pod::Spec.new do |s|
  s.name             = 'admob_ads'
  s.version          = '0.0.1'
  s.summary          = 'A new Flutter plugin project.'
  s.description      = <<-DESC
A new Flutter plugin project.
                       DESC
  s.homepage         = 'http://example.com'
  s.license          = { :file => '../LICENSE' }
  s.author           = { 'Your Company' =><EMAIL_ADDRESS>}
  s.source           = { :path => '.' }
  s.source_files = 'Classes/**/*'
  s.dependency 'Flutter'
  s.dependency 'Cosmos', '~> 23.0'
  s.platform = :ios, '9.0'

  # Flutter.framework does not contain a i386 slice.
  s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
  s.swift_version = '5.0'
end

The ios code tree and error when build:

Please help!

Hi @andj207, Thanks for filing the issue. To investigate the issue further I would need a minimal and complete sample project.

Thanks for the sample project @andj207, I am able to reproduce the same error, I don't really have much expertise on the native IOS, But from the error it looks like the google_mobile_ads sdk is not getting imported in the plugin, Hence the error.
Also as per this codelab the config looks correct.

logs
Launching lib/main.dart on iPhone 12 Pro in debug mode...
Warning: Missing build name (CFBundleShortVersionString).
Warning: Missing build number (CFBundleVersion).
Action Required: You must set a build name and number in the pubspec.yaml file version field before submitting to the App Store.
Xcode build done.                                            2.9s
Failed to build iOS app
Error output from Xcode build:
↳
    objc[15330]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libamsupport.dylib (0x209b1f640) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1061442c8). One of the two will be used. Which one is undefined.
    objc[15330]: Class AMSupportURLSession is implemented in both /usr/lib/libamsupport.dylib (0x209b1f690) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x106144318). One of the two will be used. Which one is undefined.
    objc[15330]: Class AppleTypeCRetimerRestoreInfoHelper is implemented in both /usr/lib/libauthinstall.dylib (0x209b1f458) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1061444f8). One of the two will be used. Which one is undefined.
    objc[15330]: Class AppleTypeCRetimerFirmwareAggregateRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x209b1f4a8) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x106144548). One of the two will be used. Which one is undefined.
    objc[15330]: Class AppleTypeCRetimerFirmwareRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x209b1f4f8) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x106144598). One of the two will be used. Which one is undefined.
    objc[15330]: Class ATCRTRestoreInfoFTABFile is implemented in both /usr/lib/libauthinstall.dylib (0x209b1f548) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1061445e8). One of the two will be used. Which one is undefined.
    objc[15330]: Class AppleTypeCRetimerFirmwareCopier is implemented in both /usr/lib/libauthinstall.dylib (0x209b1f598) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x106144638). One of the two will be used. Which one is undefined.
    objc[15330]: Class ATCRTRestoreInfoFTABSubfile is implemented in both /usr/lib/libauthinstall.dylib (0x209b1f5e8) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x106144688). One of the two will be used. Which one is undefined.
    ** BUILD FAILED **
Xcode's output:
↳
    Writing result bundle at path:
    	/var/folders/yt/1smr9dys1kj3p28q05l7nzy00000gp/T/flutter_tools.4dTTbl/flutter_ios_build_temp_dirSKcmjF/temporary_xcresult_bundle
    /Users/mahesh/Downloads/admobads_sample_plugin 2/ios/Classes/AdmobNativeAdFactory.swift:3:8: error: no such module 'google_mobile_ads'
    import google_mobile_ads
           ^
    /Users/mahesh/Downloads/admobads_sample_plugin 2/ios/Classes/AdmobNativeAdFactory.swift:3:8: error: no such module 'google_mobile_ads'
    import google_mobile_ads
           ^
    /Users/mahesh/Downloads/admobads_sample_plugin 2/ios/Classes/AdmobNativeAdFactory.swift:3:8: error: no such module 'google_mobile_ads'
    import google_mobile_ads
           ^
    /Users/mahesh/Downloads/admobads_sample_plugin 2/ios/Classes/AdmobNativeAdFactory.swift:3:8: error: no such module 'google_mobile_ads'
    import google_mobile_ads
           ^
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order
    Result bundle written to path:
    	/var/folders/yt/1smr9dys1kj3p28q05l7nzy00000gp/T/flutter_tools.4dTTbl/flutter_ios_build_temp_dirSKcmjF/temporary_xcresult_bundle
Swift Compiler Error (Xcode): No such module 'google_mobile_ads'
/Users/mahesh/Downloads/admobads_sample_plugin%202/ios/Classes/AdmobNativeAdFactory.swift:2:7
Could not build the application for the simulator.
Error launching application on iPhone 12 Pro.
Exited

Labeling this issue for further insights from the team, Sample project can be found here https://github.com/googleads/googleads-mobile-flutter/issues/603#issuecomment-1180405681
cc: @jjliu15

same problem when run by iPad Pro (12.9-inch) (5th generation) (15.5) emulator.
iOS emulator is working well.

@andj207 Have you found the solution? I have the same problem with you when I tried to create an Admob plugin for my apps.

@dtvtkien No, I'm still waiting for a fix. Currently I have to remove native ad type, just use other ads types or have to use google_mobile_ads in the main project code instead of in a plugin.

@andj207 do you have any update or workaround? Thanks in advance

I solved it by using Runner.xcworkspace instead of Runner.xcodeproj file.
Hope it solves your problem too.

I solved it by using Runner.xcworkspace instead of Runner.xcodeproj file. Hope it solves your problem too.

I dont get it @DaeHyeonNam , what do you mean by "Using" Runner.xcworkspace instead of Runner.xcodeproj file ?

@Blast06 Have you tried to build the application using Runner.xcworkpsace? My error came up only when I tried to build using Runner.xcodeproj.

We’re closing this issue due to inactivity. If you’re still impacted, please create a new issue via the Developer Forum.


Transition

Codecov Report
Patch coverage: 80.00% and project coverage change: -0.10% :warning:

Comparison is base (76a1768) 29.72% compared to head (0511501) 29.63%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #27      +/-   ##
==========================================
- Coverage   29.72%   29.63%   -0.10%
==========================================
  Files          12       11       -1
  Lines         777      776       -1
==========================================
- Hits          231      230       -1
  Misses        546      546

Files Changed
Coverage Δ

src/abstractmcmc.jl
0.00% <0.00%> (ø)

src/targets.jl
34.48% <75.00%> (ø)

src/hamiltonian.jl
20.00% <100.00%> (ø)

src/sampler.jl
94.57% <100.00%> (ø)

src/tuning.jl
82.89% <100.00%> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Snyk] Upgrade vite-plugin-svgr from 2.2.0 to 2.2.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade vite-plugin-svgr from 2.2.0 to 2.2.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 21 days ago, on 2022-07-22.

Release notes

Package name: vite-plugin-svgr

2.2.1 - 2022-07-22   🐞 Bug Fixes

Esm import by updating @ svgr/core  -  by @ pd4d10 (e893c)

    View changes on GitHub

2.2.0 - 2022-06-23   🚀 Features

Support include and exclude  -  by @ helianthuswhite in #40

    View changes on GitHub

    from vite-plugin-svgr GitHub release notes

Commit messages

Package name: vite-plugin-svgr

7f91473 2.2.1
e893c5e fix: esm import by updating @ svgr/core
8da7b28 chore: update deps
ff36463 ci: add release action
51b6049 build: target to node14
be9be27 build: tsdv

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Fikset i tidligere oppdatering


Sync master with tooling fixes

Purpose

Sync master with tooling fixes

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #18340 into master will decrease coverage by 4.74%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #18340      +/-   ##
==========================================
- Coverage   19.61%   14.86%   -4.75%
==========================================
  Files          53       48       -5
  Lines        1387     1265     -122
  Branches      222      201      -21
==========================================
- Hits          272      188      -84
+ Misses       1101     1063      -38
  Partials       14       14

Impacted Files
Coverage Δ

composer/packages/tracing/src/ToolBar.tsx

composer/packages/tracing/src/TraceList.tsx

composer/packages/tracing/src/DetailView.tsx

composer/packages/tracing/src/TraceLogs.tsx

composer/packages/tracing/src/index.ts

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dae7866...0c390e9. Read the comment docs.


Souper-synthesized optimizations that we should investigate generalizing and adding to the mid-end

Here are some synthesized optimizations for CLIF harvested from
spidermonkey.wasm with explicit bounds checks enabled. I won't have time to
investigate, generalize, or implement them before I go on vacation, so I want to
note them down in an issue for posterity.

Replacing clz(x) == 0 with a comparison:
========= ./2559773154913247904.result =========
%0:i32 = var
%1:i32 = ctlz %0
%2:i1 = eq %1, 0:i32
infer %2

; RHS inferred successfully
%3:i1 = ult<PHONE_NUMBER>:i32, %0
result %3

Similarly, we can do this for clz(x) == 1, which wasn't harvested from the
CLIF:
%0:i32 = var
%1:i32 = ctlz %0
%2:i1 = eq %1, 1:i32
infer %2

; RHS inferred successfully
%3:i1 = slt<PHONE_NUMBER>:i32, %0
result %3

Note that there is no generalization for clz(x) == C available here (unless
C is larger than x's bit width, in which case it is always false). It only
works for zero and one because we don't need to check for a lower bound on x.
Probably a similar rewrite we could do with clz(x) == OP_BIT_WIDTH.

"Reverse" const propagation of a shl into a select:
========= ./11901186248914954319.result =========
%1:i1 = var
%2:i32 = select %1, 9:i32, 1:i32
%3:i32 = shl -1:i32, %2
infer %3

; RHS inferred successfully
%3:i32 = select %1,<PHONE_NUMBER>:i32,<PHONE_NUMBER>:i32
result %3

Maybe not profitable if %2 is used multiple times, in which case %1's live
range might be extended after this optimization. But I guess this is always true
with these sorts of peepholes...

Haven't dug into this one yet:
========= ./2969648510667058023.result =========
%0:i32 = var
%1:i32 = and %0,<PHONE_NUMBER>:i32
%2:i32 = shl %1, 1:i32
infer %2

; RHS inferred successfully
%3:i32 = add %0, %0
result %3

A bunch of masking off bits that will be shifted out anyways:
========= ./4985840733093600201.result =========
%0:i32 = var
%1:i32 = and %0,<PHONE_NUMBER>:i32
%2:i32 = shl %1, 2:i32
infer %2

; RHS inferred successfully
%3:i32 = shl %0, 2:i32
result %3

========= ./17860953418551930245.result =========
%0:i32 = var
%1:i32 = and %0, 268435455:i32
%2:i32 = shl %1, 4:i32
infer %2

; RHS inferred successfully
%3:i32 = shl %0, 4:i32
result %3

========= ./8617343957324108668.result =========
%0:i32 = var
%1:i32 = and %0, 536870911:i32
%2:i32 = shl %1, 3:i32
infer %2

; RHS inferred successfully
%3:i32 = shl %0, 3:i32
result %3

Replacing an and and an eq with an ult. Haven't thought about these yet.
========= ./9633751011751143656.result =========
%0:i32 = var
%1:i32 = and %0, -2147483648:i32
%2:i1 = eq %1, 0:i32
infer %2

; RHS inferred successfully
%3:i1 = ult %0,<PHONE_NUMBER>:i32
result %3

========= ./3840756061434214754.result =========
%0:i32 = var
%1:i32 = and %0,<PHONE_NUMBER>:i32
%2:i1 = eq %1, 0:i32
infer %2

; RHS inferred successfully
%3:i1 = ult %0, 16:i32
result %3

Unnecessary ors:
========= ./14551618322220925804.result =========
%0:i32 = var
%1:i32 = or %0, 1024:i32
%2:i32 = and %1, 2048:i32
infer %2

; RHS inferred successfully
%3:i32 = and 2048:i32, %0
result %3

========= ./13190508444419006141.result =========
%0:i32 = var
%1:i32 = or %0, 33032:i32
%2:i32 = and %1, 192:i32
infer %2

; RHS inferred successfully
%3:i32 = and 192:i32, %0
result %3

More masking off bits that will be shifted away:
========= ./3703682576609255056.result =========
%0:i32 = var
%1:i32 = and %0, 255:i32
%2:i32 = shl %1, 24:i32
infer %2

; RHS inferred successfully
%3:i32 = shl %0, 24:i32
result %3

========= ./5310030443405410098.result =========
%0:i32 = var
%1:i32 = and %0, 255:i32
%2:i32 = shl %1, 25:i32
infer %2

; RHS inferred successfully
%3:i32 = shl %0, 25:i32
result %3

A ton of "reverse" const prop with comparisons found, here are a few:
========= ./13877742632332331899.result =========
%0:i32 = var
%1:i32 = add %0, 1:i32
%2:i1 = eq %1, 1:i32
infer %2

; RHS inferred successfully
%3:i1 = eq 0:i32, %0
result %3

========= ./3568272213429168939.result =========
%0:i32 = var
%1:i32 = add %0, 44:i32
%2:i1 = eq %1, 3608:i32
infer %2

; RHS inferred successfully
%3:i1 = eq 3564:i32, %0
result %3

========= ./12119931432587256453.result =========
%0:i32 = var
%1:i32 = ashr %0, 2:i32
%2:i1 = slt %1, 24:i32
infer %2

; RHS inferred successfully
%3:i1 = slt %0, 96:i32
result %3

========= ./7033427926372082757.result =========
%0:i32 = var
%1:i32 = and %0, -8:i32
%2:i1 = sle %1, 31:i32
infer %2

; RHS inferred successfully
%3:i1 = slt %0, 32:i32
result %3

And also a bunch "reverse" const prop with other operators as well (not as many
as with comparisons though). Again, here are a few:
========= ./7402500702784523674.result =========
%0:i32 = var
%1:i32 = shl %0, 1:i32
%2:i32 = shl %1, 16:i32
infer %2

; RHS inferred successfully
%3:i32 = shl %0, 17:i32
result %3

========= ./10936462652029262118.result =========
%0:i32 = var
%1:i32 = shl %0, 1:i32
%2:i32 = mul %1, 12:i32
infer %2

; RHS inferred successfully
%3:i32 = mul 24:i32, %0
result %3

========= ./13431533325972989820.result =========
%0:i32 = var
%1:i32 = shl -1:i32, %0
%2:i32 = shl %1, 2:i32
infer %2

; RHS inferred successfully
%3:i32 = shl<PHONE_NUMBER>:i32, %0
result %3

I was looking into souper the other day. I wasn't able to set it up properly, but I noticed we are missing a translation for Bswap in our harvest program. So there might be a few more optimizations possible there.

I should add that in the general case, generalizing an optimization is not a well-posed problem. there are often multiple solutions, and it is often the case that it's not totally clear which one to prefer. so while the Hydra output is (hopefully) correct, it probably contains some examples where you might want to generalize things a different way in practice.
also, this notation:
(sext(1) << x0) << C2
  =>
(sext(1) << C2) << x0

comes from a pretty-printer and is intended to make things easy to read for humans. the machine-readable form is Hydra's internal IR which is an extended version of Souper IR. what I'm saying is that I'm not sure that writing a parser for the pretty-printed output is the right answer. the right answer is probably to write some C++ that fits into Hydra and directly emits Cranelift pattern-matching / rewriting code. if you want to do this, please talk to us and hopefully also Manasij will help out

Thanks @regehr!! Will take a look at these when I have some free cycles.
Out of curiosity, can you provide some more details on what the reported "profit" scores are?

ah, sorry, that's the difference in cost between the LHS and RHS, where cost is souper's idiosyncratic cost model where most stuff has cost 1, a few things like select have cost 3, and then some stuff like intrinsics have cost 5.
we never really arrived at a good cost model for LLVM IR (I talked to many LLVM people about this many times and never really made good progress) and I don't expect it to be a great cost model for Cranelift either. but perhaps it's close enough.

what I'm saying is that I'm not sure that writing a parser for the pretty-printed output is the right answer.

FWIW, if Hydra outputted the same text format as Souper, we would be able to reuse the existing parser I wrote: https://docs.rs/souper-ir/latest/souper_ir/
But yeah, we will definitely reach out again when we look at automating this whole process in the future

what I'm saying is that I'm not sure that writing a parser for the pretty-printed output is the right answer.

FWIW, if Hydra outputted the same text format as Souper, we would be able to reuse the existing parser I wrote: https://docs.rs/souper-ir/latest/souper_ir/
But yeah, we will definitely reach out again when we look at automating this whole process in the future

It does, and that is what our automation for generating an LLVM pass uses.
It assigns meaning to specific identifier names, and has different semantics for width constraints.
For example a %symconst prefix means it is a symbolic constant.  It is pretty much Souper IR other than some details like this, so your parser could work pretty well.

this all sounds great.
but note that some things like bitwidth independence are handled outside of Souper IR, and require some care
if there's something we can do on our side, please let us know, but keep in mind that Manasij plans to defend later this spring, so the earlier the better!


TypeError in /clan/kriegers-home-8g0980rp

Error in ClashLeaders
TypeError in /clan/kriegers-home-8g0980rp
Cannot read property '__symbol@@0.22713157367985004' of undefined
View on Bugsnag
Stacktrace
https://www.clashleaders.com/static/js/vendors.8d68595a3daede5c357b.js:13 - s.Et.Ht.get [as __symbol@@0.22713157367985004]

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
TypeError in /clan/kriegers-home-8g0980rp