[BUG] fastfetch breaks tty

General description of bug:

What happened:

When I launch fastfetch in tty, it stops rendering itself(screen goes black) until I switch sessions (ctrl+alt+f[number]), then, if I reopen this session fastfetch shows as printed and everything is ok. Found no errors in journalctl related to this issue I think.
Note: using the json command while outputting to file also broke the tty without printing anything, so probably it is connected to how polling for information is done?
Also after launching the command you can see part of the usual stuff being printed before it breaks for just a few frames, so I guess it breaks somewhere in the middle
It breaks tty any number of times, on shell load and if launched manually too.

What should happen:

Fastfetch prints itself and everything is normal without the requirement

Fastfetch version used: 2.15.0
Did it work in an older version: It worked before, but it also works on my laptop right now with same zsh config, so probably something with drivers incompatibility since they differ on my laptop and desktop?
Where did you get the binary: cachyos-extra-v4 repository (Arch Linux)

Often helpful information:
Output of fastfetch -c ci.jsonc --format json:
[
  {
    "type": "Title",
    "result": {
      "userName": "oleg",
      "hostName": "oleg-desktop",
      "homeDir": "/home/oleg/",
      "exePath": "/usr/bin/fastfetch",
      "userShell": "/bin/zsh",
      "pageSize": 4096
    },
    "stat": 0
  },
  {
    "type": "Separator",
    "error": "Unsupported for JSON format",
    "stat": 0
  },
  {
    "type": "OS",
    "result": {
      "buildID": "rolling",
      "codename": "",
      "id": "Arch",
      "idLike": "",
      "name": "Arch Linux",
      "prettyName": "Arch Linux",
      "variant": "",
      "variantID": "",
      "version": "",
      "versionID": ""
    },
    "stat": 0
  },
  {
    "type": "Host",
    "error": "neither product_family nor product_name is set by O.E.M.",
    "stat": 0
  },
  {
    "type": "Bios",
    "result": {
      "date": "02/02/2024",
      "release": "24.13",
      "vendor": "American Megatrends Inc.",
      "version": "2413",
      "type": "UEFI"
    },
    "stat": 0
  },
  {
    "type": "Bootmgr",
    "result": {
      "name": "rEFInd Boot Manager",
      "firmware": "\\EFI\\refind\\refind_x64.efi",
      "secureBoot": false
    },
    "stat": 0
  },
  {
    "type": "Board",
    "result": {
      "name": "ROG STRIX B650E-E GAMING WIFI",
      "vendor": "ASUSTeK COMPUTER INC.",
      "version": "Rev 1.xx",
      "serial": ""
    },
    "stat": 0
  },
  {
    "type": "Chassis",
    "result": {
      "type": "Desktop",
      "vendor": "",
      "version": "",
      "serial": ""
    },
    "stat": 0
  },
  {
    "type": "Kernel",
    "result": {
      "architecture": "x86_64",
      "name": "Linux",
      "release": "6.9.3-3-cachyos",
      "version": "#1 SMP PREEMPT_DYNAMIC Thu, 06 Jun 2024 01:54:47 +0000",
      "displayVersion": ""
    },
    "stat": 0
  },
  {
    "type": "InitSystem",
    "result": {
      "name": "systemd",
      "exe": "/usr/lib/systemd/systemd",
      "version": "256rc4-1-arch-g73df6cd^",
      "pid": 1
    },
    "stat": 3
  },
  {
    "type": "Uptime",
    "result": {
      "uptime": 1119170,
      "bootTime": "2024-06-07T23:25:28.180+0300"
    },
    "stat": 0
  },
  {
    "type": "Loadavg",
    "result": [
      0.20263671875,
      0.15087890625,
      0.10693359375
    ],
    "stat": 0
  },
  {
    "type": "Processes",
    "result": 289,
    "stat": 0
  },
  {
    "type": "Packages",
    "result": {
      "all": 1181,
      "apk": 0,
      "brew": 0,
      "brewCask": 0,
      "choco": 0,
      "dpkg": 0,
      "emerge": 0,
      "eopkg": 0,
      "flatpakSystem": 0,
      "flatpakUser": 0,
      "nixDefault": 0,
      "nixSystem": 0,
      "nixUser": 0,
      "pacman": 1181,
      "paludis": 0,
      "pkg": 0,
      "pkgtool": 0,
      "macports": 0,
      "rpm": 0,
      "scoop": 0,
      "snap": 0,
      "winget": 0,
      "xbps": 0,
      "opkg": 0,
      "am": 0,
      "sorcery": 0,
      "guixSystem": 0,
      "guixUser": 0,
      "guixHome": 0,
      "pacmanBranch": ""
    },
    "stat": 0
  },
  {
    "type": "Shell",
    "result": {
      "exe": "zsh",
      "exeName": "zsh",
      "exePath": "/usr/bin/zsh",
      "pid": 5173,
      "ppid": 1664,
      "processName": "zsh",
      "prettyName": "zsh",
      "version": "5.9",
      "tty": 3
    },
    "stat": 1
  },
  {
    "type": "Editor",
    "result": {
      "name": "nvim",
      "path": "/usr/bin/nvim",
      "exe": "nvim",
      "version": "0.10.0"
    },
    "stat": 3
  },
  {
    "type": "Display",
    "result": [
      {
        "width": 2560,
        "height": 1440,
        "id": 91,
        "name": "XV275U V",
        "primary": false,
        "refreshRate": 60.0,
        "rotation": 0,
        "scaledHeight": 0,
        "scaledWidth": 0,
        "type": "Unknown"
      },
      {
        "width": 3840,
        "height": 2160,
        "id": 95,
        "name": "LG Ultra HD",
        "primary": false,
        "refreshRate": 60.0,
        "rotation": 0,
        "scaledHeight": 0,
        "scaledWidth": 0,
        "type": "Unknown"
      },
      {
        "width": 1920,
        "height": 1080,
        "id": 99,
        "name": "QG241Y P",
        "primary": false,
        "refreshRate": 60.0,
        "rotation": 0,
        "scaledHeight": 0,
        "scaledWidth": 0,
        "type": "Unknown"
      }
    ],
    "stat": 63
  },
  {
    "type": "Brightness",
    "result": [
      {
        "name": "XV275U V",
        "max": 100.0,
        "min": 0.0,
        "current": 50.0
      },
      {
        "name": "LG Ultra HD",
        "max": 100.0,
        "min": 0.0,
        "current": 100.0
      },
      {
        "name": "QG241Y P",
        "max": 100.0,
        "min": 0.0,
        "current": 100.0
      }
    ],
    "stat": 1674
  },
  {
    "type": "Monitor",
    "result": [
      {
        "hdrCompatible": false,
        "name": "LG Ultra HD",
        "resolution": {
          "width": 3840,
          "height": 2160
        },
        "physical": {
          "height": 340,
          "width": 600
        },
        "manufactureDate": {
          "year": 2018,
          "week": 9
        },
        "serial": 237432
      },
      {
        "hdrCompatible": true,
        "name": "QG241Y P",
        "resolution": {
          "width": 1920,
          "height": 1080
        },
        "physical": {
          "height": 304,
          "width": 532
        },
        "manufactureDate": {
          "year": 2022,
          "week": 52
        },
        "serial": 622905248
      },
      {
        "hdrCompatible": true,
        "name": "XV275U V",
        "resolution": {
          "width": 2560,
          "height": 1440
        },
        "physical": {
          "height": 336,
          "width": 597
        },
        "manufactureDate": {
          "year": 2023,
          "week": 6
        },
        "serial": 811598704
      }
    ],
    "stat": 0
  },
  {
    "type": "LM",
    "result": {
      "service": "login",
      "type": "TTY",
      "version": ""
    },
    "stat": 0
  },
  {
    "type": "DE",
    "error": "No DE found",
    "stat": 0
  },
  {
    "type": "WM",
    "error": "No WM found",
    "stat": 0
  },
  {
    "type": "WMTheme",
    "error": "WM Theme needs successful WM detection",
    "stat": 0
  },
  {
    "type": "Theme",
    "result": {
      "theme1": "",
      "theme2": "Breeze-Dark [GTK2], Breeze [GTK3/4]"
    },
    "stat": 0
  },
  {
    "type": "Icons",
    "result": {
      "icons1": "",
      "icons2": "breeze-dark [GTK2/3/4]"
    },
    "stat": 0
  },
  {
    "type": "Font",
    "result": {
      "display": "Roboto (11pt) [GTK2/3/4]",
      "fonts": [
        "",
        "Roboto (11pt)",
        "Roboto (11pt)",
        "Roboto (11pt)"
      ]
    },
    "stat": 0
  },
  {
    "type": "Cursor",
    "result": {
      "theme": "breeze_cursors",
      "size": "24"
    },
    "stat": 0
  },
  {
    "type": "Wallpaper",
    "error": "Failed to detect the current wallpaper path",
    "stat": 0
  },
  {
    "type": "Terminal",
    "result": {
      "processName": "/dev/tty3",
      "exe": "/dev/tty3",
      "exeName": "tty3",
      "exePath": "",
      "pid": 1,
      "ppid": 0,
      "prettyName": "/dev/tty3",
      "version": "",
      "tty": ""
    },
    "stat": 0
  },
  {
    "type": "TerminalFont",
    "result": {
      "font": {
        "name": "VGA default kernel font 8x16x256",
        "size": "",
        "styles": [],
        "pretty": "VGA default kernel font 8x16x256"
      },
      "fallback": {
        "name": "",
        "size": "",
        "styles": [],
        "pretty": ""
      }
    },
    "stat": 0
  },
  {
    "type": "TerminalSize",
    "error": "Failed to detect terminal size",
    "stat": 0
  },
  {
    "type": "TerminalTheme",
    "error": "Failed to detect terminal theme",
    "stat": 0
  },
  {
    "type": "CPU",
    "result": {
      "cpu": "AMD Ryzen 7 7700X",
      "vendor": "AuthenticAMD",
      "cores": {
        "physical": 8,
        "logical": 16,
        "online": 16
      },
      "frequency": {
        "base": 0.4,
        "max": 5.7,
        "min": 0.4,
        "biosLimit": null
      },
      "coreTypes": [
        {
          "count": 16,
          "freq": 5700000
        }
      ],
      "temperature": 51.25
    },
    "stat": 38
  },
  {
    "type": "CPUCache",
    "result": {
      "l1": [
        {
          "size": 32768,
          "num": 8,
          "lineSize": 64,
          "type": "data"
        },
        {
          "size": 32768,
          "num": 8,
          "lineSize": 64,
          "type": "instruction"
        }
      ],
      "l2": [
        {
          "size": 1048576,
          "num": 8,
          "lineSize": 64,
          "type": "unified"
        }
      ],
      "l3": [
        {
          "size": 33554432,
          "num": 1,
          "lineSize": 64,
          "type": "unified"
        }
      ]
    },
    "stat": 2
  },
  {
    "type": "CPUUsage",
    "result": [
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0,
      0.0
    ],
    "stat": 200
  },
  {
    "type": "GPU",
    "result": [
      {
        "coreCount": null,
        "memory": {
          "dedicated": {
            "total": null,
            "used": null
          },
          "shared": {
            "total": null,
            "used": null
          }
        },
        "driver": "nvidia 555.52.04",
        "name": "GeForce RTX 4070",
        "temperature": 40.0,
        "type": "Discrete",
        "vendor": "NVIDIA",
        "platformApi": "DRM (card0)",
        "frequency": 3.105
      }
    ],
    "stat": 18
  },
  {
    "type": "Memory",
    "result": {
      "total":<PHONE_NUMBER>8,
      "used":<PHONE_NUMBER>
    },
    "stat": 0
  },
  {
    "type": "PhysicalMemory",
    "error": "Failed to get SMBIOS data",
    "stat": 0
  },
  {
    "type": "Swap",
    "result": {
      "total":<PHONE_NUMBER>6,
      "used": 262144
    },
    "stat": 0
  },
  {
    "type": "Disk",
    "result": [
      {
        "bytes": {
          "available":<PHONE_NUMBER>6,
          "free":<PHONE_NUMBER>2,
          "total":<PHONE_NUMBER>16,
          "used":<PHONE_NUMBER>4
        },
        "files": {
          "total": 7684096,
          "used": 386182
        },
        "filesystem": "ext4",
        "mountpoint": "/",
        "mountFrom": "/dev/nvme2n1p2",
        "name": "",
        "volumeType": [
          "Regular"
        ],
        "createTime": "2023-11-11T17:34:49.000+0300"
      },
      {
        "bytes": {
          "available": 475725824,
          "free": 475725824,
          "total": 535805952,
          "used": 60080128
        },
        "files": {
          "total": null,
          "used": null
        },
        "filesystem": "vfat",
        "mountpoint": "/boot/efi",
        "mountFrom": "/dev/nvme2n1p1",
        "name": "EFI System Partition",
        "volumeType": [
          "Hidden"
        ],
        "createTime": null
      },
      {
        "bytes": {
          "available":<PHONE_NUMBER>44,
          "free":<PHONE_NUMBER>52,
          "total":<PHONE_NUMBER>04,
          "used":<PHONE_NUMBER>52
        },
        "files": {
          "total": 22814720,
          "used": 297494
        },
        "filesystem": "ext4",
        "mountpoint": "/home",
        "mountFrom": "/dev/nvme2n1p3",
        "name": "",
        "volumeType": [
          "Regular"
        ],
        "createTime": "2023-11-11T17:35:07.000+0300"
      }
    ],
    "stat": 0
  },
  {
    "type": "Battery",
    "result": [],
    "stat": 0
  },
  {
    "type": "PowerAdapter",
    "result": [],
    "stat": 0
  },
  {
    "type": "Player",
    "error": "No media found",
    "stat": 0
  },
  {
    "type": "Media",
    "error": "No media found",
    "stat": 0
  },
  {
    "type": "PublicIp",
    "result": {
      "ip": "nope",
      "location": "nope"
    },
    "stat": 0
  },
  {
    "type": "LocalIp",
    "result": [
      {
        "defaultRoute": true,
        "ipv4": "nope",
        "ipv6": "nope",
        "mac": "nope",
        "name": "nope"
      }
    ],
    "stat": 0
  },
  {
    "type": "Wifi",
    "result": [],
    "stat": 5
  },
  {
    "type": "DateTime",
    "result": "2024-06-07T23:06:51.014+0300",
    "stat": 0
  },
  {
    "type": "Locale",
    "result": "en_US.UTF-8",
    "stat": 0
  },
  {
    "type": "Vulkan",
    "result": {
      "apiVersion": "1.3.278",
      "conformanceVersion": "1.3",
      "driver": "NVIDIA [555.52.04]",
      "gpus": [
        {
          "type": "Discrete",
          "vendor": "NVIDIA",
          "name": "NVIDIA GeForce RTX 4070",
          "driver": "555.52.04",
          "platformApi": "Vulkan 1.3.278",
          "memory": {
            "dedicated": {
              "total":<PHONE_NUMBER>2,
              "used": null
            },
            "shared": {
              "total":<PHONE_NUMBER>6,
              "used": null
            }
          },
          "deviceId": 10118
        }
      ]
    },
    "stat": 109
  },
  {
    "type": "OpenGL",
    "result": {
      "version": "4.6.0 NVIDIA 555.52.04",
      "renderer": "NVIDIA GeForce RTX 4070/PCIe/SSE2",
      "vendor": "NVIDIA Corporation",
      "slv": "4.60 NVIDIA"
    },
    "stat": 91
  },
  {
    "type": "OpenCL",
    "result": {
      "version": "3.0 CUDA",
      "device": "NVIDIA GeForce RTX 4070",
      "vendor": "NVIDIA Corporation"
    },
    "stat": 89
  },
  {
    "type": "Users",
    "result": [
      {
        "name": "oleg",
        "hostName": "",
        "sessionName": "tty3",
        "clientIp": "<IP_ADDRESS>",
        "loginTime": "2024-06-07T22:48:54.338+0300"
      }
    ],
    "stat": 0
  },
  {
    "type": "Bluetooth",
    "result": [],
    "stat": 0
  },
  {
    "type": "Sound",
    "result": [
      {
        "active": true,
        "main": true,
        "volume": 75,
        "name": "Scarlett Solo (3rd Gen.) Direct Scarlett Solo USB",
        "identifier": "alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y7GYG1A2551A35-00.Direct__hw_USB__sink"
      }
    ],
    "stat": 2
  },
  {
    "type": "Camera",
    "result": [
      {
        "name": "Creative Live! Cam Sync 1080p V",
        "vendor": "",
        "colorSpace": "sRGB",
        "id": "usb-0000:0a:00.4-2.1",
        "width": 1920,
        "height": 1080
      }
    ],
    "stat": 56
  },
  {
    "type": "Gamepad",
    "result": [
      {
        "serial": "nope",
        "name": "Sony Interactive Entertainment DualSense Wireless Controller"
      },
      {
        "serial": "nope",
        "name": "Sony Interactive Entertainment DualSense Wireless Controller Motion Sensors"
      }
    ],
    "stat": 0
  },
  {
    "type": "Weather",
    "result": "nope",
    "stat": 0
  },
  {
    "type": "NetIO",
    "result": [
      {
        "name": "enp5s0",
        "defaultRoute": true,
        "txBytes": 380,
        "rxBytes": 681,
        "txPackets": 5,
        "rxPackets": 4,
        "rxErrors": 0,
        "txErrors": 0,
        "rxDrops": 0,
        "txDrops": 0
      }
    ],
    "stat": 0
  },
  {
    "type": "DiskIO",
    "result": [
      {
        "name": "ADATA LEGEND 960",
        "devPath": "/dev/nvme0n1",
        "bytesRead": 0,
        "bytesWritten": 0,
        "readCount": 0,
        "writeCount": 0
      },
      {
        "name": "WDS500G1X0E-00AFY0",
        "devPath": "/dev/nvme2n1",
        "bytesRead": 0,
        "bytesWritten": 47104,
        "readCount": 0,
        "writeCount": 9
      },
      {
        "name": "ADATA LEGEND 800",
        "devPath": "/dev/nvme1n1",
        "bytesRead": 0,
        "bytesWritten": 0,
        "readCount": 0,
        "writeCount": 0
      }
    ],
    "stat": 1
  },
  {
    "type": "PhysicalDisk",
    "result": [
      {
        "name": "ADATA LEGEND 960",
        "devPath": "/dev/nvme0n1",
        "interconnect": "NVMe",
        "kind": "SSD",
        "size":<PHONE_NUMBER>168,
        "serial": "nope",
        "removable": false,
        "readOnly": false,
        "revision": "A200V9KL",
        "temperature": 39.85
      },
      {
        "name": "WDS500G1X0E-00AFY0",
        "devPath": "/dev/nvme2n1",
        "interconnect": "NVMe",
        "kind": "SSD",
        "size":<PHONE_NUMBER>16,
        "serial": "nope",
        "removable": false,
        "readOnly": false,
        "revision": "613200WD",
        "temperature": 51.85
      },
      {
        "name": "ADATA LEGEND 800",
        "devPath": "/dev/nvme1n1",
        "interconnect": "NVMe",
        "kind": "SSD",
        "size":<PHONE_NUMBER>016,
        "serial": "nope",
        "removable": false,
        "readOnly": false,
        "revision": "V1122B0",
        "temperature": 37.85
      }
    ],
    "stat": 0
  },
  {
    "type": "Version",
    "result": {
      "projectName": "fastfetch",
      "architecture": "x86_64",
      "version": "2.15.0",
      "versionTweak": "",
      "cmakeBuiltType": "None",
      "compileTime": "Jun  7 2024, 06:53:48",
      "compiler": "gcc 14.1.1",
      "debugMode": true,
      "libc": "glibc 2.39"
    },
    "stat": 0
  },
  {
    "type": "Break",
    "error": "Unsupported for JSON format",
    "stat": 0
  },
  {
    "type": "Colors",
    "error": "Unsupported for JSON format",
    "stat": 0
  }
]

Output of fastfetch --list-features (this one was done from Konsole):
threads
vulkan
wayland
xcb-randr
xcb
xrandr
x11
drm
gio
dconf
dbus
imagemagick7
chafa
zlib
xfconf
egl
glx
osmesa
opencl
libpulse
libnm
libddcutil
Directx Headers
Proprietary GPU driver API
System yyjson
linux/videodev2
linux/wireless

Please upload config.jsonc.
Add "display": { "stat": true }; rerun fastfetch in tty and upload the screenshot
What if you kill fastfetch with Ctrl+C?

It does not freeze though, so Ctrl+c is not applicable here I think.
It's just that after probing for some info it stops rendering the tty, making screen black until I reopen the tty by switching sessions.
But it executes itself successfully, just breaks tty in process(if I send output to file it also breaks the screen, but it actually fills the file fully without the need to reopen the broken session).
The config is whatever flashfetch binary uses by default, since I usually use flashfetch, but the bug is present on both fastfetch and flashfetch. Fastfetch itself is also run with default config(at least I don't remember tweaking it and no config file in home folder is present)
I will try running it with different set of modules and add some info in subsequent messages

Running fastfetch with no logo and just title does not break the tty.
After some testing, I am pretty sure it is Cursor/Font/Icons/Theme/WM module to blame, so any of these commands will break the tty:
fastfetch -l none -s "Cursor"
fastfetch -l none -s "Font"
fastfetch -l none -s "Icons"
fastfetch -l none -s "Theme"
fastfetch -l none -s "WMTheme"
fastfetch -l none -s "WM"
fastfetch -l none -s "DE"
fastfetch -l none -s "Display"
while others like GPU/CPU/Packages/Kernel etc. are working properly

Is fastfetch --ds-force-drm sys-only helpful?

No, the issue still persists with those parameters

I have no idea. I guess there is a bug in your graphic driver and some code of fastfetch triggers the bug. Since fastfetch can't talk to tty if you redirect output to a file, fastfetch has no way to break the tty unless you run it with sudo.

I still have no idea what you mean screen goes black. If you echo some texts before running fastfetch, will these texts be visible?

 I used to run it automatically through zshrc, now I can't run it automatically nor manually since it breaks tty, probably will add a check in my script if it is opened in tty.
It breaks tty if I run it directly or if I use file as an output. So the problem is not in printing but in polling the system in such a way that it breaks
The only way to get it working again - to reopen the session by switching to another tty/kde session then back to the tty where the problem was. Or exclude like half the modules of the default configuration.
If I use any other commands in tty it works as expected, so it is probably something wrong with fastfetch, since I still can use package manager, nvim, other tui applications etc.

Also, I never ran it with sudo/any root privileges to begin with

After reopening tty I can see the fastfetch successfully printed and can continue using that tty like if nothing happened, but only after I reopen the session

Is there any possibility to check the problem more specifically?
Maybe I can compile the package with some debug options which add more logging etc.?

Does the tty accept command after it breaks? For example reboot?

Also important, when I say I switch sessions I do not reboot, I just switch sessions with Ctrl + Alt + f[number] combination

Does the tty accept command after it breaks? For example reboot?

Yes, after reopening session I can continue working like nothing broke and nothing happened

I meant when the monitor turn off, can you run some commands to make sure the tty doesnt break, but the graphic driver does?

Is there any possibility to check the problem more specifically?
Maybe I can compile the package with some debug options which add more logging etc.?

Try running fastfetch in Live CD to make sure no unnecessary driver / kernel modules running.

Oh, I got what you mean.
Yeah, i checked right now, basically I can still use tty even after monitors turning off, so I can write commands and they work, so it sounds definitely like a driver issue

I tried launching it in tty of cachyos livecd from official website, they have fastfetch prepackaged in image, the same problem is present in their tty

Tested archlinux livecd. Worked for me

Ok, I will also try the usual archlinux livecd then, maybe it is something with cachyos packages, will say about the results soon

Yes, it works on archlinux iso.
Usual Arch uses nouveau though, so I guess the issue is specific to nvidia proprietary drivers.
So should I report to cachyos developers instead?

Tested on Cachyos livecd without Nvidia driver and it worked fine. The system won't boot with NV driver


Flaky agency communication to arangoDB agents

https://github.com/arangodb-helper/arangodb/issues/84
INFO {agencycomm} Flaky agency communication to http+tcp://arangodb-agent-0.arangodb-agents.arangodb.svc.cluster.local:8529. Unsuccessful consecutive tries: 47 (81.73s). Network checks advised.

I am experiencing this with ArangoDB version 3.3.3

Same here either with ArangoDB:latest or versoin 3.3.2 :-(.
Sad, I really want to give it a try.

Same problem here with 3.3.2, 3.3.3 and 3.3.4. Can ping and telnet from dbserver to agency.

In my experience so far, this happens randomly. I changed from latest to 3.4.4 and nothing had this same problem on both. Deleting everything and doing it again a few times seemed to fix it. "Flaky" really is the right word. This was using the yaml file.


Tasks won't run if User Settings file has no settings after updating to 1.9.0

Tasks that ran before the 1.9.0 update weren't after updating. I discovered that they resumed working after I defined a setting in User Settings. I usually keep my settings in Workspace and User Settings had been empty other than the default comment:
// Place your settings in this file to overwrite the default settings

VSCode Version: 1.9.0
OS Version: Windows 10 Home v1607

Steps to Reproduce:

Update to VSCode 1.9.0
Have no settings defined in User Settings.
Tasks that ran before updating to 1.9.0 will no longer run.
Define a User Setting, such as "editor.renderWhitespace": "none"
Tasks resume working.

Tasks don't run or produce any message in the output window. The same commands can be run manually from the VSCode terminal, so I don't believe it was a PATH problem.

@esoltys I was not able to reproduce. I started VS Code with code.cmd --user-data-dir . --extensions-dir . . which creates a fresh user data in a fresh workspace. I used the tasks.json
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "echo",
    "isShellCommand": true,
    "args": ["Hello World"],
    "showOutput": "always"
}

which executes fine. Can you share a workspace demonstrating the problem.
Could also be a dup of https://github.com/Microsoft/vscode/issues/19743

@sandy081 is this something that sounds familiar. Could be another behavior change in settings.

@dbaeumer Looking at the steps to reproduce, I do not think there is a behavioral change. Looks like user has all files (user settings, tasks.json) where as in other case (#19743) there was no tasks.json. Unless user gives us more information I cannot confirm.

I can reproduce, by opening User Settings and deleting everything but the opening comment line "// Place your settings...". Put even empty braces "{ }" in the file and tasks will work again.

@dbaeumer I tried your test case and the User Settings file contains empty braces. I could reproduce tasks not running by deleting those empty braces leaving only the comment line.
So, to reproduce: User Settings file contains only a comment on the first line.

@esoltys I am also not able to reproduce it on 1.9v. Please see the steps I followed in the following video. Let me know if I missed any steps or any other difference with the setup.

Also, Is it possible to try our insiders build and reproduce it? Here is the link to latest insiders
http://code.visualstudio.com/insiders

You need to have a comment line // as the sole contents of the User Settings.
// anything can go here

@esoltys Same result with commented line also. Cannot reproduce.

@sandy081 the problem is a call this.configurationService.reloadConfiguration() which results in an exception in this setup. Moving to you.

@esoltys I take back my last comment. It's reproducable with just a comment line. This is a dup of #19773


Footnotes and alerts not working properly

I've added a few footnotes and alerts in  _portfolio/MRS.md. However, those are not rendering as preview versions. I attached two of them below:

It looks like you are attempting to push a change to the part repository, for help with deploying please start a new thread in the discussions.


Enable trailing comma

Description
Enable trailing comma on declaration and call site.
Checklist

[X] PR description added
[ ] tests are added
[X] KtLint has been applied on source code itself and violations are fixed
[ ] documentation is updated
[ ] CHANGELOG.md is updated

In case of adding a new rule:

[ ] Rule is added to rules documentation

Just to confirm: this not only allows but enforces a trailing comma?

Just to confirm: this not only allows but enforces a trailing comma?

Yes indeed. The codebase just feel way more consistent when the trailing comma is used always or never. This prevents discussions about usage of a trailing comma at specific location. But it is possible to set trailing comma's for call site and declaration site independently (also see separate commits).
The build is probably broken because other changes have been merged before this one and the trailing comma is not yet applied consistently in those changes.


Nat 20/1 colors not respected

https://gitlab.com/symonsch/my-foundryvtt-macros/-/blob/main/PF2e/Contributions by others/Recall_Knowledge.js

Fixed in 1.8.0


Do not install rust-doc on CI

We don't need docs on CI, so let's not install them. The --profile option is a recent addition.
Will merge in three days unless someone—anyone—stops me for a review.

Coverage decreased (-0.03%) to 40.413% when pulling fa40038330a26f2aa8c65e7059abf41d43b9bb0f on feature/minimal-rust-on-i686-linux into 9b7c8cee4faddeda3f1f103f5c83d17d2326543f on master.


Suggestion

Good day, I see your application really helpful me to motivate using flutter, but maybe you can add some example code for user or something like basic training. Thanks for your attention

I think what you are looking for already exists
check this guide:
https://flutter.io/get-started/install/
and this sample app (you can download load it from Google Play and try it)
https://github.com/flutter/flutter/tree/master/examples/flutter_gallery
the examples are included in the project as well:
https://github.com/flutter/flutter/tree/master/examples

Need more examples of using widgets, for example, such as: WillPopScope, CustomPaint, SafeArea

@brianegan ?

Oke sir, thanks for your information
Pada tanggal Rab, 13 Jun 2018 14.51, Günter Zöchbauer <
<EMAIL_ADDRESS>menulis:

@brianegan https://github.com/brianegan ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/18440#issuecomment-396847353,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aj3X2yZZ4hjSutZRRr_n6Hp-I-BJ300bks5t8MRqgaJpZM4Uliwf
.


Is it possible animated.gif use with kivy canvas object ?

Is it possible animated.gif use with kivy canvas object?
Hi,
I tried to use animated.gif or animated.zip for pong ball but it doesn't work,
is it possible to use animated.gif (or animated.zip) for canvas object?
https://kivy.org/doc/stable/tutorials/pong.html
:
size : 50,50
canvas:
Ellipse:
pos : self.pos
size: self.size
source: 'animated.gif'
#source: 'animated.zip'

Can't you use an 'Image' instead ?
Like this:
https://stackoverflow.com/questions/47481540/how-can-i-use-an-animated-gif-that-will-play-when-pressed-as-a-button-in-kivy#47484375

As suggested above, use an Image.


Optimizers fail on hyperindices

If an hyperindex is present (an index that appears in more than 2 tensors), then optimizers preemptively sum it. This must not happen and it should be sum it in the end if so.

Fixed in 045a67d22942fc9c4c239b9938ba1587bc111827

Triggering TagBot for merged registry pull request: https://github.com/bsc-quantic/Registry/pull/80

Triggering TagBot for merged registry pull request: https://github.com/bsc-quantic/Registry/pull/86


Fix padding in actions block

Before:

After:

@Vadimkin can you please provide browser name and version? I can't reproduce this yellow action bar. Thanks

@Vadimkin I found how to test it. Thanks for the fix!

Thanks, @elky!


feat: No unused vars

use case:
Code with bug:
  async findByRole(role: Role): Promise<User | null> {
    return (
      Object.values(this.db).find((user) => user.role === Role.Retailer) ?? null
    );
  }

With this rule eslint reports error on function argument:
ESLint: 'role' is defined but never used.(@typescript-eslint/no-unused-vars)

I'm actually against this rule personally.
For me it should not be an error. Warn at most.
If I have some draft code, and run eslint before recompilation, my code cannot be built and I have to clean up it and lose time.
@tdzienniak
@Drajvon WDYT?

I think that warn would be a good fit here 👌

By the way, we also have config for react, they should be similar

I don't like these unused vars in prod code, but I agree that it is nice to have during development. So "warn" is ok, because warns would (and should) fail the production build in most cases.


[BUG] nav-bar while moving down

Description
in cardinalVices, the nav-bar is not having a correct background color so the nav-bar is coinciding with the text
Describe the bug:

please assign me this issue

@khadar1020 Please wait for the issue to be assigned before Submitting a pr for review


Phonopy parsing fails with ModuleNotFoundError("You need to install python-h5py.")

There is an issue with the phonopy parser installation at https://nomad-lab.eu/prod/v1/gui/user/uploads. When it should read a phonopy project that actually doesn't generates its own force constants but rather reads a force constants from external calculator (here in hdf5 format) it fails with missing python-h5py.
Specifically the force constants were calculated with the Quantum ESPRESSO and the q2r.x package using the experimental workflow described here: https://phonopy.github.io/phonopy/qe.html#using-q2r-x-to-create-phonopy-force-constants-file
Testcase here: phonopy-test.zip
I'm not sure if there are further problems ahead after this, but this one should be easily solvable just by installing the required package for the parser.

@ladinesa please have a look at this and comment

You can't reproduce with the here attached testcase? I did not publish the data, so there is no upload id. I tried to upload it again https://nomad-lab.eu/prod/v1/gui/user/uploads/upload/id/nIfODNjsQHOtbMexdNlhlA but right now it still waits for processing.

BTW This is unrelated to the QE parser request.

I was trying to follow the link provided to see the actual log but I tested it and it seems to be parsed properly with h5py installed.

Than it seems the only problem here is that python-h5py is not installed on nomad v1 main instance?

But h5py (3.4.0) is already installed on the current https://nomad-lab.eu/prod/v1/gui nomad.

Let me check again when the parsing of https://nomad-lab.eu/prod/v1/gui/user/uploads/upload/id/nIfODNjsQHOtbMexdNlhlA is finally done what is the exact error message...

It looks like the packge is there but has some issues: ImportError: /usr/local/lib/python3.7/site-packages/h5py/_errors.cpython-37m-x86_64-linux-gnu.so: ELF load command address/offset not properly aligned

With the current staging deployment and recent processings of phonon data this issue is not apprearing anymore. Please re-open when there are still problems.


Allow disabling toolbar

Basic implementation of a mechanism to entirely disable the toolbar and front-end editing for logged in staff, with link from admin menu.
Please note that I had to amend a commit to update three tests with the new length of the menu items collection. Also, I based my branch on master because it seems easier to merge to other branches doing so, I hope this is not against your guidelines (I haven't found anything about it).

Being a feature, this is going to merged on develop, not master.
Could you please rebase on develop and reopen on develop?

Ok, I'll do that ASAP.
Il giorno 1:21 PM dom 01/mar/2015 Iacopo Spalletti<EMAIL_ADDRESS>ha scritto:

Being a feature, this is going to merged on develop, not master.
Could you please rebase on develop and reopen on develop?
—
Reply to this email directly or view it on GitHub
https://github.com/divio/django-cms/pull/3910#issuecomment-76594507.

Thanks!
LGTM, by the way
I'd just add the documentation for the new settings at https://github.com/divio/django-cms/blob/develop/docs/reference/configuration.rst and a mention of the new item at https://github.com/divio/django-cms/blob/develop/docs/user/reference/page_admin.rst#site-menu


[SPARK-31805][SS] Exclude group.id from consumer settings when using the assign strategy

What changes were proposed in this pull request?
Fix for SPARK-31805: do not set the group.id consumer property when using the "assign" strategy.
Why are the changes needed?
With secure Kafka blocker an application fails, because the auto-generated group id is not allowed by the broker:
org.apache.kafka.common.errors.GroupAuthorizationException: Not authorized to access group: spark-kafka-relation-ecab045d-4ee6-425e-88a0-495d4100a013-driver-0

For the "assign" strategy, consumer group is not used. Therefore the best fix is to exclude the group.id property from the consumer config.
Does this PR introduce any user-facing change?
Yes. When using "assign" strategy:

No need to reconfigure the broker - to add the necessary group ids to ACL
(since Spark 3.0.0) No need to provide a custom group id (SPARK-26350) or a custom prefix (SPARK-26121)

How was this patch tested?
Manually:

Rebuild the module:mvn install -pl :spark-sql-kafka-0-10_2.12

Rebuild my application with newly built spark-sql-kafka-0-10_2.12. My application does the following:val kafkaDf = spark.read
  .format("kafka")
  // "kafka.bootstrap.servers" and SASL-specific options
  .options(options)
  .option("assign", topicPartitionsJson)
  .option("startingOffsets", startingOffsetsJson)
  .option("endingOffsets", "latest")
  .load()

Run my application with a secure Kafka broker and verify that it does not fail with "GroupAuthorizationException: ..." anymore.

I did not manage to add unit tests, because I do not know, how to set up a secure Kafka broker. Unit tests in spark-sql-kafka-0-10 use the tool KafkaTestUtils. I am not sure if this tool is suitable to simulate a secure Kafka broker with ACLs.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

cc @HeartSaVioR FYI

If I'm not missing anything, the assignment is only effective on driver side consumer, so if we want to discard group.id config for assignment, we should do the same with consumers for executors as well. That can be applied for all strategies as consumers for executors always leverage assignment.
(Please turn on DEBUG log for org.apache.spark.sql.kafka010.consumer.InternalKafkaConsumer and see how group ID is printed.)
Btw, TBH I'm hesitate to agree the change unless there's no way to deal with such issue even with the changes from Spark 3.0.0, because the change would make an "exception" on specific option, which behavior may not be consistent with existing versions of Kafka & future versions of Kafka.
What I have been heard of group ID security issues from end users in community are that most cases can be dealt with prefixed group ID. Doesn't it help your case?

Consumers inside executors
Indeed, executors have their own Kafka consumers, and these consumers always have group.id set: KafkaSourceProvider.kafkaParamsForExecutors(). We can see group ids in executor logs, INFO level is enough.
However, the consumers inside executors always do assign() and never subscribe(). Then, there is no reason to set group.id for them. I would suggest to remove this setting for consumers.
Nevertheless, executors do not fail as driver does. My investigation is below in this post.
Kafka consumers behavior
By KafkaConsumer specification, the assign mechanism does not use consumer groups at all. Contrarily to subscribe, assign assumes manual assignment of topic partitions.
If I am not missing anything, Structured Streaming manually assigns Spark executors to Kafka partitions. We do not use consumer groups at all, so we don't need them. Therefore, I am not sure why Structured Streaming provides the option "subscribe".
By not specifying group.id, we can avoid the authorization problem on a secure Kafka broker.
Weird behavior of consumers inside executors
A weird thing is that executors do not fail with GroupAuthorizationException as the driver does. The difference between driver's consumer and executor's consumer is following:

driver sequence - see KafkaOffsetReader:

create consumer (using ConsumerStrategy)
subscribe or assign as per ConsumingStrategy
run consumer.poll() - KafkaOffsetReader.fetchTopicPartitions()

executor sequence - see KafkaDataConsumer:

create consumer
always assign (no strategy)
make a number of seeks, e.g. seekToBeginning(), seekToEnd() - see for example InternalKafkaConsumer.getAvailableOffsetRange().
run consumer.poll() - InternalKafkaConsumer.fetchData()

These seek operations make the difference. I made a trivial application with KafkaConsumer - if I insert seekToBeginning() before calling poll(), the consumer successfully reads records without facing GroupAuthorizationException. Maybe it is a Kafka bug (I tried with Kafka 2.2.0).

If I am not missing anything, Structured Streaming manually assigns Spark executors to Kafka partitions. We do not use consumer groups at all, so we don't need them. Therefore, I am not sure why Structured Streaming provides the option "subscribe".

It's not true for driver side. Spark still leverages subscription in driver to receive the metadata updates and avoid dealing with retrieving target topic partitions by itself. Spark will interpret topic partitions in startingOffsets / endingOffsets based on the information. The metadata information is the thing we may need to deal manually with admin client if we want to avoid subscription at all, which is technically not impossible (if I'm not missing anything) but sub-optimal.
Also, the option "assign" leaves many considerations on end users' side - end users should know about target topic partitions and fully understand the query may not consume all messages in topic once topic expands the number of partitions. It's not simple to use and error-prone.
Back to the original topic, my comment is not about the feasibility of doing that. I agree we can do the change technically - the point is that how much it brings value to differentiate assign vs others in Spark side. Integrating with the details means that it's gonna be non-trivial to change. If the workarounds provided by Spark 3.0.0 work for all cases I'm not 100% sure about the value.
(Honestly I don't see the value of ACL on group ID if anyone can ignore the permission and call assign API. ACL should have been also set to the users.)
One interesting thing is that Kafka could ignore the group ID for assign API but didn't look like, which is why you've encountered the issue.

But that's only me. Let's hear more voices on this.
cc. @zsxwing @gaborgsomogyi

I've taken a look at it and here are my thoughts:

According to KafkaConsumer specification, the consumer group in the "assign" strategy is not used.

This is simply not true. One can commit back offests with a consumer and such case group id is used.
This is not used in Structured Streaming at the moment but I don't want to close this possibility.

We've already added a solution in Spark 3.0.0 to solve exactly this issue, I don't see the reason to solve it a different way.
There is a configuration solution to this on broker side: bin/kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=zk:2181 --add --allow-principal User:'Bon' --operation READ --topic topicName --group='spark-kafka-source-' --resource-pattern-type prefixed
Only personal view but I don't see the gain adding this, on the other hand additional code means more maintenance.

Overall I wouldn't merge it but if somebody thinks it worth then I have couple of further comments.

I'm just revisiting this. At the moment working on SPARK-32032 where AdminClient is planned to use on driver side which makes group.id completely useless in the Kafka connector. If it's merged then we can go to this direction but not with the current implementation. I think we shouldn't remove group.id from the map but just remove code references which are using it (for instance in KafkaDataConsumer).


[Bug]: wheel size exceeds 200MB

Your current environment
-

🐛 Describe the bug
Seems like the main branch of vLLM is oversized, which is crashing the docker build process :/
=> ERROR [build 15/15] RUN python3 check-wheel-size.py dist                                                                                0.3s
------
 > [build 15/15] RUN python3 check-wheel-size.py dist:
0.309 Wheel dist/vllm-0.5.2+cu124-cp38-abi3-linux_x86_64.whl is too large<PHONE_NUMBER>182251 MB) compare to the allowed size (200 MB).
0.309 vllm/_C.abi3.so:<PHONE_NUMBER>8271484 MBs uncompressed.
0.309 vllm/_punica_C.abi3.so:<PHONE_NUMBER>9726562 MBs uncompressed.
0.309 vllm/_moe_C.abi3.so: 13.828536987304688 MBs uncompressed.
0.309 vllm/config.py: 0.06867504119873047 MBs uncompressed.
0.309 vllm/worker/model_runner.py: 0.06034278869628906 MBs uncompressed.
0.309 vllm/core/scheduler.py: 0.05170249938964844 MBs uncompressed.
0.309 vllm/engine/llm_engine.py: 0.049073219299316406 MBs uncompressed.
0.309 vllm/lora/layers.py: 0.046690940856933594 MBs uncompressed.
0.309 vllm/model_executor/layers/sampler.py: 0.046222686767578125 MBs uncompressed.
0.309 vllm/spec_decode/spec_decode_worker.py: 0.040375709533691406 MBs uncompressed.
------

 3 warnings found (use --debug to expand):
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 128)
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 138)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 225)
Dockerfile:123
--------------------
 121 |     # check the size of the wheel, we cannot upload wheels larger than 100MB
 122 |     COPY .buildkite/check-wheel-size.py check-wheel-size.py
 123 | >>> RUN python3 check-wheel-size.py dist
 124 |
 125 |     #################### EXTENSION Build IMAGE ####################
--------------------
ERROR: failed to solve: process "/bin/sh -c python3 check-wheel-size.py dist" did not complete successfully: exit code:

which commit?

I would assume this happens when you add more version to the cuda supported arch list.

the reason might be that your building environment is different from ci. the ci wheel size check passed.

my environment is a pretty standard A10 and H100 Ubuntu20/22
None of them passed.
Perhaps we should check on the CI environment and really try this out?
Users do not have clear visibility into how CI is configured

if you build wheel for your private usage, you can just remove that wheel size check. we have the limit because we need to upload it to pypi .

I'm not building it for private use. I only ran docker build. I don't think a normal docker build should fail because of that

I am building on A10.4
Same error
Error: building at STEP "RUN python3 check-wheel-size.py dist": while running runtime: exit status 1
Did someone figure out other than removing this check?

Thanks


Issue 3297 always use source credentials

Previously, it tried to make an unauthenticated request first, then retried with authentication if the first request failed.
This causes issues on some gem servers. For example, Gemfury supports the dependency API and allows a mix of public and private gems in the same repository. It does not forbid unauthenticated requests, but it returns partial information.
Now configured credentials are always used.
Fixes #3297, #3296, #3180.

If you came here looking to test this fix, here's what you need to do:
git clone https://github.com/TimMoore/bundler.git`
cd bundler
git checkout issue-3297-always-use-source-credentials
rake install

That will install it to your system gems. Alternatively, you can create a dbundle alias as described in the DEVELOPMENT.md guide to run it from source.
Thanks!

I will try and set aside some time later today and test this out.

It works for me
➤ bundler version
Bundler version 1.7.3
➤ bundle update
Fetching source index from https://redacted.s3.amazonaws.com/redacted/
Fetching gem metadata from https://rubygems.org/........
Fetching additional metadata from https://rubygems.org/........
Resolving dependencies...
Using …
Your bundle is updated!

➤ gem install bundler
➤ bundle version
Bundler version 1.7.11
➤ bundle update
Authentication is required for https://redacted.s3.amazonaws.com/redacted/.
Please supply credentials for this source. You can do this by running:
 bundle config https://redacted.s3.amazonaws.com/redacted/ username:password

➤ dbundle version
Bundler version 1.7.11-dev
# I edited version.rb to add -dev to be sure
➤ dbundle update
Fetching source index from https://redacted.s3.amazonaws.com/redacted/
Fetching gem metadata from https://rubygems.org/........
Fetching additional metadata from https://rubygems.org/........
Resolving dependencies...
Using …
Your bundle is updated!

Hooray! Thanks for all your work on this, @TimMoore.

:tada: @TimMoore :tada:

Thanks! Looking forward to 1.7.12 being released with this fix.

1.7.12 is released!


[VL] Fix Arrow ColumnarBatch cannnot revoke rowIterator

ColumnarBatchRow first column is IndicatorVector, so we cannot revoke rowIterator function correctly, meet this exception
java.lang.UnsupportedOperationException
	at org.apache.gluten.columnarbatch.IndicatorVectorBase.getBoolean(IndicatorVectorBase.java:79)
	at org.apache.spark.sql.vectorized.ColumnarBatchRow.getBoolean(ColumnarBatchRow.java:97)
	at org.apache.spark.sql.vectorized.ColumnarBatchRow.get(ColumnarBatchRow.java:155)
	at org.apache.gluten.columnarbatch.ColumnarBatches.toString(ColumnarBatches.java:406)

public class ColumnarBatch implements AutoCloseable {
  protected int numRows;
  protected final ColumnVector[] columns;

  // Staging row returned from `getRow`.
  protected final ColumnarBatchRow row;

public final class ColumnarBatchRow extends InternalRow {
  public int rowId;
  private final ColumnVector[] columns;

Could you please describe the intention in PR description?

Hi @jinchengchenghh. thanks for the update. Would you like to help add a test case in ColumnarBatchTest? Then we can avoid regression after fixing the issue.


DUOS-942[risk=no]Represent ToT as an integer of days

Addresses:
https://broadworkbench.atlassian.net/browse/DUOS-942
Scope:
-change turnaround time from a string to an integer representing days
-make initResource private in MetricsResourceTest
Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] I've followed the instructions if I've made any changes to the API, especially if they're breaking changes
[ ] I've updated the RC_XXX release ticket with any manual steps required to release this change
[ ] I've updated the FISMA documentation if I've made any security-related changes, including auth, encryption, or auditing
[ ] I've updated Swagger to reflect any API changes

In all cases:

[ ] Get two thumbsworth of review and PO signoff if necessary
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this unless it's for a hotfix. In that case, don't delete it!
[ ] Test this change deployed correctly and works on dev environment after deployment

Many of these changes are already merged to develop. Please make sure to merge from the latest develop or rebase from that.

Many of these changes are already merged to develop. Please make sure to merge from the latest develop or rebase from that.


Cannot locate/download project archive

https://github.com/google/code-prettify -> README.md -> Setup -> Getting started -> Serving your own JS & CSS -> download
(or direct link: https://raw.githubusercontent.com/google/code-prettify/master/distrib/prettify-small.tgz)

I can confirm for the .tgz file 404: Not Found
@Roman-Tarasiuk in the mean time you can check my PR at #476 and how I used it within my project with browserify.

@Roman-Tarasiuk  That's a typo. Previously there were .bz2, .tgz, and .zip files, but were reduced to just a ZIP file (PR #467). We missed updating the readme file.

This is still an issue
The getting_started links to
https://raw.githubusercontent.com/google/code-prettify/master/distrib/prettify-small.tgz
but it's 404, not found.
It works if I change to the suffix from tgz to zip


Fixed missing combined range from API and calculates it

This will calculate combined range with electric and combustion range (if both are supported) instead of missing value from API-response.
Should fix https://github.com/lendy007/homeassistant-skodaconnect/issues/123.

Simple enough to work good! I don't think the combined range attribute will return since it's been gone for some time now.


generate_recent_dir_log:4: file exists: /tmp/tmp.CZWymagmxT

In generate_recent_dir_log (), please change:
printf '%s\n' "${PWD}" > ${tmp_log}

to
printf '%s\n' "${PWD}" >> ${tmp_log}

Necessary to work with bash's noclobber

Likewise >|:
		awk '!seen[$0]++' ${tmp_log} >| ${recent_dir_log} # remove duplicates

References:
How to protect files from overwriting with noclobber in bash
Bash: What does ">|" do?

Thanks!

Thanks for fixing so quickly! :smiley:


Az cli version 2.37.0 breaks backwards compatibility

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Related command
az ad sp list --filter "displayName eq '${SVC_PRINCIPAL_NAME}'" | jq -r '.[].appOwnerTenantId'
az ad sp list --filter "displayName eq '${SVC_PRINCIPAL_NAME}'" | jq -r '.[].appOwnerOrganizationId'
Describe the bug
In the versions 2.22.0 to 2.36.0, the command to get the TenantId is referenced by appOwnerTenantId field.
But in the version 2.37.0,  the command to get the TenantId is referenced by appOwnerOrganizationId field and not by the appOwnerTenantId.
To Reproduce
Run the command in az cli versions 2.37 and in the prior version 2.22 to 2.36.
az ad sp list --filter "displayName eq '${SVC_PRINCIPAL_NAME}'" | jq -r '.[].appOwnerTenantId'
Expected behavior
In the az-cli version 2.37 it will return null and the field appOwnerTenantId is not present.
Environment summary
Version 2.22
On any az-cli,
azure-cli                         2.22.1 *
core                              2.22.1 *
telemetry                          1.0.6
Extensions:
managementpartner                  0.1.3
databricks                         0.8.0
storage-preview                    0.7.3
account                            0.2.2
Python location '/usr/local/Cellar/azure-cli/2.22.1/libexec/bin/python'
Extensions directory '/Users/karthickj/.azure/cliextensions'
Python (Darwin) 3.8.9 (default, Apr  3 2021, 01:50:09)
[Clang 12.0.0 (clang-1<IP_ADDRESS>)]
Version 2.37
azure-cli                         2.36.0 *
core                              2.36.0 *
telemetry                          1.0.6
Dependencies:
msal                              1.17.0
azure-mgmt-resource               20.0.0
Python location '/opt/az/bin/python3'
Extensions directory '/home/ecaeskickstartadmininstallation/.azure/cliextensions'
Python (Linux) 3.8.13 (default, Apr 22 2022, 04:53:04)
[GCC 7.5.0]

@jiasli for awareness

We have clearly documented breaking changes in https://docs.microsoft.com/en-us/cli/azure/microsoft-graph-migration, which points to https://docs.microsoft.com/en-us/graph/migrate-azure-ad-graph-property-differences#serviceprincipal-property-differences.
az ad sp list also displays an in-tool warning for the breaking change.
> az ad sp list
This command or command group has been migrated to Microsoft Graph API. Please carefully review all breaking changes introduced during this migration: https://docs.microsoft.com/cli/azure/microsoft-graph-migration


Teleport unable to find getent binary

Describe the bug
When running the Teleport service, while it is functional, it logs errors complaining that it can't find the getent binary:
May 28 17:47:10 home systemd[1]: Started teleport.service.
May 28 17:47:12 home teleport[3086968]: ERRO             "Error during temporary user cleanup: cant find getent binary\n\texec: \"getent\": executable file not found in $PATH" srv/usermgmt.go:469

Might just need some careful application of patchelf?
Steps To Reproduce
Steps to reproduce the behavior:

Set services.teleport.enable = true;.
Connect to a host using tsh ssh ….
systemctl status teleport and check for the error logs.

Expected behavior
There should be no errors logged to the journal.
Notify maintainers
@freezeboy, @arianvp, @justinas, @sigma, @tomberek, @techknowlogick (sorry for the mass mention).
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
L1 ao@home ~ $ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.31, NixOS, 24.11 (Vicuña), 24.11.20240524.bfb7a88`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Lix, like Nix) 2.90.0-beta.1-lixpre20240506-b6799ab`
 - channels(root): `""`
 - nixpkgs: `/nix/store/z71lmgd0ydfnax1b13zbrls5idf1y7ak-source`

Add a :+1: reaction to issues you find important.

Sounds like we need to add getent into Teleport's PATH, either only for the Teleport systemd service, or for the teleport binary. We already do a similar thing for tsh https://github.com/NixOS/nixpkgs/blob/c01818d57c9d47b9d9b85ab84b5dc04e6c830d63/pkgs/servers/teleport/generic.nix#L163
Could you test with:
systemd.services.teleport.path = [ pkgs.getent ];

and verify that it helps?
There's a few other external binaries that Teleport calls if you're using the host user creation feature, so we might want to include those as well. https://github.com/gravitational/teleport/blob/631c1fcae219d8f33b119059b70a27638a0da470/lib/utils/host/hostusers.go

Sorry for the absence here, sure, I'll give it a try and report back.

@justinas  i had the same error as OP on Teleport16.
That line fixed it for me tho :)
seems to be some other problems tho...
listen unix /nix/store/b010nrmsvsc2cmvp1k2ziwx7qjai43hr-teleport/debug.sock: bind: read-only file system

Created https://github.com/NixOS/nixpkgs/pull/332810 .


InformerEventSource throwing NPE if the watched resource is deleted

Bug Report

What did you do?

Configured the event source:

    @Override
    public List<EventSource> prepareEventSources(EventSourceContext<Keycloak> context) {
        SharedIndexInformer<Deployment> deploymentInformer =
                client.apps().deployments().inAnyNamespace()
                        .withLabels(Constants.DEFAULT_LABELS)
                        .runnableInformer(0);

        return List.of(new InformerEventSource<>(
                deploymentInformer, d -> {
            var ownerReferences = d.getMetadata().getOwnerReferences();
            if (!ownerReferences.isEmpty()) {
                return Set.of(new ResourceID(ownerReferences.get(0).getName(),
                        d.getMetadata().getNamespace()));
            } else {
                return Collections.emptySet();
            }
        }));
    }

Created the secondary resource (Deployment) in a reconciliation loop.
Deleted the Deployment manually to simulate user unintentionally deleting it.

What did you expect to see?
No NPE. ;)
What did you see instead? Under which circumstances?
2022-01-13 18:16:00,804 ERROR [io.fab.kub.cli.inf.cac.SharedProcessor] (OkHttp https://<IP_ADDRESS>:52740/...) Failed invoking io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource$1@18998b60 event handler: null: java.lang.NullPointerException
	at io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource$1.onUpdate(InformerEventSource.java:88)
	at io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource$1.onUpdate(InformerEventSource.java:78)
	at io.fabric8.kubernetes.client.informers.cache.ProcessorListener$UpdateNotification.handle(ProcessorListener.java:85)
	at io.fabric8.kubernetes.client.informers.cache.ProcessorListener.add(ProcessorListener.java:47)
	at io.fabric8.kubernetes.client.informers.cache.SharedProcessor.lambda$distribute$0(SharedProcessor.java:79)
	at io.fabric8.kubernetes.client.informers.cache.SharedProcessor.lambda$distribute$1(SharedProcessor.java:101)
	at io.fabric8.kubernetes.client.utils.SerialExecutor.lambda$execute$0(SerialExecutor.java:40)
	at io.fabric8.kubernetes.client.utils.SerialExecutor.scheduleNext(SerialExecutor.java:52)
	at io.fabric8.kubernetes.client.utils.SerialExecutor.execute(SerialExecutor.java:46)
	at io.fabric8.kubernetes.client.informers.cache.SharedProcessor.distribute(SharedProcessor.java:98)
	at io.fabric8.kubernetes.client.informers.cache.SharedProcessor.distribute(SharedProcessor.java:79)
	at io.fabric8.kubernetes.client.informers.cache.ProcessorStore.update(ProcessorStore.java:48)
	at io.fabric8.kubernetes.client.informers.cache.ProcessorStore.update(ProcessorStore.java:29)
	at io.fabric8.kubernetes.client.informers.cache.Reflector$ReflectorWatcher.eventReceived(Reflector.java:134)
	at io.fabric8.kubernetes.client.informers.cache.Reflector$ReflectorWatcher.eventReceived(Reflector.java:114)
	at io.fabric8.kubernetes.client.utils.WatcherToggle.eventReceived(WatcherToggle.java:49)
	at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.eventReceived(AbstractWatchManager.java:203)
	at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.onMessage(AbstractWatchManager.java:269)
	at io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener.onMessage(WatcherWebSocketListener.java:68)
	at io.fabric8.kubernetes.client.okhttp.OkHttpWebSocketImpl$BuilderImpl$1.onMessage(OkHttpWebSocketImpl.java:92)
	at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.java:322)
	at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:219)
	at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:105)
	at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:273)
	at okhttp3.internal.ws.RealWebSocket$1.onResponse(RealWebSocket.java:209)
	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174)
	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

Environment
Kubernetes cluster type:
vanilla
$ Mention java-operator-sdk version from pom.xml file
2.0.0-RC1 (commit: fd6e493)
$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment Homebrew (build 11.0.12+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.12+0, mixed mode)
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.1", GitCommit:"86ec240af8cbd1b60bcc4c03c20da9b98005b92e", GitTreeState:"clean", BuildDate:"2021-12-16T11:33:37Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:35:25Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}
Possible Solution

Additional context

For now was not able to reproduce this locally will try further. Putting @manusa @shawkins on cc,
What happens that the new object is null on update:
https://github.com/java-operator-sdk/java-operator-sdk/blob/62ce303e107108a2acdf05249f3105b0eda5d758/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerEventSource.java#L88
Is this a bug or a feature? :)

I think the question is why onUpdate is called when the object is deleted. Shouldn't the informer only call onDelete in that case?

true, it should be delete called.

I think the question is why onUpdate is called when the object is deleted. Shouldn't the informer only call onDelete in that case?

Following the watcher logic (no idea if this is what happened on the Informer side), for regular deletes, the first step is to add the deletionTimestamp field. So at least a modified event should be received prior to the deletion.

Following the watcher logic (no idea if this is what happened on the Informer side), for regular deletes, the first step is to add the deletionTimestamp field. So at least a modified event should be received prior to the deletion.

yes, but the old and new object pair should be still there, the new object will be in this case what is  "marked for deletion". At least this is what I saw before.

yes, but the old and new object pair should be still there, the new object will be in this case what is "marked for deletion". At least this is what I saw before.

From the watcher perspective yes. But I'm not sure if the Informer might be merging events.
The only explanation it occurs (without checking the informer code), is that the resource is deleted from the cache before the update event is emitted. i.e. modified + delete event are received by the informer watcher, when the modified event is composed+emitted, the resource was already deleted because of the watcher delete event.

ok, thank you!!
created a PR, with a fix and integration test on our side - what did not reproduce it, so it might be a concurrency issue, not sure.
will investigate further a little bit later.

It's not generally possible for the newObject to be null.  The incoming event is processed by the reflector.  There is an explicit null check there: https://github.com/fabric8io/kubernetes-client/blob/9e8ae39711143648158f555757296c613175c819/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/informers/cache/Reflector.java#L122
That same object reference will be passed all the way to your event handler with the stacktrace you are showing.
The resourceVersion is read by the Watcher as well, so we know that the same call was not an NPE at this point:
https://github.com/fabric8io/kubernetes-client/blob/9e8ae39711143648158f555757296c613175c819/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/informers/cache/Reflector.java#L140
Since the resource is added to the store prior to the handler being called it is possible that other logic is modifying the object first - is it possible that the operator framework is setting the metadata to null?  Or are you sure that the new object is null - that would be very surprising.

thx @shawkins !
@vmuzikar could you retest it with the current snapshot version?
Also share the code which are you using for testing?

Maybe we should split the line on which the NPE occurs so that we have a better idea of what is null?

The issue still persists for me but with a little bit more debugging I believe I found the root cause:
https://github.com/java-operator-sdk/java-operator-sdk/blob/09180abaeb93646bd7bbe8e924fd2336e61808f8/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerEventSource.java#L94-L95
Happens when oldObject.getMetadata().getResourceVersion() == null.
The thing is that I'm also creating or updating the Deployment in the reconciliation loop. And the loop is triggered by the Development being deleted, then created in the reconciliation loop, etc. Probably I'm just doing something wrong. :D But it's basically a race condition, happens only sometimes the the reconciliation is too fast.

So this is happening due to modifications to the cached resource.
It might not even be the operator logic making the modification.  This was touched on in #3078 but not really addressed.  Essentially the logic in createOrReplace, replace, or patch is allowed to modify the passed in object - in particular the resourceVersion.  For example using an item directly from the cache in createOrReplace will set the resourceVersion to null - https://github.com/fabric8io/kubernetes-client/blob/32c6a88f029ba64b1f4225c5f122f2247b1b74d7/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/utils/CreateOrReplaceHelper.java#L46
I'm thinking we need fabric8 to not do this.  To be safe we'll need to clone those objects before modifying: https://github.com/fabric8io/kubernetes-client/issues/3756
It has also been discussed whether the objects obtained from the cache should already be cloned or write protected to prevent any future modifications - only cloning would be easy to implement.  The only downside would be the general performance overhead - it's also possible to consider adding methods that would differentiate get vs getDirect.

Thanks for the updates!


pull from main

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Chinthan Esakimadanpillai Packiampillai:x: chinthanep-asmlChinthan Esakimadanpillai Packiampillai seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Remove unused  binary_array_op_scalar! in binary.rs

~Draft until https://github.com/apache/arrow-datafusion/pull/2510 is merged~
Which issue does this PR close?
re https://github.com/apache/arrow-datafusion/issues/1179 and https://github.com/apache/arrow-datafusion/issues/2482 .
Rationale for this change
(the real reason for this is that I got nerd-sniped trying to clean up expression evaluation )

The binary_array_op_scalar! doesn't handle null constants (see https://github.com/apache/arrow-datafusion/pull/2510)
It is duplicative of binary_array_op_dyn_scalar!

What changes are included in this PR?

Remove binary_array_op_dyn_scalar!
Remove code that then becomes unused without that macro 🎉

Are there any user-facing changes?
No, all internal changes

cc @WinkerDu @yjshen


Move dissertation, citeAs and locationOfOriginal into notes

Rather than have separate properties for dissertation, citeAs and locationOfOriginal, I think now that we have settled on a more structured approach to other notes we should follow that scheme here too.
So each of these should be added a separate kind of note, as in MARC.

With these three fields, we seem to be making this mistake:
https://github.com/wellcometrust/platform/issues/3998
We're going to ditch that functionality and draw from all subfields (i.e. content).


October 2020 Training

Email participants in social sciences that we're having a social science training
Figure out the 20 people to put on our confirmed list
Email the confirmed list and the not qualified and the waiting list people once Amber signs off on email.

[ ] Email participants in social sciences that we're having a social science training
[ ] Figure out the 20 people to put on our confirmed list
[ ] Email the confirmed list
[ ] Email the not qualified
[ ] Email the waiting list people once Amber signs off on email.


Not able to run docker containers. Flag provided but not defined: -console

Steps to reproduce the issue:

Docker run command

Describe the results you received:
# docker run hello-world
docker: Error response from daemon: oci runtime error: flag provided but not defined: -console.

Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   23cf638
 Built:        Tue, 27 Sep 2016 12:25:38 +1300
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   23cf638
 Built:        Tue, 27 Sep 2016 12:25:38 +1300
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 12
 Running: 0
 Paused: 0
 Stopped: 12
Images: 24
Server Version: 1.12.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 73
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 4.4.0-59-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.504 GiB
Name: harshal-ThinkPad-T450
ID: CHWO:C47J:VEGI:PGXN:GCBC:QLSW:5KMX:NWZ4:NDNF:NMSP:C7AC:BX7O
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):

Did you install non-default runc?

yes, but I didn't modify it. All I did was,
cd github.com/opencontainers
git clone https://github.com/opencontainers/runc
cd runc

make
sudo make install

The latest runc is incomatible with Docker 1.12.
You can use the docker-runc (should be installed with docker by default)

Where can I find it? I tried to list the package content of the docker package in ubuntu by dpkg -L  docker.io didn't find any runc binary.
where can I find the runc binary shipped with docker?

anyway, I uninstalled my custom runc and it's working fine now.

@harche it may be you installed Ubuntu's package - that's not maintained by us. packages can be found at apt.dockerproject.org (see https://docs.docker.com/engine/installation/linux/ubuntulinux/)

@thaJeztah  thanks.

This is a regression in recent runc. Downgrade to (eg. 0.1.1+dfsg1-2)
See also https://bugs.debian.org/855208


Bug report:  Error adding spo site

Description
Trying to script out creation of sites in SPO, get an error when running a test command from the documentation.
Steps to reproduce
Run the below command (taken directly from the documentation here):

m365 spo site add --alias team1 --title "Team 1"

Expected results
Site is created in my tenant.
Actual results
Recieve Error: Error: unable to get local issuer certificate
Diagnostics
Executing command spo site add with options {"options":{"alias":"team1","title":"Team 1","debug":true}}
No SPO URL available. Retrieving from MS Graph...
Existing access token {authtoken} still valid. Returning...
Request:
{
  "headers": {
    "common": {
      "Accept": "application/json, text/plain, */*"
    },
    "delete": {},
    "get": {},
    "head": {},
    "post": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "put": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "patch": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "user-agent": "NONISV|SharePointPnP|CLIMicrosoft365/5.1.0",
    "accept-encoding": "gzip, deflate",
    "accept": "application/json;odata.metadata=none",
    "authorization": "Bearer {authtoken}"
  },
  "decompress": true,
  "responseType": "json",
  "url": "https://graph.microsoft.com/v1.0/sites/root?$select=webUrl",
  "method": "get"
}

Request error:
Error: Cannot convert undefined or null to object

### CLI for Microsoft 365 version

v5.1.0

### nodejs version

v16.14.2

### Operating system (environment)

Windows

### Shell

PowerShell

### cli doctor

```json
{
  "os": {
    "platform": "win32",
    "version": "Windows 10 Enterprise",
    "release": "10.0.19042"
  },
  "cliVersion": "5.1.0",
  "nodeVersion": "v16.14.2",
  "cliAadAppId": "31359c7f-bd7e-475c-86db-fdb8c937548e",
  "cliAadAppTenant": "common",
  "authMode": "DeviceCode",
  "cliEnvironment": "",
  "cliConfig": {},
  "roles": [],
  "scopes": [
    "AllSites.FullControl",
    "AppCatalog.ReadWrite.All",
    "AuditLog.Read.All",
    "ChannelMember.ReadWrite.All",
    "ChannelMessage.Read.All",
    "ChannelMessage.Send",
    "ChannelSettings.ReadWrite.All",
    "Chat.Read",
    "Chat.ReadWrite",
    "Directory.AccessAsUser.All",
    "Directory.ReadWrite.All",
    "Group.ReadWrite.All",
    "IdentityProvider.ReadWrite.All",
    "Mail.ReadWrite",
    "Mail.Send",
    "Place.Read.All",
    "Policy.Read.All",
    "Reports.Read.All",
    "ServiceHealth.Read.All",
    "ServiceMessage.Read.All",
    "ServiceMessageViewpoint.Write",
    "Tasks.ReadWrite",
    "Team.Create",
    "TeamMember.ReadWrite.All",
    "TeamsApp.ReadWrite.All",
    "TeamsAppInstallation.ReadWriteForUser",
    "TeamSettings.ReadWrite.All",
    "TeamsTab.ReadWrite.All",
    "TermStore.ReadWrite.All",
    "User.Invite.All",
    "User.ReadWrite.All",
    "profile",
    "openid",
    "email"
  ]
}

Additional Info
I suspect this is related:
Running: m365 site get
Response:
{
  "SpoUrl": ""
}

I expected this to return the tenant url.  Running this graph call returns my tenant url as expected.
GET https://graph.microsoft.com/v1.0/sites/root?$select=webUrl

@jacobsian-del sorry you are having trouble with the tool.
Thanks for reporting this. You rock 🤩
Will investigate it asap 👍

@jacobsian-del could you please do this additional check:
using https://developer.microsoft.com/en-us/graph/graph-explorer (and being logged in) please execute 'https://graph.microsoft.com/v1.0/sites/root?$select=webUrl' and check if you get your tenant root webUrl 🤔

yep comes back as expected:
{
<EMAIL_ADDRESS>"https://graph.microsoft.com/v1.0/$metadata#sites(webUrl)/$entity",
    "webUrl": "https://jacobsian.sharepoint.com"
}

I checked the functionality in the latest CLI version and seems to be working ok. Seems like the problem might be connected to some local settings 🤔. If the request using graph explorer works fine (and basically CLI uses the same) lets also ensure we are using the same account for the check.
May I ask you to restart from scratch and do the following steps:

logout from m365 with m365 logout command
go to AAD to Enterprise applications section and remove the 'PnP Management Shell` app
login to m365 with m365 login command and be sure to approve all needed permissions
recheck 🙂

@Adam-it we have a m365 reconsent command that allows you to make sure all permissions are in place (https://pnp.github.io/cli-microsoft365/cmd/cli/cli-reconsent/) might be a quicker way.

@appieschot that is sooo cool 🤩 @jacobsian-del may I kindly ask you to check this 👍

@jacobsian-del are you working behind a corporate proxy?
I have seen this issue before when using Azure CLI, which is caused by the proxy intercepting the CLI's HTTPS traffic, decrypting and re-encrypting it with its own certificate.
We do have an open issue related to Axios, which we use to execute requests from the CLI, not supporting custom certificate CAs, I think these maybe related 👉 https://github.com/pnp/cli-microsoft365/issues/2155

@jacobsian-del the error you mention Error: unable to get local issuer certificate is different from the error you mention further down Error: Cannot convert undefined or null to object. Could you please run the command with the --debug option and share with us the full output (excluding the access token of course)? Thank you, and we appreciate your help to understand what's going on.

The error Error: unable to get local issuer certificate is what i get when I run the command without the --debug option.  When I run with the --debug option I get the Error: Cannot convert undefined or null to object message.
Running:
m365 spo site add --alias team1 --title "Team 1"
Result:
Error: unable to get local issuer certificate
Running:
m365 spo site add --alias team1 --title "Team 1" --debug
Result:
Executing command spo site add with options {"options":{"alias":"team1","title":"Team 1","debug":true}}
No SPO URL available. Retrieving from MS Graph...
Existing access token {BearerToken} still valid. Returning...
Request:
{
  "headers": {
    "common": {
      "Accept": "application/json, text/plain, */*"
    },
    "delete": {},
    "get": {},
    "head": {},
    "post": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "put": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "patch": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "user-agent": "NONISV|SharePointPnP|CLIMicrosoft365/5.1.0",
    "accept-encoding": "gzip, deflate",
    "accept": "application/json;odata.metadata=none",
    "authorization": "{BearerToken}"
  },
  "decompress": true,
  "responseType": "json",
  "url": "https://graph.microsoft.com/v1.0/sites/root?$select=webUrl",
  "method": "get"
}
Request error:
Error: Cannot convert undefined or null to object

How are you signing in to Microsoft 365 in the CLI @jacobsian-del? Are you executing just m365 login or do you include any specific arguments?

@jacobsian-del Are you running PowerShell from VS Code, ISE or the plain default terminal?

I've tested from the Terminal and VS Code.

I'm trying to capture the requests being made in fiddler but having some trouble setting up the proxies correctly.  Any guidance you can provide?

so I don't know how, but it worked once in bash instead of powershell.
Running: m365 spo site add --alias team1 --title "Team 1" --debug
Resulted in this:
Executing command spo site add with options {"options":{"alias":"team1","title":"Team 1","debug":true}}
SPO URL previously retrieved https://jacobsian.sharepoint.com. Returning...
Creating new site...
Existing access token eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL2phY29ic2lhbi5zaGFyZXBvaW50LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzY3MmE5ZTM0LWFhM2YtNDA4MC1hYWUwLTI5NTM3ZTNjMTg0OC8iLCJpYXQiOjE2NTUzMTMyODQsIm5iZiI6MTY1NTMxMzI4NCwiZXhwIjoxNjU1MzE4MTI5LCJhY3IiOiIxIiwiYWlvIjoiQVRRQXkvOFRBQUFBaml6bFZaS0szMHpwUFJPazFCaUszbDlEL0w4bFhqTzBBVWVuUG9pRDVibGlib01jY2xZODFzdXZTWjJ5d3h0cCIsImFtciI6WyJwd2QiXSwiYXBwX2Rpc3BsYXluYW1lIjoiUG5QIE1hbmFnZW1lbnQgU2hlbGwiLCJhcHBpZCI6IjMxMzU5YzdmLWJkN2UtNDc1Yy04NmRiLWZkYjhjOTM3NTQ4ZSIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiSmFjb2JzIiwiZ2l2ZW5fbmFtZSI6IklhbiIsImlkdHlwIjoidXNlciIsImlwYWRkciI6IjQ3LjIwMS44MS4yNDYiLCJuYW1lIjoiSWFuIEphY29icyIsIm9pZCI6IjY1NzJiZmNkLTM2YWYtNGM1ZS04OTY3LTg0MWY3MTcyN2E2YyIsInB1aWQiOiIxMDAzMjAwMDQ5MjAwQjA0IiwicmgiOiIwLkFUVUFOSjRxWnotcWdFQ3E0Q2xUZmp3WVNBTUFBQUFBQVBFUHpnQUFBQUFBQUFBMUFGVS4iLCJzY3AiOiJBbGxTaXRlcy5GdWxsQ29udHJvbCBBcHBDYXRhbG9nLlJlYWRXcml0ZS5BbGwgQXVkaXRMb2cuUmVhZC5BbGwgQ2hhbm5lbE1lbWJlci5SZWFkV3JpdGUuQWxsIENoYW5uZWxNZXNzYWdlLlJlYWQuQWxsIENoYW5uZWxNZXNzYWdlLlNlbmQgQ2hhbm5lbFNldHRpbmdzLlJlYWRXcml0ZS5BbGwgQ2hhdC5SZWFkIENoYXQuUmVhZFdyaXRlIERpcmVjdG9yeS5BY2Nlc3NBc1VzZXIuQWxsIERpcmVjdG9yeS5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWRXcml0ZS5BbGwgSWRlbnRpdHlQcm92aWRlci5SZWFkV3JpdGUuQWxsIE1haWwuUmVhZFdyaXRlIE1haWwuU2VuZCBQbGFjZS5SZWFkLkFsbCBQb2xpY3kuUmVhZC5BbGwgUmVwb3J0cy5SZWFkLkFsbCBTZWN1cml0eUV2ZW50cy5SZWFkLkFsbCBTZXJ2aWNlSGVhbHRoLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlVmlld3BvaW50LldyaXRlIFRhc2tzLlJlYWRXcml0ZSBUZWFtLkNyZWF0ZSBUZWFtTWVtYmVyLlJlYWRXcml0ZS5BbGwgVGVhbXNBcHAuUmVhZFdyaXRlLkFsbCBUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVGb3JVc2VyIFRlYW1TZXR0aW5ncy5SZWFkV3JpdGUuQWxsIFRlYW1zVGFiLlJlYWRXcml0ZS5BbGwgVGVybVN0b3JlLlJlYWRXcml0ZS5BbGwgVXNlci5JbnZpdGUuQWxsIFVzZXIuUmVhZFdyaXRlLkFsbCIsInNpZCI6IjI4ODcxODgwLTY3ZDgtNDcyNS05OTExLTk4NGU4NmY5MWQ1YiIsInN1YiI6IlZiak5ZTGZSd05ObWZwR2pMQWc4bGE2UlY0aWRGZjJLOHdaelN4TUZnVlUiLCJ0aWQiOiI2NzJhOWUzNC1hYTNmLTQwODAtYWFlMC0yOTUzN2UzYzE4NDgiLCJ1bmlxdWVfbmFtZSI6ImphY29ic2lhbkBqYWNvYnNpYW4ub25taWNyb3NvZnQuY29tIiwidXBuIjoiamFjb2JzaWFuQGphY29ic2lhbi5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiJVM0tyWjFDcEZVT1UtWEJxS2FoOUFRIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXX0.ryqZi_ho4xmLJREbVgp2h-SH8-MpdCVqNs_SzNBSpVaVU1Xm-g-jwyGAbsFUgCVd5o8FuSBZbuQ8SBO4tgvLV76A7vkQeN4nzge7Ygjv42gbuCaEhowB2ImNW45yfaZQF3Oehul5KJhvoQcD5_38UvF4bXykDD0p-bECQvmYap1wi552xq-YawK-H1EAu5o8gynMfx4g_Vr9Duf4jGPBUImiO7xjozJVqIUnITjBiKsSimZlTPFTla1lPZGazIYpphGFi0Qc-zL3xx2iEjO_YORa-DmOLBSPwg6HMZHIk0qLE2GVMRSDyA7Pgc7u_6nETndnUpckxXESk1i4SLs6lA still valid. Returning...
Request:
{
  "headers": {
    "common": {
      "Accept": "application/json, text/plain, */*"
    },
    "delete": {},
    "get": {},
    "head": {},
    "post": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "put": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "patch": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "user-agent": "NONISV|SharePointPnP|CLIMicrosoft365/5.1.0",
    "accept-encoding": "gzip, deflate",
    "content-type": "application/json; odata=verbose; charset=utf-8",
    "accept": "application/json;odata=nometadata",
    "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL2phY29ic2lhbi5zaGFyZXBvaW50LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzY3MmE5ZTM0LWFhM2YtNDA4MC1hYWUwLTI5NTM3ZTNjMTg0OC8iLCJpYXQiOjE2NTUzMTMyODQsIm5iZiI6MTY1NTMxMzI4NCwiZXhwIjoxNjU1MzE4MTI5LCJhY3IiOiIxIiwiYWlvIjoiQVRRQXkvOFRBQUFBaml6bFZaS0szMHpwUFJPazFCaUszbDlEL0w4bFhqTzBBVWVuUG9pRDVibGlib01jY2xZODFzdXZTWjJ5d3h0cCIsImFtciI6WyJwd2QiXSwiYXBwX2Rpc3BsYXluYW1lIjoiUG5QIE1hbmFnZW1lbnQgU2hlbGwiLCJhcHBpZCI6IjMxMzU5YzdmLWJkN2UtNDc1Yy04NmRiLWZkYjhjOTM3NTQ4ZSIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiSmFjb2JzIiwiZ2l2ZW5fbmFtZSI6IklhbiIsImlkdHlwIjoidXNlciIsImlwYWRkciI6IjQ3LjIwMS44MS4yNDYiLCJuYW1lIjoiSWFuIEphY29icyIsIm9pZCI6IjY1NzJiZmNkLTM2YWYtNGM1ZS04OTY3LTg0MWY3MTcyN2E2YyIsInB1aWQiOiIxMDAzMjAwMDQ5MjAwQjA0IiwicmgiOiIwLkFUVUFOSjRxWnotcWdFQ3E0Q2xUZmp3WVNBTUFBQUFBQVBFUHpnQUFBQUFBQUFBMUFGVS4iLCJzY3AiOiJBbGxTaXRlcy5GdWxsQ29udHJvbCBBcHBDYXRhbG9nLlJlYWRXcml0ZS5BbGwgQXVkaXRMb2cuUmVhZC5BbGwgQ2hhbm5lbE1lbWJlci5SZWFkV3JpdGUuQWxsIENoYW5uZWxNZXNzYWdlLlJlYWQuQWxsIENoYW5uZWxNZXNzYWdlLlNlbmQgQ2hhbm5lbFNldHRpbmdzLlJlYWRXcml0ZS5BbGwgQ2hhdC5SZWFkIENoYXQuUmVhZFdyaXRlIERpcmVjdG9yeS5BY2Nlc3NBc1VzZXIuQWxsIERpcmVjdG9yeS5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWRXcml0ZS5BbGwgSWRlbnRpdHlQcm92aWRlci5SZWFkV3JpdGUuQWxsIE1haWwuUmVhZFdyaXRlIE1haWwuU2VuZCBQbGFjZS5SZWFkLkFsbCBQb2xpY3kuUmVhZC5BbGwgUmVwb3J0cy5SZWFkLkFsbCBTZWN1cml0eUV2ZW50cy5SZWFkLkFsbCBTZXJ2aWNlSGVhbHRoLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlVmlld3BvaW50LldyaXRlIFRhc2tzLlJlYWRXcml0ZSBUZWFtLkNyZWF0ZSBUZWFtTWVtYmVyLlJlYWRXcml0ZS5BbGwgVGVhbXNBcHAuUmVhZFdyaXRlLkFsbCBUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVGb3JVc2VyIFRlYW1TZXR0aW5ncy5SZWFkV3JpdGUuQWxsIFRlYW1zVGFiLlJlYWRXcml0ZS5BbGwgVGVybVN0b3JlLlJlYWRXcml0ZS5BbGwgVXNlci5JbnZpdGUuQWxsIFVzZXIuUmVhZFdyaXRlLkFsbCIsInNpZCI6IjI4ODcxODgwLTY3ZDgtNDcyNS05OTExLTk4NGU4NmY5MWQ1YiIsInN1YiI6IlZiak5ZTGZSd05ObWZwR2pMQWc4bGE2UlY0aWRGZjJLOHdaelN4TUZnVlUiLCJ0aWQiOiI2NzJhOWUzNC1hYTNmLTQwODAtYWFlMC0yOTUzN2UzYzE4NDgiLCJ1bmlxdWVfbmFtZSI6ImphY29ic2lhbkBqYWNvYnNpYW4ub25taWNyb3NvZnQuY29tIiwidXBuIjoiamFjb2JzaWFuQGphY29ic2lhbi5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiJVM0tyWjFDcEZVT1UtWEJxS2FoOUFRIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXX0.ryqZi_ho4xmLJREbVgp2h-SH8-MpdCVqNs_SzNBSpVaVU1Xm-g-jwyGAbsFUgCVd5o8FuSBZbuQ8SBO4tgvLV76A7vkQeN4nzge7Ygjv42gbuCaEhowB2ImNW45yfaZQF3Oehul5KJhvoQcD5_38UvF4bXykDD0p-bECQvmYap1wi552xq-YawK-H1EAu5o8gynMfx4g_Vr9Duf4jGPBUImiO7xjozJVqIUnITjBiKsSimZlTPFTla1lPZGazIYpphGFi0Qc-zL3xx2iEjO_YORa-DmOLBSPwg6HMZHIk0qLE2GVMRSDyA7Pgc7u_6nETndnUpckxXESk1i4SLs6lA"
  },
  "decompress": true,
  "responseType": "json",
  "url": "https://jacobsian.sharepoint.com/_api/GroupSiteManager/CreateGroupEx",
  "data": {
    "displayName": "Team 1",
    "alias": "team1",
    "optionalParams": {
      "Description": "",
      "CreationOptions": {
        "results": [],
        "Classification": ""
      }
    }
  },
  "method": "post"
}
Response:
{
  "url": "https://jacobsian.sharepoint.com/_api/GroupSiteManager/CreateGroupEx",
  "status": 200,
  "statusText": "OK",
  "headers": {
    "cache-control": "private, max-age=0",
    "transfer-encoding": "chunked",
    "content-type": "application/json;odata=nometadata;streaming=true;charset=utf-8",
    "expires": "Tue, 31 May 2022 17:21:17 GMT",
    "last-modified": "Wed, 15 Jun 2022 17:21:17 GMT",
    "vary": "Origin,Accept-Encoding",
    "p3p": "CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"",
    "x-sharepointhealthscore": "2",
    "x-sp-serverstate": "ReadOnly=0",
    "dataserviceversion": "3.0",
    "spclientservicerequestduration": "4135",
    "x-aspnet-version": "4.0.30319",
    "x-databoundary": "None",
    "x-1dscollectorurl": "https://mobile.events.data.microsoft.com/OneCollector/1.0/",
    "x-ariacollectorurl": "https://browser.pipe.aria.microsoft.com/Collector/3.0/",
    "sprequestguid": "f1a847a0-4050-1000-d5de-2b1eec716f58",
    "request-id": "f1a847a0-4050-1000-d5de-2b1eec716f58",
    "ms-cv": "oEeo8VBAABDV3ise7HFvWA.0",
    "strict-transport-security": "max-age=31536000",
    "x-frame-options": "SAMEORIGIN",
    "content-security-policy": "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com *.powerapps.com *.yammer.com *.officeapps.live.com *.office.com *.stream.azure-test.net *.microsoftstream.com *.dynamics.com *.microsoft.com;",
    "x-powered-by": "ASP.NET",
    "microsoftsharepointteamservices": "<IP_ADDRESS>25",
    "x-content-type-options": "nosniff",
    "x-ms-invokeapp": "1; RequireReadOnly",
    "x-cache": "CONFIG_NOCACHE",
    "x-msedge-ref": "Ref A: EB72CA0690374503AE299C256BDDE868 Ref B: MIA301000104019 Ref C: 2022-06-15T17:21:17Z",
    "date": "Wed, 15 Jun 2022 17:21:21 GMT",
    "connection": "close"
  },
  "data": {
    "DocumentsUrl": null,
    "ErrorMessage": null,
    "GroupId": "2fca32fe-5bc2-49f6-b8e3-1832a355c597",
    "SiteStatus": 2,
    "SiteUrl": "https://jacobsian.sharepoint.com/sites/team1"
  }
}
"https://jacobsian.sharepoint.com/sites/team1"
DONE

However, next run:
Running: m365 spo site add --alias team2 --title "Team 2" --debug
Returns:
Executing command spo site add with options {"options":{"alias":"team2","title":"Team 2","debug":true}}
SPO URL previously retrieved https://jacobsian.sharepoint.com. Returning...
Creating new site...
Existing access token eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL2phY29ic2lhbi5zaGFyZXBvaW50LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzY3MmE5ZTM0LWFhM2YtNDA4MC1hYWUwLTI5NTM3ZTNjMTg0OC8iLCJpYXQiOjE2NTUzMTMyODQsIm5iZiI6MTY1NTMxMzI4NCwiZXhwIjoxNjU1MzE4MTI5LCJhY3IiOiIxIiwiYWlvIjoiQVRRQXkvOFRBQUFBaml6bFZaS0szMHpwUFJPazFCaUszbDlEL0w4bFhqTzBBVWVuUG9pRDVibGlib01jY2xZODFzdXZTWjJ5d3h0cCIsImFtciI6WyJwd2QiXSwiYXBwX2Rpc3BsYXluYW1lIjoiUG5QIE1hbmFnZW1lbnQgU2hlbGwiLCJhcHBpZCI6IjMxMzU5YzdmLWJkN2UtNDc1Yy04NmRiLWZkYjhjOTM3NTQ4ZSIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiSmFjb2JzIiwiZ2l2ZW5fbmFtZSI6IklhbiIsImlkdHlwIjoidXNlciIsImlwYWRkciI6IjQ3LjIwMS44MS4yNDYiLCJuYW1lIjoiSWFuIEphY29icyIsIm9pZCI6IjY1NzJiZmNkLTM2YWYtNGM1ZS04OTY3LTg0MWY3MTcyN2E2YyIsInB1aWQiOiIxMDAzMjAwMDQ5MjAwQjA0IiwicmgiOiIwLkFUVUFOSjRxWnotcWdFQ3E0Q2xUZmp3WVNBTUFBQUFBQVBFUHpnQUFBQUFBQUFBMUFGVS4iLCJzY3AiOiJBbGxTaXRlcy5GdWxsQ29udHJvbCBBcHBDYXRhbG9nLlJlYWRXcml0ZS5BbGwgQXVkaXRMb2cuUmVhZC5BbGwgQ2hhbm5lbE1lbWJlci5SZWFkV3JpdGUuQWxsIENoYW5uZWxNZXNzYWdlLlJlYWQuQWxsIENoYW5uZWxNZXNzYWdlLlNlbmQgQ2hhbm5lbFNldHRpbmdzLlJlYWRXcml0ZS5BbGwgQ2hhdC5SZWFkIENoYXQuUmVhZFdyaXRlIERpcmVjdG9yeS5BY2Nlc3NBc1VzZXIuQWxsIERpcmVjdG9yeS5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWRXcml0ZS5BbGwgSWRlbnRpdHlQcm92aWRlci5SZWFkV3JpdGUuQWxsIE1haWwuUmVhZFdyaXRlIE1haWwuU2VuZCBQbGFjZS5SZWFkLkFsbCBQb2xpY3kuUmVhZC5BbGwgUmVwb3J0cy5SZWFkLkFsbCBTZWN1cml0eUV2ZW50cy5SZWFkLkFsbCBTZXJ2aWNlSGVhbHRoLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlVmlld3BvaW50LldyaXRlIFRhc2tzLlJlYWRXcml0ZSBUZWFtLkNyZWF0ZSBUZWFtTWVtYmVyLlJlYWRXcml0ZS5BbGwgVGVhbXNBcHAuUmVhZFdyaXRlLkFsbCBUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVGb3JVc2VyIFRlYW1TZXR0aW5ncy5SZWFkV3JpdGUuQWxsIFRlYW1zVGFiLlJlYWRXcml0ZS5BbGwgVGVybVN0b3JlLlJlYWRXcml0ZS5BbGwgVXNlci5JbnZpdGUuQWxsIFVzZXIuUmVhZFdyaXRlLkFsbCIsInNpZCI6IjI4ODcxODgwLTY3ZDgtNDcyNS05OTExLTk4NGU4NmY5MWQ1YiIsInN1YiI6IlZiak5ZTGZSd05ObWZwR2pMQWc4bGE2UlY0aWRGZjJLOHdaelN4TUZnVlUiLCJ0aWQiOiI2NzJhOWUzNC1hYTNmLTQwODAtYWFlMC0yOTUzN2UzYzE4NDgiLCJ1bmlxdWVfbmFtZSI6ImphY29ic2lhbkBqYWNvYnNpYW4ub25taWNyb3NvZnQuY29tIiwidXBuIjoiamFjb2JzaWFuQGphY29ic2lhbi5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiJVM0tyWjFDcEZVT1UtWEJxS2FoOUFRIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXX0.ryqZi_ho4xmLJREbVgp2h-SH8-MpdCVqNs_SzNBSpVaVU1Xm-g-jwyGAbsFUgCVd5o8FuSBZbuQ8SBO4tgvLV76A7vkQeN4nzge7Ygjv42gbuCaEhowB2ImNW45yfaZQF3Oehul5KJhvoQcD5_38UvF4bXykDD0p-bECQvmYap1wi552xq-YawK-H1EAu5o8gynMfx4g_Vr9Duf4jGPBUImiO7xjozJVqIUnITjBiKsSimZlTPFTla1lPZGazIYpphGFi0Qc-zL3xx2iEjO_YORa-DmOLBSPwg6HMZHIk0qLE2GVMRSDyA7Pgc7u_6nETndnUpckxXESk1i4SLs6lA still valid. Returning...
Request:
{
  "headers": {
    "common": {
      "Accept": "application/json, text/plain, */*"
    },
    "delete": {},
    "get": {},
    "head": {},
    "post": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "put": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "patch": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "user-agent": "NONISV|SharePointPnP|CLIMicrosoft365/5.1.0",
    "accept-encoding": "gzip, deflate",
    "content-type": "application/json; odata=verbose; charset=utf-8",
    "accept": "application/json;odata=nometadata",
    "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL2phY29ic2lhbi5zaGFyZXBvaW50LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzY3MmE5ZTM0LWFhM2YtNDA4MC1hYWUwLTI5NTM3ZTNjMTg0OC8iLCJpYXQiOjE2NTUzMTMyODQsIm5iZiI6MTY1NTMxMzI4NCwiZXhwIjoxNjU1MzE4MTI5LCJhY3IiOiIxIiwiYWlvIjoiQVRRQXkvOFRBQUFBaml6bFZaS0szMHpwUFJPazFCaUszbDlEL0w4bFhqTzBBVWVuUG9pRDVibGlib01jY2xZODFzdXZTWjJ5d3h0cCIsImFtciI6WyJwd2QiXSwiYXBwX2Rpc3BsYXluYW1lIjoiUG5QIE1hbmFnZW1lbnQgU2hlbGwiLCJhcHBpZCI6IjMxMzU5YzdmLWJkN2UtNDc1Yy04NmRiLWZkYjhjOTM3NTQ4ZSIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiSmFjb2JzIiwiZ2l2ZW5fbmFtZSI6IklhbiIsImlkdHlwIjoidXNlciIsImlwYWRkciI6IjQ3LjIwMS44MS4yNDYiLCJuYW1lIjoiSWFuIEphY29icyIsIm9pZCI6IjY1NzJiZmNkLTM2YWYtNGM1ZS04OTY3LTg0MWY3MTcyN2E2YyIsInB1aWQiOiIxMDAzMjAwMDQ5MjAwQjA0IiwicmgiOiIwLkFUVUFOSjRxWnotcWdFQ3E0Q2xUZmp3WVNBTUFBQUFBQVBFUHpnQUFBQUFBQUFBMUFGVS4iLCJzY3AiOiJBbGxTaXRlcy5GdWxsQ29udHJvbCBBcHBDYXRhbG9nLlJlYWRXcml0ZS5BbGwgQXVkaXRMb2cuUmVhZC5BbGwgQ2hhbm5lbE1lbWJlci5SZWFkV3JpdGUuQWxsIENoYW5uZWxNZXNzYWdlLlJlYWQuQWxsIENoYW5uZWxNZXNzYWdlLlNlbmQgQ2hhbm5lbFNldHRpbmdzLlJlYWRXcml0ZS5BbGwgQ2hhdC5SZWFkIENoYXQuUmVhZFdyaXRlIERpcmVjdG9yeS5BY2Nlc3NBc1VzZXIuQWxsIERpcmVjdG9yeS5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWRXcml0ZS5BbGwgSWRlbnRpdHlQcm92aWRlci5SZWFkV3JpdGUuQWxsIE1haWwuUmVhZFdyaXRlIE1haWwuU2VuZCBQbGFjZS5SZWFkLkFsbCBQb2xpY3kuUmVhZC5BbGwgUmVwb3J0cy5SZWFkLkFsbCBTZWN1cml0eUV2ZW50cy5SZWFkLkFsbCBTZXJ2aWNlSGVhbHRoLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlLlJlYWQuQWxsIFNlcnZpY2VNZXNzYWdlVmlld3BvaW50LldyaXRlIFRhc2tzLlJlYWRXcml0ZSBUZWFtLkNyZWF0ZSBUZWFtTWVtYmVyLlJlYWRXcml0ZS5BbGwgVGVhbXNBcHAuUmVhZFdyaXRlLkFsbCBUZWFtc0FwcEluc3RhbGxhdGlvbi5SZWFkV3JpdGVGb3JVc2VyIFRlYW1TZXR0aW5ncy5SZWFkV3JpdGUuQWxsIFRlYW1zVGFiLlJlYWRXcml0ZS5BbGwgVGVybVN0b3JlLlJlYWRXcml0ZS5BbGwgVXNlci5JbnZpdGUuQWxsIFVzZXIuUmVhZFdyaXRlLkFsbCIsInNpZCI6IjI4ODcxODgwLTY3ZDgtNDcyNS05OTExLTk4NGU4NmY5MWQ1YiIsInN1YiI6IlZiak5ZTGZSd05ObWZwR2pMQWc4bGE2UlY0aWRGZjJLOHdaelN4TUZnVlUiLCJ0aWQiOiI2NzJhOWUzNC1hYTNmLTQwODAtYWFlMC0yOTUzN2UzYzE4NDgiLCJ1bmlxdWVfbmFtZSI6ImphY29ic2lhbkBqYWNvYnNpYW4ub25taWNyb3NvZnQuY29tIiwidXBuIjoiamFjb2JzaWFuQGphY29ic2lhbi5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiJVM0tyWjFDcEZVT1UtWEJxS2FoOUFRIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXX0.ryqZi_ho4xmLJREbVgp2h-SH8-MpdCVqNs_SzNBSpVaVU1Xm-g-jwyGAbsFUgCVd5o8FuSBZbuQ8SBO4tgvLV76A7vkQeN4nzge7Ygjv42gbuCaEhowB2ImNW45yfaZQF3Oehul5KJhvoQcD5_38UvF4bXykDD0p-bECQvmYap1wi552xq-YawK-H1EAu5o8gynMfx4g_Vr9Duf4jGPBUImiO7xjozJVqIUnITjBiKsSimZlTPFTla1lPZGazIYpphGFi0Qc-zL3xx2iEjO_YORa-DmOLBSPwg6HMZHIk0qLE2GVMRSDyA7Pgc7u_6nETndnUpckxXESk1i4SLs6lA"
  },
  "decompress": true,
  "responseType": "json",
  "url": "https://jacobsian.sharepoint.com/_api/GroupSiteManager/CreateGroupEx",
  "data": {
    "displayName": "Team 2",
    "alias": "team2",
    "optionalParams": {
      "Description": "",
      "CreationOptions": {
        "results": [],
        "Classification": ""
      }
    }
  },
  "method": "post"
}
Request error:
Error: Cannot convert undefined or null to object

Does this new trace provide better information?

Thank you for the additional information @jacobsian-del and I really appreciate your help. It's odd that one request is working as expected, while another, which is almost identical, fails. It almost seems like something intermittent in M365. Is the tenant that you're running this command against an old dev tenant, instant sandbox or a regular tenant? Also, does it have targeted release enabled? I hope you don't mind all these questions as we're trying to understand what could be wrong exactly.

Is the tenant that you're running this command against an old dev tenant, instant sandbox or a regular tenant?

It's (what I assume is) a regular tenant created on my M365 developer subscription.

Also, does it have targeted release enabled?
Not to my knowledge, kept it to the default options on creation.  Where would I go to check?

I hope you don't mind all these questions as we're trying to understand what could be wrong exactly.
Not at all, thanks for putting up with me for something I strongly suspect is going to end up being a personal problem :-)

Also, does it have targeted release enabled?

Not to my knowledge, kept it to the default options on creation. Where would I go to check?

@jacobsian-del you can check it at https://admin.microsoft.com/Adminportal/Home#/featureexplorer/:/Settings/L1/ReleasePreferences

Yep Standard Release.

Not at all, thanks for putting up with me for something I strongly suspect is going to end up being a personal problem :-)

It might just be 😁. Just to ask the obvious: did you try running the same command on:

another network? (for example using hotspot)
another pc?
another tenant?

We could at least rule out that it's your device.

@jacobsian-del, did you have an answer to this as well?

Some preliminary findingings, but I'm on another network at another localtion today so this should make sure I have everything covered.  WIll post findings later today

Well it's definitely a problem with me.  Worked with my partner and he is able to run the command without issue from his computer against both his own tenant and mine without issue.
Good news is I have a trace, seems the call to create the Group site is getting rejected.  Don't know why, but it's a concrete problem to trace.
CLI_Capture.zip

Additionally, testing the failing API call in Powershell with curl was successful, while the API call made through the CLI fails.  Fiddler trace and Curl script are attached below.
CurlResults.zip
I'm suspecting that something in my node install is messed up?

Could you check if you have any of these environment variable configured on your machine: HTTP_PROXY, HTTPS_PROXY, NO_PROXY? If so, could you delete them, try logging out and logging in to CLI and see if it makes any difference?

Closing due to lack of response


chore(master): release 1.2.41

:robot: I have created a release beep boop
1.2.41 (2023-08-24)
Miscellaneous

deps: update dependency phpstan/phpstan to v1.10.32 (10f8cff)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-symfony-serializer/releases/tag/v1.2.41 :sunflower: