Hypridle causes black screen after waking from sleep

I have a functional hyprland setup through home manager using hyprlock as a lock screen

this works flawlessly and never has any issues restoring from sleep or hibernation

however when I use hypridle with this setup:

services.hypridle = {
      enable = true;
      settings = {
        general = {
          lock_cmd = "hyprlock --immediate";
          unlock_cmd = "pkill hyprlock; hyprctl dispatch dpms on";
          before_sleep_cmd = "hyprlock;";
          ignore_dbus_inhibit = false;
        };
        listener = [
          {
            timeout = 140;
            on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 1";
            on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r";
          }
          {
            timeout = 150;
            on-timeout = "hyprlock; systemd-ac-power || hyprctl dispatch dpms off";
            on-resume = ''hyprctl dispatch dpms on"'';
          }
        ];
      };
    };

the system will restore from sleep, let me log in and display a black screen

I have found no way of restoring it from another tty (its not a dpms off issue) and I found no one else online having the same issue despite my setup being fairly normal

any ideas?