Does not work when vlc is set as player_name

If the bug report is of poor quality I appologise as I am very new to this.
I am using Endevour OS, running Hyprland.
I am running the script as instructed in the README, I changed nothing and to my knowledge followed the instructions precisely.
I have downloaded music saved in the .flac format. I know that it has all the necessary metadata (such as cover art). However the script does function properly.
When waybar is reset withplayer_name being set to vlc (confirmed it is the correct player name using playerctl --list-all). I get the following error message:
Traceback (most recent call last):
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 455, in <module>
    main()
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 431, in main
    init_player(manager, player)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 344, in init_player
    update_metadata(player, player.props.metadata, manager)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 226, in update_metadata
    download_art(art_url)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 192, in download_art
    resp = requests.get(art_url)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 697, in send
    adapter = self.get_adapter(url=request.url)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 794, in get_adapter
    raise InvalidSchema(f"No connection adapters were found for {url!r}")
requests.exceptions.InvalidSchema: No connection adapters were found for 'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'

On my waybar it appears as follows:

I have confirmed that the file path is valid and shows the correct cover art.
I can circumvent the issue of the script not working properly by setting something different as the player_name, for example if I set "player_name": "spotify" ( I do not have spotify) and re-run waybar I get no error message, before playing a track it looks like this:

When I play a son using vlc (when "player_name": "spotify" ) it appears to work perfectly only missing the cover art.

Should be fixed now.
Can you update following the update instructions in the new README and try again?

Followed the instructions, updated and set vlc as player_name. The title and porgress bar work, however I still get the following error for the cover art:

Traceback (most recent call last):
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 44, in on_player_appeared
    init_player(manager, player)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 373, in init_player
    update_metadata(player, player.props.metadata, manager)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 236, in update_metadata
    updated = update_progressbar(manager, player)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 349, in update_progressbar
    widget_text = gen_widget_text(player)
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 157, in gen_widget_text
    song_info = title.strip()
                ^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'strip'
Traceback (most recent call last):
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 70, in on_metadata
    update_metadata(player, metadata, manager)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 243, in update_metadata
    download_art(art_url)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 204, in download_art
    raise Exception(
Exception: Unknown protocol for attachment://picture0.jpg. Please report this as a bug.

That's two different errors.

How is it possible that the title is None? What VLC version do you have? Can you send the song over?
This it not a valid scheme according to specification. Where is VLC getting the album art from?

Can you close VLC, run $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv, open VLC, starts playing and copy paste here the stdout you get?

Also try the new version, it won't show the album art but at least it should not crash

I set the player_name back to vlc and ran the script, this time it did work without me having to change anything, upon further testing I realized that it will only set the image of the track  playing IF vlc was launched before vlc. If I play a different track the old cover art (from the inital song I played when waybar was launched remains), however the title and progress bar work prefectly.
If I launch vlc befor waybar:

Then when playing a new song I get the error message written above and my mediaplayer still displays the cover art.

If a launch vlc after waybar is running:

Running $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv
I closed vlc and reset waybar, ran $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv and opened vlc. Here is the entire output:
[main] [INFO] I was called
[main] [DEBUG] Arguments received {'command': 'monitor', 'verbose': 3}
[main] [DEBUG] config={'refresh_interval': 500, 'is_notification': False, 'notification_min_interval': 2, 'widget_length': 20, 'sepchar': '\uf444', 'surface_color': 'rgba(54, 58, 79, 0.5)', 'overlay_color': 'rgba(110, 115, 141, 0.6)', 'interval': 0.1, 'text_rot_int': 1000, 'image_signal': 4, 'length_factor': 1, 'player_name': 'vlc', 'convert_to_jpeg': False}
[main] [DEBUG] Splitting player_name on `.`. requested_player=vlc
[main] [DEBUG] No player found. Printing empty
{"text": "\uf144                   ", "class": "perc0-0", "tooltip": ""}
[on_player_appeared] [DEBUG] I was called
[init_player] [DEBUG] I was called
[init_player] [DEBUG] name.name=vlc
[init_player] [DEBUG] Calling update_metadata
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=0.0
[update_progressbar] [DEBUG] pmetadata=@a{sv} {}
[update_progressbar] [DEBUG] ERROR: The player is not reporting the length of the song to us. Progress bar won't work.
Traceback (most recent call last):
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 44, in on_player_appeared
    init_player(manager, player)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 373, in init_player
    update_metadata(player, player.props.metadata, manager)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 236, in update_metadata
    updated = update_progressbar(manager, player)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 349, in update_progressbar
    widget_text = gen_widget_text(player)
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 157, in gen_widget_text
    song_info = title.strip()
                ^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'strip'
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=10.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Can't Take Me Down", "class": "perc0-0", "tooltip": "Can't Take Me Down\n    Dead Posey\n   Blue Monday"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
Traceback (most recent call last):
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 70, in on_metadata
    update_metadata(player, metadata, manager)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 243, in update_metadata
    download_art(art_url)
  File "/home/jernej/.config/waybar/waybar-mediaplayer/src/mediaplayer", line 204, in download_art
    raise Exception(
Exception: Unknown protocol for attachment://picture0.jpg.  Can you try to update the module please?
You lack this commit: https://github.com/raffaem/waybar-mediaplayer/commit/ac575818d847fe77b55d98e748cdffaea4c14d38

I updated the comment to make it clearer that the title and progress bar work flawlessly, thank you :)

I updated the comment to make it clearer that the title and progress bar work flawlessly, thank you :)

I don't understand.
From the output you posted here: https://github.com/raffaem/waybar-mediaplayer/issues/2#issuecomment-1911811041, I have reasons to believe you are running an old version of the software.
Can you update following these instructions: https://github.com/raffaem/waybar-mediaplayer#update?

My apologies, I believe I started making this comment before the latest fix was available, however on the version I was using the track title and progress bar still function flawlessly. I have updated to the latest version now.
The mediaplayer no longer throws out any errors.
I again, closed vlc and reset waybar, ran $HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv and opened vlc.
Here is the output:
[main] [INFO] I was called
[main] [DEBUG] Arguments received {'command': 'monitor', 'verbose': 3}
[main] [DEBUG] config={'refresh_interval': 500, 'is_notification': False, 'notification_min_interval': 2, 'widget_length': 20, 'sepchar': '\uf444', 'surface_color': 'rgba(54, 58, 79, 0.5)', 'overlay_color': 'rgba(110, 115, 141, 0.6)', 'interval': 0.1, 'text_rot_int': 1000, 'image_signal': 4, 'length_factor': 1, 'player_name': 'vlc', 'convert_to_jpeg': False}
[main] [DEBUG] Splitting player_name on `.`. requested_player=vlc
[main] [DEBUG] No player found. Printing empty
{"text": "\uf144                   ", "class": "perc0-0", "tooltip": ""}
[on_player_appeared] [DEBUG] I was called
[init_player] [DEBUG] I was called
[init_player] [DEBUG] name.name=vlc
[init_player] [DEBUG] Calling update_metadata
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=0.0
[update_progressbar] [DEBUG] pmetadata=@a{sv} {}
[update_progressbar] [DEBUG] ERROR: The player is not reporting the length of the song to us. Progress bar won't work.
{"text": "\uf144                   ", "class": "perc0-0", "tooltip": "\n\n"}
[update_progressbar] [DEBUG] Returning True
[update_metadata] [DEBUG] Returning
[register_refresh_interval_callback] [INFO] I was called
[init_player] [DEBUG] Returning None
[on_player_appeared] [DEBUG] Returning True
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=6.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 Can't Take Me Down", "class": "perc0-0", "tooltip": "Can't Take Me Down\n    Dead Posey\n   Blue Monday"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Invalid schema for attachment://picture0.jpg. Please report this as a bug.
[update_metadata] [DEBUG] Returning
[on_metadata] [DEBUG] Returning True
[on_metadata] [DEBUG] I was called
[update_metadata] [INFO] I was called
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=5.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
{"text": "\uf144 e Me Down \uf444 Can't Tak", "class": "perc0-0", "tooltip": "Can't Take Me Down\n    Dead Posey\n   Blue Monday"}
[update_progressbar] [DEBUG] Returning True
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Album art '/home/jernej/.cache/vlc/art/artistalbum/Dead Posey/Blue Monday/art.jpg' symlinked to '/tmp/waybar-mediaplayer-art'
[update_metadata] [DEBUG] Returning
[on_metadata] [DEBUG] Returning True
[on_playback_status] [INFO] I was called
[on_playback_status] [DEBUG] status=<enum PLAYERCTL_PLAYBACK_STATUS_PLAYING of type Playerctl.PlaybackStatus>
[on_playback_status] [DEBUG] Calling register_refresh_interval_callback
[register_refresh_interval_callback] [INFO] I was called
[register_refresh_interval_callback] [DEBUG] Registering `refresh_interval` callback
[on_playback_status] [DEBUG] Calling update_progressbar
[update_progressbar] [DEBUG] I was called
[update_progressbar] [DEBUG] pos=0
[update_progressbar] [DEBUG] pos from CLI=13.0
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[update_progressbar] [DEBUG] length=196693832
[update_progressbar] [DEBUG] Song is the same and neither the text nor the progressbar needs an update.  I have updated to the latest version now.

Ok, so what problem remains? Not showing cover art?

Although the first time your VLC is sending an invalid schema for the album cover art:
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[...]
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Invalid schema for attachment://picture0.jpg. Please report this as a bug.

From the second time on it sends a correct schema, and the file is indeed copied (symlink is an error, it is copied):
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'file:///home/jernej/.cache/vlc/art/artistalbum/Dead%20Posey/Blue%20Monday/art.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Album art '/home/jernej/.cache/vlc/art/artistalbum/Dead Posey/Blue Monday/art.jpg' symlinked to '/tmp/waybar-mediaplayer-art'

Can you post your entire (not just this module) $HOME/.config/waybar/config?

I do not understand, do you want my entire waybar config?
Additionally this bug:
[update_progressbar] [DEBUG] pmetadata={'mpris:trackid': <objectpath '/org/videolan/vlc/playlist/3'>, 'xesam:url': <'file:///home/jernej/Music/rock%20on/01%20-%20Dead%20Posey%20-%20Can%27t%20Take%20Me%20Down%28Explicit%29.flac'>, 'xesam:title': <"Can't Take Me Down">, 'xesam:artist': <['Dead Posey']>, 'xesam:album': <'Blue Monday'>, 'xesam:tracknumber': <'2'>, 'vlc:time': <uint32 196>, 'mpris:length': <int64 196693832>, 'xesam:genre': <['']>, 'xesam:contentCreated': <'2022-09-23'>, 'mpris:artUrl': <'attachment://picture0.jpg'>, 'vlc:copyright': <'© 2022 Position Music'>, 'vlc:length': <int64 196693>, 'vlc:publisher': <3>}
[...]
[download_art] [DEBUG] Updating album art
[download_art] [DEBUG] Invalid schema for attachment://picture0.jpg. Please report this as a bug.

Does not appear anymore, there are no errors in the waybar log.

I do not understand, do you want my entire waybar config?

Yes, please.
I suspect some other module is intercepting the signal we are sending to waybar that tells it to update the image on the bar.

I have neglected to comment out a different music player, I have commented it out and restarted waybar however I still don't get the cover. Here is my config.jsconc as of now:
{
    "layer": "top",
    "position": "top",
    "mod": "dock",
    "exclusive": true,
    "passtrough": false,
    "gtk-layer-shell": true,
    "height": 0,
    "modules-left": [
    "clock",
        "cpu",
        "memory",
        "disk",
     "image", "custom/mediaplayer"
        // "custom/weather",
  //  "hyprland/workspaces",
    // "custom/playerctl", "custom/playerlabel"

    ],
    "modules-center": ["hyprland/workspaces"],
    "modules-right": [
        "tray",
        "network",
        "network#wifistrenght",
        "backlight",
        // "custom/updates",
        //"custom/language",
        "pulseaudio",
        "pulseaudio#microphone",
	    "battery",
	    "battery#icon"
	    //"custom/powermenu"
    ],

    "hyprland/window": {
        "format": "{}"
    },
    "hyprland/workspaces": {
        "on-scroll-up": "hyprctl dispatch workspace e+1",
        "on-scroll-down": "hyprctl dispatch workspace e-1",
            "1": "1",
            "2": "2",
            "3": "3",
            "4": "4",
            "5": "5",
            "6": "6",
            "7": "7",
            "8": "8",
            "9": "9",
            "0": "10",

        "all-outputs": true,
        "on-click": "activate",
        "format": "{icon}",
        "format-icons": {
            "1": "1",
            "2": "2",
            "3": "3",
            "4": "4",
            "5": "5",
            "6": "6",
            "7": "7",
            "8": "8",
            "9": "9",
            "0": "10",

            "urgent": "",
            // "active": "",
            "default": ""
          }
    },

"image": {
  "path": "/tmp/waybar-mediaplayer-art",
  "size": 32,
  "signal": 2,
  "on-click": "feh --auto-zoom --borderless --title 'feh-float' /tmp/waybar-mediaplayer-art"
},

"custom/mediaplayer": {
    "exec": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor",
    "return-type": "json",
    "format": "{}",
    "on-click": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer play-pause",
    "on-scroll-up": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer next",
    "on-scroll-down": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer previous",
    "min-length": 20,
    "max-length": 20
},
/*
    "custom/playerctl": {
      "format": "{icon}",
      "return-type": "json",
      "max-length": 64,
      "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
      "on-click-middle": "playerctl play-pause",
      "on-click": "playerctl previous",
      "on-click-right": "playerctl next",
      "format-icons": {
        "Playing": "󰒮 󰐌 󰒭",
        "Paused": "󰒮 󰏥 󰒭"
      },
    },

    "custom/playerlabel": {
      "format": "{}",
      "return-type": "json",
      "max-length": 48,
      "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
      "on-click-middle": "playerctl play-pause",
      "on-click": "playerctl previous",
      "on-click-right": "playerctl next",
      "format-icons": {
        "Playing": "󰒮 󰐌 󰒭",
        "Paused": "󰒮 󰏥 󰒭"
      },
    },
 */

     "cpu": {
         "interval": 5,
    //     "hwmon-path-abs": "/sys/class/hwmon/hwmon2/temp1_input",
	  //   "input-filename": "temp1_input",
    "format": "{icon} {usage}% ",
    "format-alt": "{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}{icon8}{icon9}",
     "format-icons": [
          "▁", // green
          "▂", // blue
          "▃", // white
          "▄", // white
          "▅", // yellow
          "▆", // yellow
          "▇", // orange
          "█"  // red
     ],
         "max-length": 10,
        // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
        // "thermal-zone": 2,
         //"format-alt": "{temperatureC}°C"
     },
     "memory": {
         "interval": 30,
         "format": "  {}%",
         "format-alt":"  {used:0.1f}G",
         "max-length": 10
     },

    "disk": {
    "format": "󰋊 {percentage_used}%",
    "format-alt": "󰋊 {used}/{total}",
    "interval": 90,
    "tooltip": true,
    "tooltip-format": "Free space: {free}",
    "path": "/"
  },

    "backlight": {
        "exec": "light -G",
        "format": "| {percent}% {icon}  |",
        "format-icons": //note you can only have one icon set actiave at a time, commnt out the one you are not using
    // ["", "", "", "", "", "", "", "", ""] //moonphase icons
    ["󰛩","󱩎", "󱩏", "󱩐", "󱩑", "󱩒", "󱩓", "󱩔", "󱩕", "󰛨"] //lightblulb icons
  },

//    "custom/updates": {
//        "exec": "(paru -Qua) | wc -l",
 //       "interval": 7200,
  //      "format": " {}"
 //   },
  //  "custom/language": {
 //        "exec": "setxkbmap -query | grep 'layout:'" ,
 //        "interval": 3,
 //        "format": " {}",
 //        "tooltip": false
 //    },
 //   "custom/weather" : {
 //       "tooltip" : true,
 //       "format" : "{}",
 //       "restart-interval" : 300,
 //       "exec" : "~/.config/waybar/scripts/waybar-wttr.py",
 //       "return-type" : "json"
 //   },
    "tray": {
        "icon-size": 13,
        "tooltip": false,
        "spacing": 10
    },
    "clock": {
	"interval": 1,
       "format": "󰅐  {:%R:%S    %d/%m}",
        "tooltip-format": "<tt>{calendar}</tt>",
    "calendar": {
                    "mode"          : "year",
                    "mode-mon-col"  : 3,
                    "weeks-pos"     : "right",
                    "on-scroll"     : 1,
                    "on-click-right": "mode",
                    "format": {
                              "months":     "{}",
                              "days":       "{}",
                              "weeks":      "W{}",
                              "weekdays":   "{}",
                              "today":      "{}"
                              }
                    },

    },

    "pulseaudio": {
        "format": "{icon} {volume}%",
        "tooltip": false,
        "format-muted": "󰸈 Muted",
        "on-click": "pamixer -t",
        "on-scroll-up": "pamixer -i 1",
        "on-scroll-down": "pamixer -d 1",
        "scroll-step": 1,
        "format-icons": {
            "headphone": "",
            "hands-free": "",
            "headset": "",
            "phone": "",
            "portable": "",
            "car": "",
            "default": ["", "", "󰕾"]
        }
    },
    "pulseaudio#microphone": {
        "format": "{format_source}",
        "tooltip": false,
        "format-source": " {volume}%",
        "format-source-muted": " Muted",
        "on-click": "pamixer --default-source -t",
        "on-scroll-up": "pamixer --default-source -i 1",
        "on-scroll-down": "pamixer --default-source -d 1",
        "scroll-step": 5
    },

    "battery": {

    "interval": 60,

    "format": "{capacity}%",
    "format-alt": "{power}",
        // "format-good": "", // An empty format will hide the module
        // "format-full": "",

    },

    "battery#icon": {

    "format": "{icon}",
    "format-icons": {
        "default":
      [
    "󱃍", // red for very low charge
    "󰁺", // red for low charge
    "󰁻", // orange for medium-low charge
    "󰁼", // yellow for medium charge
    "󰁽", // yellow for medium-high charge
    "󰁾", // yellow for medium-high charge
    "󰁿", // green for higher charge
    "󰂀", // green for even higher charge
    "󰂁", // green for full charge or nearly full
    "󰂂", // green for full charge
    "󰂃"  // red for 100% charged
],

    "charging": ["󰢟", "󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"]
    },
    "format-charging": "{icon}",
    "format-plugged": "{capacity}% ",
    "format-alt": "{time} {icon}"
    },

    "network": {
        // "interface": "wlp2*", // (Optional) To force the use of this interface
        "format-wifi": "{icon}",
        "on-click": "./.config/wofi/wifimenu.sh",
        "format-icons": ["󰤯", "󰤟", "󰤟", "󰤥", "󰤨"],
        "format-disconnected" : "󰤫",
        "format-ethernet": "󰈀"

    },

    "network#wifistrenght" : {
    "format-wifi": "{signalStrength}%",

   // "format-ethernet": "{ipaddr}/{cidr}",
    "tooltip-format": "{ifname} via {gwaddr} ",
    "format-disconnected": "Disconnected ⚠",
    "format-alt": "{essid}| {ifname}: {ipaddr}/{cidr} |"
    }

  // "custom/powermenu": {
    //    "format": "",
      //  "on-click": "./.config/rofi/powermenu/type-2/powermenu.sh",
        //"tooltip": false

}

Additionally, please do as follows:

Update this module to the latest version (very important)
Kill waybar, kill vlc
Change $HOME/.config/waybar/config to:

	"custom/mediaplayer": {
		"exec": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer monitor -vvv",
		"return-type": "json",
		"format": "{}",
		"on-click": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer play-pause",
		"on-scroll-up": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer next",
		"on-scroll-down": "$HOME/.config/waybar/waybar-mediaplayer/src/mediaplayer previous",
		"min-length": 20,
		"max-length": 20
	},

(we added -vvv to the waybar-mediaplayer command)
4. Run waybar 1>test.log 2>&1
5. Open vlc, play your song
6. Open /tmp/waybar-mediaplayer-art with whatever image editor you have, check what image it contains
7. Change song in VLC
8. Open /tmp/waybar-mediaplayer-art with whatever image editor you have, check what image it contains
9. Kill waybar (CTRL+Z)
10. Upload test.log here

"image": {
  "path": "/tmp/waybar-mediaplayer-art",
  "size": 32,
  "signal": 2,
  "on-click": "feh --auto-zoom --borderless --title 'feh-float' /tmp/waybar-mediaplayer-art"
},

Why you have signal: 2 here?
The provided config.json contains signal: 4: https://github.com/raffaem/waybar-mediaplayer/blob/master/src/config.json
Change the 2 to 4 and restart waybar.

Oh so so sorry! I forgot to update the README once again! Totally my fault.

I updated the README. Use the new configuration indicated in the README for your $HOME/.config/waybar/config and album art switching will work.

It woks. Art switching with vlc does work now. A quick note with vlc sometimes the art will not display, resenting vlc fixes that
Also tested with Amberol and confirmed it works too.
Tested with Firefox and confirmed it works too.
I would like to thank you sincerely for all the help and getting it fixed so fast :)
Just in case you need more testing,  I will be unavailable for the next 3 hours since I have a programming completion.

Good.
kew fixed its bugs too, so it should work also with kew now.
Thank you very much for the bug report and the testing.


feat: add gh workflow for auto release ticket creation

Description Of Changes
Addresses https://sendbird.atlassian.net/browse/CLNP-176
This PR is a very beginning the project of automating our release process. Two small things are done in this PR,

[x] Added a new gh workflow file to receive a signal from outside of Github  e.g. Slack / GIthub CLI / Other 3party tools
👉🏻 This enables to create a release Jira ticket without navigating to Jira board or Github.
(Got an idea from a proposal from @sravan-s, see the Slack bot section)
Once this workflow file is merged into main branch, running this below command from a Slack channel will create a ticket.  Note that the command accepts only branch_name at the moment.

/github workflow dispatch sendbird/sendbird-uikit-react --workflow release-ticket-reaction.yml -i branch_name=your-branch-name

The newly created ticket can be found in #sdk-release-approver channel in Slack. You can ask the approvers to check the ticket in the channel.
But yeah, the cmd is too long to remember. So I'm thinking of creating a short custom command in Slack for the sake of easy-use.

[x] Modified the Circle CI config to take an advantage of existing Jira ticket creation pipeline
👉🏻 got the most of logic from the chat ios repo; https://github.com/sendbird/chat-ios/blob/develop/.github/workflows/pr-comment-bot.yml#L90

To test this workflow_dispatch trigger method, the file should be in the default base branch; main branch.
So let me merge this into the main branch. I'll test this more from my side and will fix if it doesn't work as I expected.


Dynamic client registration

I couldn't find much documentation on how to configure the module to use dynamic client registration. Any additional pointers on required configuration parameters? My simplified Apache config looks like:
Listen 9000
LogLevel info
ServerName localhost:9000

LoadModule auth_openidc_module /usr/lib/apache2/modules/mod_auth_openidc.so

<VirtualHost _default_:9000>
OIDCCryptoPassphrase secret
OIDCRedirectURI http://localhost:9000/redirect_uri
OIDCMetadataDir /var/lib/apache2/openid-client-creds
OIDCSSLValidateServer Off

<Location />
    AuthType openid-connect
    Require valid-user
</Location>
</VirtualHost>

This config results in me getting the discovery page where I can enter the issuer identifier. Then I get the error page and the logs show:
[Tue Sep 15 06:31:48.855711 2015] [auth_openidc:warn] [pid 7066:tid<PHONE_NUMBER>02272] [client XXX] oidc_util_file_read: no file found at: "/var/lib/apache2/openid-client-creds/<provider>.client"
[Tue Sep 15 06:31:48.862428 2015] [auth_openidc:error] [pid 7066:tid<PHONE_NUMBER>02272] [client XXX] oidc_util_decode_json_and_check_error: JSON parsing returned an error: '[' or '{' expected near end of file
[Tue Sep 15 06:31:51.223446 2015] [auth_openidc:warn] [pid 7066:tid<PHONE_NUMBER>09568] [client XXX] oidc_metadata_provider_is_valid: requested issuer (<provider>) does not match the "issuer" value in the provider metadata file: https://<provider>, referer: http://localhost:9000/
[Tue Sep 15 06:31:51.223507 2015] [auth_openidc:warn] [pid 7066:tid<PHONE_NUMBER>09568] [client XXX] oidc_util_file_read: no file found at: "/var/lib/apache2/openid-client-creds/<provider>.client", referer: http://localhost:9000/
[Tue Sep 15 06:31:51.230625 2015] [auth_openidc:error] [pid 7066:tid<PHONE_NUMBER>09568] [client XXX] oidc_util_decode_json_and_check_error: JSON parsing returned an error: '[' or '{' expected near end of file, referer: http://localhost:9000/

So it seems the module is incorrectly trying to read the static client info (which doesn't exist) instead of dynamically registering with the provider.

I believe the error may be about a different file (.provider or .conf) than the .client one. Could you increase the debug level to verify? (LogLevel debug)

Thanks for your quick feedback; increasing the logging revealed that no response was received to the registration request. This was due to an error at my provider, not with the module!

I'm reopening the ticket to remind me that logging around this scenario needs to be enhanced.


Can not run test or inference

Hi!
I tried both on cpu and gpu for test_SRGAN.sh and inference_SRGAN.sh, but it is frozen at the step starting to evaluate, in which the data would be fed to the generator and output the results.
I am using amazon AWS deep learning AMI version 4, p2.xlarge instance. Tensorflow version is 1.5.0. I tried both on python 2.7 and python 3.6.
The memory usage of the process on my instance(61GB mem total) keeps growing and and I can not even make a single pass for one single test_image(I used the test_image in the repo).......

try to change the image you use , or use the original image from the ./data/test_LR


Minor changes for the upcoming release

Minor changes that were sitting in my local git repository.
@flferretti feel free to push similar changes, if you have any.

📚 Documentation preview 📚: https://jaxsim--173.org.readthedocs.build//173/

I finally managed to debug the problem on the new check on frame transforms, it has been quite hairy. It turned out that we need to make also JaxSimModel.description hashable (before its has was disabled). Now things should work fine.
@flferretti as soon as CI turns green, I'm ready to merge.


Sizable interface fix

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
The Sizable interface is not named 'correctly'.
Fixes: N/A
What is the new behavior?
Updating interface name to use American English version.
Does this PR introduce a breaking change?
[x] Yes
[ ] No

Other information

Given that this is still a reasonable interface name and changing it would be breaking -- I don't see a need for this change.


content: New Decision - Where to Host My Static Tech Blog

Thanks to @iennae for review.

ooh, digging the forked road image :D


Support for identity attributes in azuread_user table

Description
The azuread_user table has no option to get custom fields.
Solution Description
There should be a column for custom fields.
Alternate Solution Description
A Column for each custom value is also possible.

Hello @Vishal-Shunyeka, thank you so much for raising this issue 👍 !!
Could you please give more information (like API references/console snapshots) on what kind of custom attributes you are looking for? This would help test the new column.

Hi @misraved  ,
Fixed the issue name, I was mistaken, these aren't custom attributes but Inherent Identity attributes like "Job Information".
Example Employee ID in this Screenshot.


Cannot create a standard instance from a spot machine image because serde skips serializing instance_terminatio_action

This is probably more of a bug in the openapi specification.
I have a machine image created from a spot instance. The plan is to create a standard instance using that image. This is possible in the browser.
This is the code that should do this(the full code is here):
let instance = compute_instances_insert(
        &compute_v1_config,
        ComputePeriodInstancesPeriodInsertParams {
            project: project.clone(),
            zone,
            source_machine_image: Some(format!(
                "projects/{}/global/machineImages/{}",
                project,
                machine_image.name.as_ref().unwrap()
            )),
            instance: Some(Instance {
                name: Some(format!("nested-qemu-{}", rng.gen::<u32>())),
                scheduling: Some(Box::new(Scheduling {
                    preemptible: Some(false),
                    provisioning_model: Some(ProvisioningModel::Standard),
                    instance_termination_action: None,
                    ..Default::default()
                })),
                ..Default::default()
            }),
            ..Default::default()
        },
    )
    .await
    .unwrap();

When creating the instance i get this error:
ResponseError(ResponseContent { status: 400, content: "{\n  \"error\": {\n    \"code\": 400,\n    \"message\": \"Invalid value for field 'resource.scheduling.instanceTerminationAction': 'STOP'. You cannot specify a termination action for a VM instance that has the standard provisioning model (default). To use instance termination action, the VM instance must use the Spot provisioning model.\",\n    \"errors\": [\n      {\n        \"message\": \"Invalid value for field 'resource.scheduling.instanceTerminationAction': 'STOP'. You cannot specify a termination action for a VM instance that has the standard provisioning model (default). To use instance termination action, the VM instance must use the Spot provisioning model.\",\n        \"domain\": \"global\",\n        \"reason\": \"invalid\"\n      }\n    ]\n  }\n}\n", entity: Some(UnknownValue(Object {"error": Object {"code": Number(400), "errors": Array [Object {"domain": String("global"), "message": String("Invalid value for field 'resource.scheduling.instanceTerminationAction': 'STOP'. You cannot specify a termination action for a VM instance that has the standard provisioning model (default). To use instance termination action, the VM instance must use the Spot provisioning model."), "reason": String("invalid")}], "message": String("Invalid value for field 'resource.scheduling.instanceTerminationAction': 'STOP'. You cannot specify a termination action for a VM instance that has the standard provisioning model (default). To use instance termination action, the VM instance must use the Spot provisioning model.")}})) })

This is despite explicitly setting the instance_termination_action to be None(i know this is the default value).
My guess as to why this is:

Serde skips serializing the value when it is None, which is correct in the normal case
GCP inherits the field from the created image, where it is set to STOP

This is seemingly confirmed by deleting the  skip_serializing_if = "Option::is_none" part of the macro above the field and running cargo clean and cargo run, upon which the instance is successfully created.

Hm, interesting. Let me check if I can do something here. You're right, it is some kind of limitation coming from Open API spec generator. For convenience for most of the APIs None means absence of fields, here we want to actually have explicit nulls. Need to figure out if there is better way to handle this.

This particular field can be fixed this way:
https://github.com/abdolence/gcloud-sdk-rs/pull/143
Let me know what do you think.
I would appreciate help with the testing, since you're already using this API in your application.
Also let me know if I need to mark other fields there the same way.
This is not ideal, fixing the original spec, but better than having a bug inside.


Improve explanation of "compacted with the parent"

Testing #101009
The comment for the new "noCompact" option says:

Controls if the debug session created will be compacted with the parent in the CALL STACK view. Compact with the parent is only done if the session is the only child of its parent session. Default is to compact.

IMO "compacted with the parent" is not very clear to me. I think this can be improved to something like:

Controls if the debug session's parent session is shown even if it has only a single child. Default is to hide the parent session in this case in order to make the tree more compact.

@connor4312 any suggestions from a native speaker?

I like the rewording. Something I was initially confused about was where noCompact applied -- to the subtree, children, parents? Maybe something like this:

By default, debug sessions with a single child are hidden in the CALL STACK view to make the tree more compact. If noCompact is true, then the new debug session will never hide its parent.

Thanks for feedback!
Landed on
Controls if the debug session's parent session is shown in the CALL STACK view even if it has only a single child.
By default, debug sessions with a single child are hidden in the CALL STACK view to make the tree more compact.
If noCompact is true, then the debug session will never hide its parent.


fix duplicate keys in footer icons

I have the same username for a few different social media accounts, so I got the duplicate keys warning from React. Now the key is based on the social media site name, not the username.

@seafoam6  Looks good to me. Thanks for raise a PR and fixing the issue. :heart:

@seafoam6  Looks good to me. Thanks for raise a PR and fixing the issue. :heart:


Not able to download it to my Hugo site

I'm mot able to download the hugo mod to my hugo website.
I've got these from my command line (Windows 11)
go: github.com/hugomods/images: invalid github.com import path "github.com/hugomods"
Error: failed to get ["-d" "-u" "github.com/hugomods/images"]: failed to execute 'go [get -d -u github.com/hugomods/images]': failed to execute binary "go" with args [get -d -u github.com/hugomods/images]: go: github.com/hugomods/images: invalid github.com import path "github.com/hugomods"
 *errors.errorString

Here is my go.mod file from my root directory:
module github.com/hugomods/images
go 1.22.0
require github.com/hugo-mods/icons v0.0.0-20220508080705-d938a1900b1c // indirect

and here is my hugo.toml from my root directory
baseURL = 'hidden'
languageCode = 'en-us'
title = 'hidden'

theme = 'nightfall'

[module]
    [[module.imports]]
    path = "github.com/hugomods/images"
    [[module.imports]]
    path = "github.com/hugo-mods/icons"

[params]
    user = 'patrick'
    hostname = 'hideout.com'
    published = false
    readingTime = false

What goes wrong?

That's caused by the wrong module path in your go.mod.
module github.com/hugomods/images

The module path is typically your repo path, such as example.com/foo/bar.
In this case, you're declaring your module path as same as this module while it should not, change the module path (go.mod) with your own then it should work.

Honestly, I don't get it bc it'works with hugo-mods/icons. Why can be a friend an tell me step by step what should I do? Sorry I'm a newbie at hugo. Thanks for your support here @razonyang :-)

change the module path (go.mod) with your own then it should work.

Hi, the solution is already provided, here is the detailed steps, hope it helps.

Replace module github.com/hugomods/images with something else in your go.mod, since it's conflicted with the images module, for example, module github.com/pthoelken/mysite.

module github.com/pthoelken/mysite
go 1.22.0
require github.com/hugo-mods/icons v0.0.0-20220508080705-d938a1900b1c // indirect

And then restart Hugo server or rebuild site.

I'm closing this, please re-poen it if it doesn't work.


Clarification

I would like to find a row in a DataView via a composite key where one of the values is null.  For instance:
dataView.Sort = "NullableColumn1, NullableColumn2";
var found = dataView.Find(new object[]{1, null})).
Would I be correct in thinking that this is not possible?
When I try this I an ArgumentException is thrown: "Expecting 2 value(s) for the key being indexed, but received 1 value(s)."

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8c790b40-d953-47bb-bb42-3f26d88693b9
Version Independent ID: bb02d523-2d99-60cc-98ef-54e31ab98a21
Content: Finding Rows
Content Source: docs/framework/data/adonet/dataset-datatable-dataview/finding-rows.md
Product: dotnet-framework
GitHub Login: @douglaslMS
Microsoft Alias: douglasl

@KSS-thompsona2 Please test with DbNull.Value in place of "null" in the Find method, and let me know whether that works for you.

@KSS-thompsona2 Have you had an opportunity to test the alternate argument we suggested?

Hey Douglas,
Using dataView.Find(new object[] { 1, DBNull.Value }); does indeed work.
Thank you,
Tony ;-)


Register HP50g

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 34937b5e-eda3-9c93-c31b-0701ea61198a
Version Independent ID: 36f54d9f-503d-ea0a-bff2-3441571f8d44
Content: Quick guide to Windows as a service (Windows 10) - Windows Deployment
Content Source: windows/deployment/update/waas-quick-start.md
Product: w10
Technology: windows
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

Looks like a test comment. No issue information presented above.
#please-close


Add support for eslint plugins

This PR adds the ability to use eslint plugins. Currently, the only one included is the react plugin, but I've written it in a way that it should be easy to add any others that we want to support.
Unfortunately, I couldn't think of a good way to import the plugins from github at runtime, so the minified plugin source must be included in the gem. So, I've also written a little shell script that can be used to download, minify, and include a given list of plugins.
I haven't updated the readme to reflect these changes yet. Let me know if you want me to do that, and what I should include.

@jonkessler Any chance of getting this reviewed and merged soon?

Yes, I've been pretty busy, sorry. I'll take a look soon.

👍 Thanks!

Alright, I made the requested changes. Let me know if you want me to change anything else.

Alright, that's fixed. Sorry about that.

No worries. Thanks for fixing!

Released version 1.2.0. Thanks again!


Make sure the Windows scroll fix always catches the spurious second event

For #11083.
The spurious second scroll event's delta is at least 3 times as high as the first one, so we want it to not be applied by all means necessary.

Closing this now as we have finally managed to resolve this long-standing issue by using a newer CEF version!


Kong Error : No Api key found in request

Bug report
Describe the bug
I am trying to use flutter client of supabase to send a password reset link, however i am using "redirect to" param to redirect the user to my app, where i show my user the reset form. When the user clicks on reset link received in email, the user receives the error
Which Link Do i receive ?
https://[hidden-project-id].supabase.co/auth/v1/verify?token=zBhzNsGKt2ICKpaD6-zlrw&type=recovery&redirect_to=com.mobile.app://reset-callback/

Where does the above link redirect to (when clicked) ?
https://[hidden-project-id].supabase.co/auth/v1/com.mobile.app://reset-callback/#error_code=404&error_description=User+not+found

Client reports no error and so far the user exists in the Dashboard > Auth > Users with the email.
Note: I have already added the "redirect url" in my additional redirect urls, seperated by comma (since there are two) and i have also added the deep links
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Use Supabase Flutter
have a user registered using email
reset password using .resetPasswordForEmail() function with redirect url as "com.app_name.etc://reset-callback"
Receive the email
Click the email link
See Kong Error

Expected behavior
Link should redirect user to my app's deep link (as entered in redirect url param)
Screenshots

Url that causes this:
https://[hidden-project-id].supabase.co/auth/v1/com.mobile.app://reset-callback/#error_code=404&error_description=User+not+found

System information

OS: Android 11
Browser (Noop)
Version of supabase_flutter (^0.2.9)

@kangmingtay is it gotrue server bug with custom redirect URL scheme for mobile ?

Anyone help ? My app launch is in few days and this issue is now a bummer for my patients.

hey @dukesx, can you please email<EMAIL_ADDRESS>so we can investigate your project if its urgent? thanks!

@kangmingtay i have emailed supabase support.

I have a similar issue.
Is there anything that progress?

Hi @Jay-flow can you open a new issue with related detail for your problem.

In my case, there is a problem with the signup
It receives normally when signing up by e-mail, but when I click the link I received, an error occurs as shown in the picture below.

The redirect URL is as follows.
https://${API_URL}/auth/v1/${DEEP_LINK}/#access_token=${ACCESS_TOKEN}&expires_in=3600&refresh_token=${REFRESH_TOKEN}token_type=bearer&type=signup
I confirmed that the deep link is configured on Android.


Tweaks to DropView Image

Per the earlier email, I tweaked the Drop View image to a dark color. I also made some other small changes for DropHere text style/size and renamed the DropHere image assets to functional names with corresponding code changes.

Changed DropHere normal (NoHighlight) images to gray (#aaaaaa).
changed DropHere text font to Helvetica Neue Thin 24 and centered.
changed Image assets folder and file names to reflect state rather color and updated Constants.h

Great job, tested it before merge, looks really good.


Non-blocking GpioChangeWriter does not work on NXP devices

EMX, USBizi, EMM: Signal is always high in non blocking mode.
Something with timer or interrupt?

Fixed. The timer wasn't released when reset soft TinyCLR => Timer stoped working on some device.


Update BIP32.swift to make privKey public.

In order to use individual child keys to sign a PSBT or raw transaction we need to be able to access privKey. Considering the xprv property is public it does not seem to do any harm to expose a child key. Signing single sig psbt's with anything but the root xprv does not seem to work. I would like to solve that issue but in order to do that I need to be able to access child private keys. Generally speaking it would be nice to access child private keys to sign transactions with irregardless.

+1 to making the xpriv public.

Ah yes, the xpriv cat is already out of the bag.
utACK e1dbb7d1eb3692d9339148ea06eec58353bc5630

Thanks, merged via the web interface because the original branch seems to have disappeared.


Strong Name Sign

Is it possible to strong name sign the DLL in your nuget package distro?

You'd have to wire it up yourself from the src I'm afraid. I don't get many requests for it.
I need to change the build process actually so as to make it more flexible.
What's the use case for strong naming anyway. I'm torn about it after reading these.
http://blog.marcgravell.com/2014/06/snk-we-need-to-talk.html
http://blog.marcgravell.com/2014/07/snk-and-me-work-out-compromise.html

Actually I think you might be able to use this to do it.
https://www.nuget.org/packages/Nivot.StrongNaming/<IP_ADDRESS>

I am using that already but it's not great, it doesn't present a gui, it doesn't work from build events and only from command line and therefore I can't set it up so it works automatically for every user of the project. I need it strong signed because it's necessary for my distribution. Understand if you don't want to do it, was just hoping it was something you would be able to do.

It's not something I have any experience with really. Wouldn't it have an affect on my version numbers?
If I can improve my build process I might be able to automate a strong version. I can't promise just now though as I don't know how successful I will be.

A Strong Name is only as trustworthy as the signer's ability to properly manage the private key of the Strong Name Key Pair.  If you are going to take on the responsibility of Strong Naming your assemblies, I strongly encourage you to read up on how to protect the private key of your Strong Name Key Pair.  For instance, the process of delay-signing your assemblies describes how to extract and distribute the public key of our your SNK while keeping your private key secured.
I've seen many open source projects openly publish their key pair along with the source code.  In my opinion, this completely invalidates the purpose of strong naming the assembly in the first place.
I've been working with Strong Named Assemblies for many years.  I'm very happy to further discuss the pros and cons of Strong Naming and my take on how to best manage the build process and protect your keys.


Update license copyright to CakePHP Software Foundation

PR updates the LICENSE file to indicate that the CakePHP Software Foundation has held the copyright for Phinx since 2017 when @robmorgan transferred it cakephp. It's probably a touch misleading since it was in June of 2017, but adding the months felt ugly, and I'm not sure who might care.

Sounds reasonable

sounds good to me!


Reduce Java Examples Dataflow Precommit timeout

Current tests generally finish within 15 minutes. However if something goes wrong we wait for 2 hours for timeout. This is too big of overhead. Reducing timeout to 30 minutes.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @pabloem, @kennknowles

Thanks. LGTM.

Run Seed Job


Prevent merge of PR if checks are not passed

Description
Prevent merge of PR if checks are not passed.
Due to some latest issues with the tests, it has been possible to merge failing unit tests.

I've enabled the settings to block merging to master without status checks passing. We have to explicitly set which checks though, so if the checks change that setting will need updating.
If this works fine we'll also apply it to the release branches (which should all by now rely on the same checks)

The current settings for branch protection apply to all matching release-* branches. These range over a number of versions with different worklows/names. Applying them to all would leave to some not being to pass.
We'll leave the release branches for the moment


icicle-bench: Make some of the options mutually exclusive

Make it a bit clearer which options need to be set, this is comes out of writing some o2 jobs with @nhibberd
The new usage is:
Usage: icicle-bench (--dictionary-toml DICTIONARY_TOML |
                     --dictionary-code DICTIONARY_C)
                    (--input-sparse-psv INPUT_PSV |
                     --input-dense-psv INPUT_PSV |
                     --input-zebra INPUT_ZEBRA)
                    (--output-sparse-psv OUTPUT_PSV |
                     --output-dense-psv OUTPUT_PSV)
                    [--output-code DICTIONARY_C]
                    (--snapshot SNAPSHOT_DATE |
                     --chord CHORD_DESCRIPTOR)
                    [--facts-limit ARG]
                    [--drop ARG]
                    [--drop-to-output]

I'm thinking I might rename icicle-bench to icicle after this and add all of our normal cli stuff (--version, --dependencies, etc) given we'll have real jobs running using it
! @tranma @amosr

👍 I like it lots

I think there is already an executable called icicle... not sure what it does

oh, I see you've removed it, nvm


feat: add extension currency select page

This PR adds the currency select page to the extension.
Expected behaviour:

User can select a currency
Selected currency persists after the page is reloaded
Selecting a currency is not used anywhere to display a balance. This will be hooked up in a later PR.

Partially completes #675.

This won't go in now that the extension requirements have changed.


Revisit Pygments config

Fixes https://github.com/antocuni/pdb/issues/95.

Codecov Report

Merging #222 into master will decrease coverage by 0.41%.
The diff coverage is 51.51%.

@@            Coverage Diff             @@
##           master     #222      +/-   ##
==========================================
- Coverage    63.4%   62.99%   -0.42%
==========================================
  Files           3        3
  Lines        2410     2440      +30
  Branches      218      223       +5
==========================================
+ Hits         1528     1537       +9
- Misses        807      827      +20
- Partials       75       76       +1

Impacted Files
Coverage Δ

testing/test_pdb.py
76.64% <100%> (-0.03%)
:arrow_down:

pdb.py
44.22% <37.25%> (-0.5%)
:arrow_down:

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 f773c33...aab01cb. Read the comment docs.

I'm looking forward to this being merged and released ;)

@thisch
Thanks for letting me know.. :)
Have you tried the branch?
(IIRC the last time I've worked on this I've struggled to trigger the ImportError in tests, but have some stash for this I think)
As for a release: there are many changes on master already, and I am not sure I will release them here yet (see #128).

Yes, I've tried that branch and I think it works as expected. In the course of that I've added the files .pdbrc and .pydbrc.py to my dotfiles repo (didn't know that pdbpp can be configured using config files).
I think it makes sense to update the screenshot of the README, because the used colorscheme kind of hurts my eyes ;-)

I think it makes sense to update the screenshot of the README, because the used colorscheme kind of hurts my eyes ;-)

Yeah :+1: :)
I'd be up to take a PR for it - but would eventually do it myself some time later.
(it should also remove the screenshot from the repo, and only use a link (after uploading it to github.com via e.g. a comment).  Would be nice if it featured sticky mode, and also source code formatting therein, and/or via source - so multiple screenshots might make sense even, and also some asciinema recording, featuring tab completion; with regard to this make sure to have pyrepl installed (https://github.com/pdbpp/pyrepl))
FWIW I've started this PR after the latest pygments added styles for solarized.

Moved to https://github.com/pdbpp/pdbpp/pull/2.


read/write transformer

To support encryption it would be useful if it was possible to add a "transformer" to a hypercore that is called on write and read operations (similar to a transformer stream).
Here an example how this could work:

To add the transformer it is passed to the hypercore´s constructor as part of the opts parameter.
On read operations it is called inside get(), maybe as a "wrapper" function of the callback
On write operations it is called inside _append()

But in contrast to a regular stream transformer it would be necessary that it gets further parameters:

a byte-offset of the position of the data in the feed
a reference to the hypercore (simply called using this as a parameter) to make the key management easier

Also there may be some difficulties I stumbled upon when writing hypercore-encrypted:

The encoding of the data may differ from the original, not sure if that changes some internal things
the get() function has to call _storage.dataOffset which I think may be a little slow.

This transformer feature may also be useful to implement other things  (like compression), do you have some ideas on this?
Also, maybe I´ll have the time to implement it myself.

Yeah, "hooks"  sound even better than "transformers". A more general api that does not sound more complex is perfect!

Can I somehow help to get it working?
I see some of the hooks are already implemented, but not enough to support encrypting a hypercore.
To show how I imagine this to work I created this fork a while ago (already a bit outdated).
I have a lot of ideas that depend on encrypted hypercore/hyperdb(s), so need this feature.

Closing cause old and lots have changed


Update generated source code

Automated PR triggered by new code generation.
Update generated source code
Generated SDK source code using:

Generator version 3.26.0
Specification version 1.0.0-dev0.0.31
Automation (cloudant-sdks) version bef3252

Thank you for reviewing @mojito317 !


Interactive transactions (client changes)

For 4.7.0, interactive transactions are going GA.
There will be a release for 4.6.0 as a preview - iTX will work in conjunction with the Data Proxy. @zachtil  is going to handle the documentation on this.
SME: Dan, Alexey
See: https://www.notion.so/prismaio/Interactive-Transactions-supported-in-Data-Proxy-cba564a8e37348078f0242b555a95fe0
Board for engineering work: https://github.com/orgs/prisma/projects/84

That’s awesome, @andrew-walford-prisma! I was just thinking how I’d like to combine Prisma Data Proxy with interactive transactions, then was sad to find out that that wasn’t (yet) possible.
Starting at what version can we use iTX in combination with PDP?

Hi @heymartinadams . Sorry - I was a bit too definitive when I gave version numbers in the issue description. We do plan to release this feature in preview, and then GA in the near future, but it is likely to be later than 4.6/4.7.


[plot3d] Avoid seg fault when closing viewer3DVolume.py

This PR avoids segfault when closing viewer3DVolume.py with PyQt5 on debian 8.
Closes #992

LGTM


Build failure: isl_0_20

Steps To Reproduce
Steps to reproduce the behavior:

build isl-0.20 on riscv64-linux

Build log
building '/nix/store/q7c67kcd89yymn222igjz58dlgaij489-isl-0.20.drv'...
unpacking sources
unpacking source archive /nix/store/x9v0hmr76dm68pijzldzxks01iqzag1z-isl-0.20.tar.xz
source root is isl-0.20
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file isl-0.20/interface/isl.py
patching sources
configuring
fixing libtool script ./ltmain.sh
./configure
configure flags: --disable-static --disable-dependency-tracking --prefix=/nix/store/9hkiw8kgbi3zcclxk3l8jh624gin57pj-isl-0.20 --with-gcc-arch=generic
checking for a BSD-compatible install... /nix/store/am27aaylz23yrws5bl5v858bg57qjdg3-bootstrap-tools/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /nix/store/am27aaylz23yrws5bl5v858bg57qjdg3-bootstrap-tools/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
./configure: line 3487: cd: /nix/store/9hkiw8kgbi3zcclxk3l8jh624gin57pj-isl-0.20: No such file or directory
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for C compiler vendor... gnu
checking build system type... ./config.guess: unable to guess system type

This script, last modified 2014-03-23, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run (./config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to<EMAIL_ADDRESS>in order to provide the needed
information to handle your system.

config.guess timestamp = 2014-03-23

uname -m = riscv64
uname -r = 5.15.0
uname -s = Linux
uname -v = #1-NixOS SMP Mon Mar 20 17:53:42 UTC 2023

/usr/bin/uname -p =
/bin/uname -X     =

hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              =
/usr/bin/oslevel       =
/usr/convex/getsysinfo =

UNAME_MACHINE = riscv64
UNAME_RELEASE = 5.15.0
UNAME_SYSTEM  = Linux
UNAME_VERSION = #1-NixOS SMP Mon Mar 20 17:53:42 UTC 2023
configure: error: cannot guess build type; you must specify one
error: builder for '/nix/store/q7c67kcd89yymn222igjz58dlgaij489-isl-0.20.drv' failed with exit code 1

Additional context
isl 0.20 is ancient, and needs a config.guess update I guess
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
(fails to run due to above error)

Broken since #209870. Maybe @amjoseph-nixpkgs knows what is wrong.

What @Artturin said -- probably needs to have autoreconfHook run.
This worked for me:
nix build -f . -L pkgsCross.riscv64.isl_0_20

Is there a way to reproduce this without riscv64 hardware?

Or with qemu
{
      boot.binfmt.emulatedSystems = [ "riscv64-linux" ];
}

It got past the first isl-0.20.0, where it failed previously. Got a build error in coreutils now.

@leifhelm It looks like you didn't provision enough ram:
***MEMORY-ERROR***: qemu-riscv64[332896]: GSlice: failed to allocate 496 bytes (alignment: 512): Cannot allocate memory


FontBakery license listed as "UNKNOWN"  on GHAction log

https://github.com/JetBrains/JetBrainsMono/runs/1418349386?check_suite_focus=true

If I recall correctly we do declare the Apache 2.0 license on setup.py which is where I would presume this data comes from. We'd need to double check that.

The license is currently listed via a classifier here:
https://github.com/googlefonts/fontbakery/blob/a78cb802b6f350c5ae7c07c38b540346c58ef8e7/setup.py#L53


[docs] Quick fix to object docs

References to child reference were not fully removed
transfer_to_object_id is too difficult to explain right now without also describing private transfers. This will be a larger addition

Thanks So much, Todd! This looks good with some tiny changes I made and a direct commit. I defer to Xun though.


Improve responsiveness to contact us page

currently the contact page accept response and confirmation message display on other screen will improve it with a popup confirmation message on same screen for better practice

can you please assign it to me

@ananyag309 Thanks for creating the issue in SkillWise!!! The issue has been assigned to you.
Before you start working on your PR, please make sure to:

⭐ Star the repository if you haven't already.
Pull the latest changes to avoid any merge conflicts.
Attach before & after screenshots in your PR for clarity.
Include the issue number in your PR description for better tracking.

I'm excited to see your contribution as part of Hacktoberfest 2024! 🎉
Don't forget to follow me on GitHub for more updates.
Happy open-source contributing! 🚀


Access to the properties of the parent node

The label of my nodes depend upon a property of their parent node and also, the index of the child node within the children array. Is there a way to access these?
I've tried a number of angular based tree views, and this looks by far the most feature complete, with almost everything I need apart from the above.

i need to select parent and its grand parent. can u please help??

The best option is to have a back reference in your node objects.
We had a long discussion about this, and there is no simple way to provide
such an API.
It will either be a function or an array with performance impact...
On Thu, Mar 3, 2016 at 10:43 AM, shailjag<EMAIL_ADDRESS>wrote:

i need to select parent and its grand parent. can u please help??
—
Reply to this email directly or view it on GitHub
https://github.com/wix/angular-tree-control/issues/30#issuecomment-191654676
.


There appears to be no license on this project.

@dmjef I also noted that :)
@bouviervj we are considering to re-use some parts of the code (mostly for the actual topology building, for the writing we would implement a streaming approach) here to add a TopoJSON writer to the open source ETL software hale studio:
https://github.com/halestudio/
Please let us know if you agree, and what the license of the code in this repository would be.

It's been a long time I haven't touched this project, I'm glad it has helped get ideas here and there. I want to release it with an easy license, let me review the code on my side to be sure that the project is not itself bound to another license from integrated libraries or derivative work.

@bouviervj Can you please give an update regarding the license?
Is there something that would prevent it to have an LGPL / Apache / MIT style license?

@stempler I cleared the ambiguity with dependencies - I will add an Apache license to the project

#9
I have just added a license - thank you for your patience !

Thanks a lot!


use stack packages in IHaskell notebook

How to use packages from Hackage, installed by Stack, in a notebook and run it by the IHaskell kernel.
My setup is FROM gibiansky/ihaskell:latest in my Dockerfile. Suppose I want the optparse-applicative package. Then If I do RUN stack install optparse-applicative in the Dockerfile, the package is not found when import Options.Applicative in the notebook.
I know that you can include your libraries in the stack.yaml file and custom build, but when using the docker image this process is not possible anymore.

This is not possible with the current Docker image unfortunately.

You can install packages with Stack in this IHaskell Docker image. https://github.com/IHaskell/ihaskell-notebook#installing-haskell-packages

Thank you both for your input! I was wondering if you could explain why packages installed via stack install can't be imported in the IHaskell kernel, unlike the alternatives you mentioned. I’m particularly interested in understanding the technical details behind this. Is it related to losing the reference to the Stack package database, or is there another reason? I think the current Dockerfile in the end only copies the necessary files and executables to save space as you mentioned.

The short answer is that stack install is a synonym for stack build --copy-bins, so it doesn't update a package database like you would expect. The longer answer is that IHaskell has only rudimentary integration with Stack/Cabal and so making new packages available to an existing IHaskell environment is tricky (the solution is to create a new IHaskell environment instead of trying to modify an existing one).


fix(dap-keymap): properly create and destroy keymaps

I'll document/explain these changes later today. It's a bit late ;)
Ref: #899
Resolves #899

cc @YuCao16


Vendor Folder not exist

I have install the application but the vendor directory not exist and the php migration command need autoload.php files.

I think this project has been abandoned, but if your vendor directory isn't created on composer create-project command, you can create it by running composer install.

Same issue with me. @yeesoft any update regarding this?


What's the return value of select called after put?

I read from the doc that put is non-blocking call. I am confused about the return value of select called after put.
const selectAIsPositive = state => state.a > 0;

function *example() {
  // state = { a: -1 } now
  yield put(actionThatChangesA({ a: 1 }));  // action will reduce state to { a: 1 }
  const isPositive = yield select(selectAIsPositive);
}

Is isPositive true or false?

Saga will resume this generator after put executs the dispatch under the hood. If there is no async in your middleware chain preventing action to hit the reducers you are good to go. select will return updated value

@Andarist Thanks! So what's the difference of put.sync and put?

put.sync has different logic for:

error handling, when catched it will throw on your saga
result handling - if dispatch returns a Promise it will block until this Promise is resolved

Thank you for your help!


add breakpoint middleware

The interactive debugger is a constant source of (usually invalid) security reports. Nowadays, there are a lot of nice Python debuggers besides the built-in pdb. Python has a built-in breakpoint() function which will start the user's preferred debugger. For example, pudb, ipdb, pdbpp, or IDE debuggers such as PyCharm and VSCode. This middleware catches unhandled exceptions, finishes the response, then calls breakpoint() to allow the user to inspect the stack. This provides exactly as much information as the interactive debugger, but without the huge complexity of storing frames, threads, contexts, etc or serving a remote Python interpreter UI.

For example, pip install pudb, then run a Flask application with PYTHONBREAKPOINT=pudb.set_trace flask run --debug. On an unhandled exception, the browser displays a standard 500 error page, and the nice PUDB UI is displayed in the terminal. PyCharm sets this for you, so if you start a Flask app with the debug button, an unhandled exception will activate the debug panel frame inspector.

I deliberately named this WSGIMiddleware, since I think an ASGIMiddleware could easily be written as well, I just don't know quite enough about how ASGI handles errors to do that.

One thing I failed to account for is that breakpoint() doesn't deal with post-mortem debugging. Calling breakpoint() stops where it's called in the except block, which is after the function that raised it has exited (due to raising an exception). Most debuggers do have a separate post_mortem() call instead of set_trace(), but it's not guaranteed, and we'd need some way to detect the debugger and then find its post mortem call instead.


ComboBox render fix at dialog after close listview.

Seems this right way

@BDisp - do agree this is a good fix?

I'll see and then I'll give feedback

It seems that this does not influence anything but as @fergusonr  submitted a PR earlier, maybe it would be better for him to comment, please.

This PR has no effect. @lzylinl is there a specific issue this fixes?

Look at this issue https://github.com/migueldeicaza/gui.cs/issues/816
Use same code for reproduce.
If we open and close combobox (not select anything) we can see this

Area from listbox does not cleared after combo closed

Ok. @tig I confirm that this PR fixes the issue #816.

Thankyou both @lzylinl  @BDisp

nicely done folks.


autoModeWatcher does not work when a content security policy blocking 'unsafe-inline' is set

Current Behavior
I'm not sure how to resolve this, as the Vite build process minifies the inlined code, so I can't reliably use a hash content security policy.
In addition, there appears to be no way to access the Svelte script nonce from a svelte template (only from app.html via %sveltekit.nonce% ), so a nonce-based policy also does not work.
Expected Behavior
Ideally there would be a way to use this without inlining the script directly (as a module) - or maybe there is a way to reliably load this with a CSP set that I am not aware of?
Steps To Reproduce

Add autoModeWatcher to a sveltekit project as described
Add a CSP with a script-src of ['self'], in svelte.config.js:

const config = {
  preprocess: vitePreprocess(),

  kit: {
    csp: {
      directives: {
        "script-src": ["self"],
      },
    },
  },
};

Observe CSP errors for the autoModeWatcher utility in the log

Link to Reproduction / Stackblitz
No response
More Information
No response

@AdrianGonz97 given you have a better understanding of the inner workings of Vite, Svelte, and SvelteKit, I'd love if you could give this a look. No rush, given current priorities for the v2 release, but I'd appreciate your input.

We're going to be trying a different approach to the OS preference strategy in Skeleton v3. I'm going to group this with that milestone.

In an effort to prepare for Skeleton v3, we're consolidate some related issues down to a single ticket. This will ensure that we can see the full context of requests when the time comes to refactor and update this feature going forward. If you wish to add additional feedback or suggestions, please so here:

https://github.com/skeletonlabs/skeleton/issues/2359


Challender

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 779fbece-f67b-28ef-143e-f58ecfa29b1d
Version Independent ID: fe532684-022f-9006-9179-c534fd923171
Content: Azure VPN Gateway: About VPN devices for connections
Content Source: articles/vpn-gateway/vpn-gateway-about-vpn-devices.md
Service: vpn-gateway
GitHub Login: @yushwang
Microsoft Alias: yushwang

Thanks for brining this to our attention.
Can you please share with us more info on the document that you are having issues with?
Please note that we scope issues on this repo to feedback related to the docs. If you have a product question, please post it on Microsoft QnA or Stack Overflow. Thank you for your understanding.

@Tonnacloud - Thanks for brining this to our attention.
Can you please share with us more info on the document that you are having issues with?
Please note that we scope issues on this repo to feedback related to the docs. If you have a product question, please post it on Microsoft QnA or Stack Overflow. Thank you for your understanding.

Since we have not heard back from you we will now proceed to close this thread.
However if you can share additional information regarding the documentation you are referring and circle back on this thread , we will gladly reopen the issue and continue the discussion. Thank you.


ts-web: add browser extension utilities

summary
a browser extension "signer interface." where a browser extension can serve the role of a ContextSigner implementation.

update zero
Turns out there's a feature web_accessible_resources, which will allow us to make a webpage that sites can load into an iframe and then message. I've written up some code to verify that this works.
Next I'll be writing some helper functions to interact with the extension within the ContextSigner interface.

I've extracted some code into a library. It's missing some things we usually expect--tests, package name. But it's at a point where reviewers can take a look to get an impression of the overall design

I tried adding tests but the headless version can't click the window.confirms :laughing:

could maybe do some versioning via method names. maybe we'd like to version the overall transport where "it makes an iframe and postmessage with type=MESSAGE_REQUEST etc" is version 1 as well

I added some logic to make it not open any alerts and confirms under a special testing mode. Under this mode it also uses a fixed key from the ADR 0008 test vectors.
I added some -v1 suffixes to message/method constants.

correction to cypress screenshot upload step. gonna merge


Eee E ee Eeee

Let E be Free. E
(This is a protest for the E repository as GitHub has taken it down.)

/question

/question

/duplicate


Add cloud_volume_types to storage manager persister

Required for: https://github.com/ManageIQ/manageiq-providers-ibm_cloud/pull/176

cc @jaywcarman

Cross repo tests are green

I tested this patch and it fixes the issue described in https://github.com/ManageIQ/manageiq-providers-ibm_cloud/pull/175. Thanks @agrare !


@astrojs/check includes /dist and/public

Astro Info
Astro                    v3.5.5
Node                     v20.7.0
System                   macOS (arm64)
Package Manager          npm
Output                   server
Adapter                  @astrojs/cloudflare
Integrations             @astrojs/tailwind
                         @astrojs/preact
                         @astrojs/sitemap

If this issue only occurs in one browser, which browser is a problem?
Shell
Describe the Bug
When I run npx astro check on my project it fails with the following error:
👈 Here's the output when running `npx astro check`
npx astro check

03:18:27 PM [@astrojs/cloudflare] The current configuration does not support image optimization. To allow your project to build with the original, unoptimized images, the image service has been automatically switched to the 'noop' option. See https://docs.astro.build/en/reference/configuration-reference/#imageservice
03:18:27 PM [content] No content directory found. Skipping type generation.
03:18:27 PM [check] Getting diagnostics for Astro files in /Users/john-doe/Code/my-project...

<--- Last few GCs --->

[47065:0x138008000]    41224 ms: Scavenge 4040.8 (4123.3) -> 4037.8 (4123.6) MB, 18.92 / 0.00 ms  (average mu = 0.560, current mu = 0.459) allocation failure;
[47065:0x138008000]    41239 ms: Scavenge 4042.2 (4123.6) -> 4040.6 (4127.6) MB, 9.04 / 0.00 ms  (average mu = 0.560, current mu = 0.459) allocation failure;
[47065:0x138008000]    42923 ms: Scavenge 4045.5 (4127.6) -> 4043.7 (4145.8) MB, 1677.71 / 0.00 ms  (average mu = 0.560, current mu = 0.459) allocation failure;

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 0x102d0e0e4 node::Abort() [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 2: 0x102d0e2cc node::ModifyCodeGenerationFromStrings(v8::Local<v8::Context>, v8::Local<v8::Value>, bool) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 3: 0x102e92018 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 4: 0x1030666e8 v8::internal::Heap::GarbageCollectionReasonToString(v8::internal::GarbageCollectionReason) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 5: 0x1030651c4 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 6: 0x10305b9dc v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 7: 0x10305c23c v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 8: 0x103041240 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
 9: 0x103428c50 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
10: 0x103788c44 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
11: 0x1037028a8 Builtins_GrowFastSmiOrObjectElements [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
12: 0x1098ac084
13: 0x1098a9858
14: 0x1098a82cc
15: 0x108a94064
16: 0x1098ab1c4
17: 0x1093235ac
18: 0x109472ed4
19: 0x1098ae4dc
20: 0x1098aa8e0
21: 0x1094ea9b0
22: 0x10992fca4
23: 0x1090106e0
24: 0x108b3b9e0
25: 0x10992d2e0
26: 0x1037abee4 Builtins_ArrayMap [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
27: 0x1037003e4 Builtins_InterpreterEntryTrampoline [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
28: 0x1037003e4 Builtins_InterpreterEntryTrampoline [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
29: 0x1037003e4 Builtins_InterpreterEntryTrampoline [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
30: 0x103737210 Builtins_AsyncFunctionAwaitResolveClosure [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
31: 0x1037e4fb8 Builtins_PromiseFulfillReactionJob [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
32: 0x103726b94 Builtins_RunMicrotasks [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
33: 0x1036fe3f4 Builtins_JSRunMicrotasksEntry [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
34: 0x102fd3c58 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
35: 0x102fd4144 v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
36: 0x102fd4320 v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
37: 0x102ffb3dc v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
38: 0x102ffbb78 v8::internal::MicrotaskQueue::PerformCheckpoint(v8::Isolate*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
39: 0x102c40c64 node::InternalCallbackScope::Close() [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
40: 0x102c407c4 node::InternalCallbackScope::~InternalCallbackScope() [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
41: 0x102cb6b64 node::Environment::RunTimers(uv_timer_s*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
42: 0x1036da73c uv__run_timers [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
43: 0x1036ddf9c uv_run [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
44: 0x102c41754 node::SpinEventLoopInternal(node::Environment*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
45: 0x102d4e7e8 node::NodeMainInstance::Run(node::ExitCode*, node::Environment*) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
46: 0x102d4e584 node::NodeMainInstance::Run() [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
47: 0x102cd9658 node::Start(int, char**) [/Users/john-doe/.nvm/versions/node/v20.7.0/bin/node]
48: 0x1890b10e0 start [/usr/lib/dyld]
[1]    47040 abort      npx astro check

Digging into the issue and adding some additional logging to  the astro check command, I could identify that the error happens while  the /dist/_workers.js is checked. After deleting the dist folder the astro check command succeeds.
This makes me wonder why astro is considering the dist folder at all. I also wasn't able to only check files in the /src folder by running astro check --root ./src.
A hack would be to update https://github.com/classictrader/cti-frontend/blob/chore/CTI-85-upgrade-to-astro-3-5-5/node_modules/<EMAIL_ADDRESS>to
        const files = fileNames !== undefined ? fileNames : this.project.languageHost.getScriptFileNames().filter(fileName => !fileName.includes('/dist/'));

But I'm sure there's a nicer solution :-)
PS: The bug appeared after upgrading from Astro 2.10 to 3.5. With Astro 2.10 the error never happened.
What's the expected result?

I expect to be able to run npx astro check without a  JavaScript heap out of memory error.
I would expect that npx astro check doesn't consider the dist folder

Link to Minimal Reproducible Example
-- I wasn't able to create a simple reproducible example (maybe b/c it depends on project size) --
https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics?file=README.md
Participation

[ ] I am willing to submit a pull request for this issue.

Duplicate of https://github.com/withastro/language-tools/issues/643
I'll mention that the proper workaround at the moment is to set the folders you want to ignore in your tsconfig.json's exclude. Much like you would for tsc.


feat: initial release of library

This PR fleshes out the initial release of the library.

@JustinBeckwith since this adds all the .kokoro configuration, we unfortunately won't be able to get tests passing until after this is merged.

@JustinBeckwith I'm going to ask for forgiveness and go ahead and land this; I partially pulled this library together because I wanted to figure out what CI/CD user we use -- so I'd like to see an actual run of CI/CD.


Menu is not opened on arrow click

hi,
Thank you very much for this awesome component.
When I click on the arrow, the menu does not open, I have to click twice.
Thanks

Good point thanks.
Can you try with release 1.9.7 ?

Sorry, i got some issues with npm publish, should be fine now with v1.9.8

thank you


importScripts works in browser web EH but not in desktop web EH

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:1.57.
OS Version: Windows_NT x64 10.0.19043

Steps to Reproduce:

create a web extension
have the line importScripts("https://cdn.jsdelivr.net/pyodide/v0.17.0/full/pyodide.js"); in your extension.ts file (enable webworkers to use this command)
run extension on the desktop vscode
Error message: TypeError: Failed to execute 'importScripts' on 'WorkerGlobalScope': This document requires 'TrustedScriptURL' assignment.

The following error occurs when I try and run my web extension on the desktop vscode and it seems that the import scripts line pasted above that causes the error.

I updated the title. importScripts works fine when in web extension host on a browser.  The question is if this is intended to work.

Yeah, there is two problems:

Web Worker extension loading stuff, esp via importScript. There are strict limitations that web worker extensions are bundled as single file, mostly for getting require('vscode') to work. So, for now I would not recommend to use importScript (or async-import) but for the future we need a better, web'ish solution.
Trusted types in the extension host worker. Currently trusted types are enforced in desktop and are optional for web, tho the plan is to have them on everywhere. It still leaves the question if we should enforce trusted types onto extensions - I feel not but also don't know how to disable them...

It still leaves the question if we should enforce trusted types onto extensions - I feel not but also don't know how to disable them...

FWIW, extensions running in the web worker extension host should be able to spawn their own Workers which are not subject to the same CSP as the parent context: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers#content_security_policy I think that means extensions should be able to work around the trusted types policy by creating a new Worker which loads whatever it wants and communicating with it using postmessage and onmessage.

Yes - either run in a separate worker or bundle everything into a single JS file. That's what I would strongly recommend

importScripts is really bad. It blocks the event loop of the extension host until the script is loaded. It is an oversight from our side that importScripts works in browser and we plan to block that. Our current recommendation is to bundle the entire extension in a single file or use multiple files by spawning a separate worker using new Worker. What is the use case of splitting up the web extension into multiple scripts? Do you load parts of the extension lazily, only when exercised? (i.e. is it a performance optimization)?

Also discussed this with @aeschli yesterday and our thinking/plan is to prohibt importScripts from being called inside the worker extensions host. It is really bad for many reasons

it blocks the event loop
it cannot acquire the vscode-API object
it will conflict with other extensions, e.g if another extension imports the same lib at a different version than you are in deep trouble

Would extensions be able to continue to use importScripts inside new workers that they create?

Do you load parts of the extension lazily, only when exercised

Yes, for context, Eleanor and I are exploring use cases for Pyodide (Eleanor is investigating Pyodide for her internship, I'm doing a separate investigation out of personal interest). Pyodide is the CPython runtime, compiled to WASM and capable of running in a renderer or web worker. Pyodide can load and run Python packages as well, also compiled to WASM.
The problem is that it would be several hundred MB if we were to bundle and ship all the Python packages that users might conceivably want to import. For my specific use case, which is enabling users to run Python code in Jupyter notebooks via Pyodide in the browser web worker extension host, I would much rather lazy-load the JS/WASM for Python packages from a CDN than ship a large bundle upfront containing packages that the user may never need to use.

Would extensions be able to continue to use importScripts inside new workers that they create?

Yeah, for web workers spawned by extensions we have no restrictions planned. Such workers are scoped to your extension, therefore less conflicting with other extensions or the extension host implementation. Esp. for something like Pyodide a dedicated worker is highly recommended

Thank you for the extra information!
I also recommend in this case to create a new Worker(). So you can structure your extension by having a small piece that interacts with the vscode API and then that small piece would create a separate web worker that can be 10s of MB in size. You can then use postMessage to communicate between the extension and the web worker.

Closing this issue as I have pushed a commit that blocks importScript in the webworker extension host.
@aeschli you might now a place where to document this?

To verify write a web extension that calls importScripts. Ensure that the call fails and that there is no workaround.

I added it to the web extension wiki

I'm not sure how to write a web host extension. Is it documented somewhere/Or an example?
And assuming I write one, how do I test it?

@joyceerhl provided some steps internally.


GCC and Clang don't link against pthread when using std::thread

https://godbolt.org/z/1T6Q7V
However, adding -pthread results in:
terminate called after throwing an instance of 'std::system_error'
  what():  Resource temporarily unavailable

Not sure what is causing -pthread to be required here - I cannot reproduce this on a local instance of CE using identical compiler binaries to those on godbolt.org.
Resource temporarily unavailable is caused by rlimit-nproc in etc/firejail/sandbox.profile
This was ultimately necessary to prevent damage from fork bombs, but due to how firejail is implemented this doesn't really do what we want.
It has the unintended effect of preventing any threads or child processes from being created.
Until we switch to nsjail I don't think we have any viable fixes for this that don't open us up to fork bombs causing havoc.

-pthread is still required to avoid linker errors, but the site now supports threads during execution.
See #1910


safe-log errorIds

This change is

@uschi2000

@lcuthriell does this look ok?

we should also audit other log statements - https://github.com/palantir/http-remoting/issues/457