sublime text 4: cannot save files that require sudo (gksudo and pkexec not found)

Describe the bug
Cannot save files that are only editable by root in sublime text 4, such as /etc/nixos/configuration.nix.
Steps To Reproduce
Steps to reproduce the behavior:

open file in sublime text 4 (package sublime4, command subl [filename] when run as non-root user in the sudo group)
change something
hit ctrl+s

Expected behavior
Dialog to enter sudo password appears
Screenshots

Notify maintainers
@jtojnar @wmertens @demin-dmitriy @zimbatm
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
╭─mstaff@platte-kiste ~
╰─$ nix-shell -p nix-info --run "nix-info -m"                                                                                1 ↵
 - system: `"x86_64-linux"`
 - host os: `Linux 6.2.8, NixOS, 23.05 (Stoat), 23.05pre469092.9a6aabc4740`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - channels(root): `"nixos, nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

$ which pkexec gives me /run/wrappers/bin/pkexec and rg polkit /etc/nixos gives me nothing (there are no nixos config files outside of that directory). I'm using KDE which I installed by adding these lines:
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;

If I understood correctly this means it should work?  Sorry if I misunderstood something, I'm new to NixOS. Should I post my full config somewhere and link it here?

Looks fine to me, but maybe I'm missing something:

`journalctl` output:
Apr 01 22:19:40 platte-kiste rtkit-daemon[1878]: Supervising 0 threads of 0 processes of 0 users.
Apr 01 22:19:40 platte-kiste rtkit-daemon[1878]: Supervising 0 threads of 0 processes of 0 users.
Apr 01 22:19:41 platte-kiste sudo[8801]:     root : TTY=pts/0 ; PWD=/home/mstaff ; USER=root ; COMMAND=/tmp/nixos-rebuild.LQim2l/nix/bin/nix-env -p /nix/var/nix/profiles/system --set /nix/store/bxkc1r7s15sfv1akn6z1n8fdhbblnl63-nixos-system-platte-kiste-23.05pre469482.e3652e0735f
Apr 01 22:19:41 platte-kiste sudo[8801]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Apr 01 22:19:41 platte-kiste sudo[8801]: pam_unix(sudo:session): session closed for user root
Apr 01 22:19:41 platte-kiste sudo[8804]:     root : TTY=pts/0 ; PWD=/home/mstaff ; USER=root ; COMMAND=/nix/store/bxkc1r7s15sfv1akn6z1n8fdhbblnl63-nixos-system-platte-kiste-23.05pre469482.e3652e0735f/bin/switch-to-configuration switch
Apr 01 22:19:41 platte-kiste sudo[8804]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Apr 01 22:19:42 platte-kiste nixos[8805]: switching to system configuration /nix/store/bxkc1r7s15sfv1akn6z1n8fdhbblnl63-nixos-system-platte-kiste-23.05pre469482.e3652e0735f
Apr 01 22:19:42 platte-kiste systemd[1]: Stopped target Local File Systems.
Apr 01 22:19:42 platte-kiste systemd[1]: Stopped target All Network Interfaces (deprecated).
Apr 01 22:19:42 platte-kiste systemd[1]: Stopped target Remote File Systems.
Apr 01 22:19:42 platte-kiste polkitd[1189]: Reloading rules
Apr 01 22:19:42 platte-kiste polkitd[1189]: Collecting garbage unconditionally...
Apr 01 22:19:42 platte-kiste polkitd[1189]: Loading rules from directory /etc/polkit-1/rules.d
Apr 01 22:19:42 platte-kiste polkitd[1189]: Loading rules from directory /run/current-system/sw/share/polkit-1/rules.d
Apr 01 22:19:42 platte-kiste polkitd[1189]: Finished loading, compiling and executing 3 rules
Apr 01 22:19:42 platte-kiste polkitd[1189]: Reloading rules
Apr 01 22:19:42 platte-kiste polkitd[1189]: Collecting garbage unconditionally...
Apr 01 22:19:42 platte-kiste polkitd[1189]: Loading rules from directory /etc/polkit-1/rules.d
Apr 01 22:19:42 platte-kiste polkitd[1189]: Loading rules from directory /run/current-system/sw/share/polkit-1/rules.d
Apr 01 22:19:42 platte-kiste polkitd[1189]: Finished loading, compiling and executing 3 rules
Apr 01 22:19:42 platte-kiste systemd[1]: Reloading requested from client PID 9153 (unit user@1000.service)...
Apr 01 22:19:42 platte-kiste systemd[1]: Reloading.
Apr 01 22:19:42 platte-kiste systemd-timesyncd[873]: Network configuration changed, trying to establish connection.
Apr 01 22:19:43 platte-kiste systemd-timesyncd[873]: Contacted time server <IP_ADDRESS>:123 (0.nixos.pool.ntp.org).
Apr 01 22:19:43 platte-kiste systemd[1]: /etc/systemd/system/cups.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/cups/cups.sock → /run/cups/cups.sock; please update the unit file accordingly.
Apr 01 22:19:43 platte-kiste su[9170]: Successful su for mstaff by root
Apr 01 22:19:43 platte-kiste su[9170]: pam_unix(su:session): session opened for user mstaff(uid=1000) by (uid=0)
Apr 01 22:19:43 platte-kiste systemd[2113]: Reexecuting requested from client PID 9172 (unit app-kitty-a3dbb6f6217e4b65b574c8019299d923.scope)...
Apr 01 22:19:43 platte-kiste systemd[2113]: Reexecuting.
Apr 01 22:19:43 platte-kiste systemd[2113]: Starting Run user-specific NixOS activation...
Apr 01 22:19:43 platte-kiste nixos-activation-start[9182]: removed '/home/mstaff/.cache/icon-cache.kcache'
Apr 01 22:19:43 platte-kiste nixos-activation-start[9185]: removed '/home/mstaff/.cache/ksycoca5_de_0CcHNxWplrvqL2QXqzYFotB+X3U='
Apr 01 22:19:43 platte-kiste nixos-activation-start[9185]: removed '/home/mstaff/.cache/ksycoca5_de_jkVSSDJUrv75c9IFR2Jflf_xs7s='
Apr 01 22:19:43 platte-kiste nixos-activation-start[9185]: removed '/home/mstaff/.cache/ksycoca5_de_UVgUNLML2GS9gU+vvAbA5qzCEuM='
Apr 01 22:19:43 platte-kiste nixos-activation-start[9185]: removed '/home/mstaff/.cache/ksycoca5_de_wfxVzhpLdUDritiQ_BKh7zxdxt8='
Apr 01 22:19:43 platte-kiste nixos-activation-start[9185]: removed '/home/mstaff/.cache/ksycoca5_de_zBcsEpan9q7aI5y01fft9XXndqk='
Apr 01 22:19:43 platte-kiste nixos-activation-start[9187]: kbuildsycoca5 running...
Apr 01 22:19:43 platte-kiste nfacct.plugin[1567]: heartbeat clock: woke up 532417 microseconds later than expected (can be due to system load or the CLOCK_REALTIME set to the future).
Apr 01 22:19:43 platte-kiste systemd[2113]: Finished Run user-specific NixOS activation.
Apr 01 22:19:43 platte-kiste su[9170]: pam_unix(su:session): session closed for user mstaff
Apr 01 22:19:43 platte-kiste systemd-timesyncd[873]: Network configuration changed, trying to establish connection.
Apr 01 22:19:43 platte-kiste systemd[1]: Reached target Local File Systems.
Apr 01 22:19:43 platte-kiste systemd[1]: Reached target Remote File Systems.
Apr 01 22:19:43 platte-kiste systemd[1]: Forward Password Requests to Plymouth was skipped because of an unmet condition check (ConditionPathExists=/run/plymouth/pid).
Apr 01 22:19:43 platte-kiste systemd-timesyncd[873]: Contacted time server <IP_ADDRESS>:123 (0.nixos.pool.ntp.org).
Apr 01 22:19:43 platte-kiste systemd[1]: Started Thermal Daemon Service.
Apr 01 22:19:43 platte-kiste systemd[1]: Reached target All Network Interfaces (deprecated).
Apr 01 22:19:43 platte-kiste thermald[9213]: [1680380383][MSG]Unsupported cpu model or platform
Apr 01 22:19:43 platte-kiste systemd[1]: Starting Load Kernel Module efi_pstore...
Apr 01 22:19:43 platte-kiste systemd[1]: Rebuild Journal Catalog was skipped because of an unmet condition check (ConditionNeedsUpdate=/var).
Apr 01 22:19:43 platte-kiste systemd[1]: Update is Completed was skipped because no trigger condition checks were met.
Apr 01 22:19:43 platte-kiste systemd[1]: thermald.service: Deactivated successfully.
Apr 01 22:19:43 platte-kiste systemd[1]<EMAIL_ADDRESS>Deactivated successfully.
Apr 01 22:19:44 platte-kiste systemd[1]: Finished Load Kernel Module efi_pstore.
Apr 01 22:19:44 platte-kiste systemd[1]: Platform Persistent Storage Archival was skipped because of an unmet condition check (ConditionDirectoryNotEmpty=/sys/fs/pstore).
Apr 01 22:19:44 platte-kiste apps.plugin[1569]: heartbeat clock: woke up 532421 microseconds later than expected (can be due to system load or the CLOCK_REALTIME set to the future).
Apr 01 22:19:44 platte-kiste nixos[8805]: finished switching to system configuration /nix/store/bxkc1r7s15sfv1akn6z1n8fdhbblnl63-nixos-system-platte-kiste-23.05pre469482.e3652e0735f
Apr 01 22:19:44 platte-kiste sudo[8804]: pam_unix(sudo:session): session closed for user root
Apr 01 22:19:44 platte-kiste sudo[8201]: pam_unix(sudo:session): session closed for user root
Apr 01 22:19:44 platte-kiste rtkit-daemon[1878]: Supervising 0 threads of 0 processes of 0 users.
Apr 01 22:19:44 platte-kiste rtkit-daemon[1878]: Supervising 0 threads of 0 processes of 0 users.
Apr 01 22:19:45 platte-kiste syncthing[1302]: [MHS5G] 2023/04/01 22:19:45 INFO: quic://<IP_ADDRESS>:22000 resolved external address quic://<IP_ADDRESS>:22000 (via stun.syncthing.net:3478)
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: Listener adapter polkit_qt_listener_initiate_authentication
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: GSimpleAsyncResult: 0x9274a0
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: polkit_qt_listener_initiate_authentication callback for  0x7fee20003520
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: Initiating authentication
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: Message of action:  "Authentication is needed to run `/run/current-system/sw/bin/touch' as the super user"
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: Action description has been found
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: WinId of the dialog is  33554461 33554461
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: WinId of the shown dialog is  33554461 33554461
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: Trying again
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: REQUEST
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: Request:  "Password: "
Apr 01 22:20:02 platte-kiste polkit-kde-authentication-agent-1[2317]: "Password: "
Apr 01 22:20:09 platte-kiste kglobalaccel5[9261]: Omitting both --window and --windowclass arguments is not recommended
Apr 01 22:20:09 platte-kiste dbus-daemon[2164]: [session uid=1000 pid=2164] Activating via systemd: service name='org.kde.Spectacle' unit='app-org.kde.spectacle.service' requested by ':1.59' (uid=1000 pid=9269 comm="/nix/store/cvq0bhrfwnzcwp817gfrcafjby8838wy-qttool" label="kernel")
Apr 01 22:20:09 platte-kiste systemd[2113]: Starting Spectacle screenshot capture utility...
Apr 01 22:20:09 platte-kiste systemd[2113]: Started /nix/store/cvq0bhrfwnzcwp817gfrcafjby8838wy-qttools-5.15.8-bin/bin/qdbus.
Apr 01 22:20:09 platte-kiste dbus-daemon[2164]: [session uid=1000 pid=2164] Successfully activated service 'org.kde.Spectacle'
Apr 01 22:20:09 platte-kiste systemd[2113]: Started Spectacle screenshot capture utility.
Apr 01 22:20:14 platte-kiste kwin_x11[2251]: kwin_core: XCB error: 3 (BadWindow), sequence: 63999, resource id: 65011725, major code: 129 (SHAPE), minor code: 6 (Input)
Apr 01 22:20:15 platte-kiste plasmashell[2298]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x41d50b0) QQmlContext(0x36efc00) QUrl("file:///nix/store/mjbqrx5bqlcna8j2gcrqfly20w7vddiq-plasma-workspace-5.27.3/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Apr 01 22:20:15 platte-kiste plasmashell[2298]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x41d50b0) QQmlContext(0x36efc00) QUrl("file:///nix/store/mjbqrx5bqlcna8j2gcrqfly20w7vddiq-plasma-workspace-5.27.3/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Apr 01 22:20:15 platte-kiste plasmashell[2298]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x4690ed0) QQmlContext(0x36efc00) QUrl("file:///nix/store/mjbqrx5bqlcna8j2gcrqfly20w7vddiq-plasma-workspace-5.27.3/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Apr 01 22:20:15 platte-kiste plasmashell[2298]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x4690ed0) QQmlContext(0x36efc00) QUrl("file:///nix/store/mjbqrx5bqlcna8j2gcrqfly20w7vddiq-plasma-workspace-5.27.3/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Apr 01 22:20:15 platte-kiste plasmashell[9302]: kf.coreaddons: Expected a KPluginFactory, got a KIOPluginForMetaData
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: Dialog accepted
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: COMPLETED
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: Completed:  true
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: Finishing obtaining privileges
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: Listener adapter polkit_qt_listener_initiate_authentication_finish
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: polkit_qt_listener_initiate_authentication_finish callback for  0x7fee20003520
Apr 01 22:20:17 platte-kiste polkitd[1189]: Operator of unix-session:2 successfully authenticated as unix-user:mstaff to gain ONE-SHOT authorization for action org.freedesktop.policykit.exec for unix-process:3200:25060 [/run/current-system/sw/bin/zsh] (owned by unix-user:mstaff)
Apr 01 22:20:17 platte-kiste polkit-kde-authentication-agent-1[2317]: Finish obtain authorization: true
Apr 01 22:20:17 platte-kiste pkexec[9253]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1000)
Apr 01 22:20:17 platte-kiste pkexec[9253]: mstaff: Executing command [USER=root] [TTY=/dev/pts/0] [CWD=/home/mstaff] [COMMAND=/run/current-system/sw/bin/touch /etc/nixos/configuration.nix]
Apr 01 22:20:17 platte-kiste kwin_x11[2251]: kwin_core: XCB error: 152 (BadDamage), sequence: 1193, resource id: 25180808, major code: 143 (DAMAGE), minor code: 3 (Subtract)

contents of `/etc/nixos/configuration.nix`
# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  # Bootloader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.systemd-boot.configurationLimit = 10;
  boot.loader.systemd-boot.editor = false;
  boot.loader.efi.canTouchEfiVariables = true;
  boot.loader.efi.efiSysMountPoint = "/boot/efi";

  # Setup keyfile
  boot.initrd.secrets = {
    "/crypto_keyfile.bin" = null;
  };

  # Enable swap on luks
  boot.initrd.luks.devices."luks-[...]".device = "/dev/disk/by-uuid/[...]";
  boot.initrd.luks.devices."luks-[...]".keyFile = "/crypto_keyfile.bin";

  boot.initrd.systemd.enable = true;
  boot.plymouth.enable = true;
  boot.plymouth.theme = "breeze";

  networking.hostName = "platte-kiste"; # Define your hostname.

  # Configure network proxy if necessary
  # networking.proxy.default = "http://user:password@proxy:port/";
  # networking.proxy.noProxy = "<IP_ADDRESS>,localhost,internal.domain";

  # Enable networking
  # networking.networkmanager = {
  #   enable = true;
  #   unmanaged = [ "*" "except:type:wwan" "except:type:gsm" ];
  #   wifi.backend = "wpa_supplicant";
  # };
  networking.networkmanager.enable = true;

  # Set your time zone.
  time.timeZone = "Europe/Berlin";

  # Select internationalisation properties.
  i18n.defaultLocale = "de_DE.UTF-8";

  i18n.extraLocaleSettings = {
    LC_ADDRESS = "de_DE.UTF-8";
    LC_IDENTIFICATION = "de_DE.UTF-8";
    LC_MEASUREMENT = "de_DE.UTF-8";
    LC_MONETARY = "de_DE.UTF-8";
    LC_NAME = "de_DE.UTF-8";
    LC_NUMERIC = "de_DE.UTF-8";
    LC_PAPER = "de_DE.UTF-8";
    LC_TELEPHONE = "de_DE.UTF-8";
    LC_TIME = "de_DE.UTF-8";
  };

  services.netdata = {
    enable = true;
    config = {
      global = {
        "update every" = 1;
      };
      ml = {
        "enabled" = "yes";
      };
    };
  };

  # Enable the X11 windowing system.
  services.xserver.enable = true;

  # Enable the KDE Plasma Desktop Environment.
  services.xserver.displayManager.sddm.enable = true;
  services.xserver.desktopManager.plasma5.enable = true;

  # Configure keymap in X11
  services.xserver = {
    layout = "de";
    xkbVariant = "nodeadkeys";
  };

  # Configure console keymap
  console.keyMap = "de-latin1-nodeadkeys";

  # Enable CUPS to print documents.
  services.printing.enable = true;
  services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.cups-bjnp pkgs.cnijfilter2 ];

  hardware.bluetooth.enable = true;

  # Enable sound with pipewire.
  sound.enable = true;
  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  security.sudo.wheelNeedsPassword = false; # added today, was not present while creating the bugreport, but doesn't seem to impact this as the bug still occurs
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    # If you want to use JACK applications, uncomment this
    #jack.enable = true;

    # use the example session manager (no others are packaged yet so this is enabled by default,
    # no need to redefine it in your config for now)
    #media-session.enable = true;
  };

  services.syncthing = {
    enable = true;
    user = "mstaff";
    dataDir = "[...]";
    configDir = "[...]";
  };

  services.power-profiles-daemon.enable = false;
  services.thermald.enable = true;
  services.tlp = {
    enable = true;
    settings = {
      CPU_BOOST_ON_AC = 1;
      CPU_BOOST_ON_BAT = 0;
      CPU_SCALING_GOVERNOR_ON_AC = "performance";
      CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
      START_CHARGE_THRESH_BAT0 = 90;
      STOP_CHARGE_THRESH_BAT0 = 97;
      RUNTIME_PM_ON_BAT = "auto";
    };
  };

  # Enable touchpad support (enabled default in most desktopManager).
  services.xserver.libinput.enable = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.mstaff = {
    isNormalUser = true;
    description = "Max Staff";
    extraGroups = [ "cups" "networkmanager" "wheel" ];
    shell = pkgs.zsh;
    packages = with pkgs; [
      ark
      chromedriver
      chromium
      discord
      firefox

      helvum
      kate
      kcalc
      keepassxc
      kitty

      libreoffice-qt
      hunspell
      hunspellDicts.de_DE

      meshlab
      pavucontrol
      pipenv
      python3
      sublime4
      sublime-merge
      tdesktop
      teamspeak_client
      thefuck
      thunderbird
      zoom
    ];
  };

  # Allow unfree packages
  nixpkgs.config.allowUnfree = true;

  # List packages installed in system profile. To search, run:
  # $ nix search wget
  environment.systemPackages = with pkgs; [
    bash
    btrfs-progs
    git
    git-lfs
    gparted
    htop
    nano

    plymouth
    breeze-plymouth

    progress
    ripgrep
    tmux
    vim
    wget
    zsh
  ];

  programs.zsh = {
    enable = true;
    ohMyZsh = {
      enable = true;
      plugins = [ "git" "thefuck" "ssh-agent" ];
      theme = "bira";
    };
  };
  programs.usbtop.enable = true;

  # Some programs need SUID wrappers, can be configured further or are
  # started in user sessions.
  # programs.mtr.enable = true;
  # programs.gnupg.agent = {
  #   enable = true;
  #   enableSSHSupport = true;
  # };

  # List services that you want to enable:

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;

  networking.firewall.enable = true;
  # Open ports in the firewall.
  networking.firewall.allowedTCPPorts = [ 22 8384 22000 ];
  networking.firewall.allowedUDPPorts = [ 22000 21027 ];
  # Or disable the firewall altogether.
  # networking.firewall.enable = false;

  zramSwap = {
    enable = true;
    algorithm = "zstd";
  };

  # This value determines the NixOS release from which the default
  # settings for stateful data, like file locations and database versions
  # on your system were taken. It‘s perfectly fine and recommended to leave
  # this value at the release version of the first install of this system.
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "22.11"; # Did you read the comment?
  system.autoUpgrade.enable = true;

}

contents of `/etc/nixos/hardware-configuration.nix`
# Do not modify this file!  It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations.  Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:

{
  imports =
    [ (modulesPath + "/installer/scan/not-detected.nix")
    ];

  boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
  boot.initrd.kernelModules = [ ];
  boot.kernelParams = [ "quiet" ];
  boot.kernelPackages = pkgs.linuxPackages_latest;
  boot.kernelModules = [ "coretemp" "kvm-amd" ];
  boot.extraModulePackages = [ ];

  powerManagement.cpuFreqGovernor = "powersave";
  powerManagement.powertop.enable = true;

  services.thermald.enable = true;

  fileSystems."/" =
    { device = "/dev/disk/by-uuid/[...]";
      fsType = "ext4";
    };

  boot.initrd.luks.devices."luks-[...]".device = "/dev/disk/by-uuid/[...]";

  fileSystems."/boot/efi" =
    { device = "/dev/disk/by-uuid/[...]";
      fsType = "vfat";
    };

  swapDevices =
    [ { device = "/dev/disk/by-uuid/[...]"; }
    ];

  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
  # (the default) this is the recommended approach. When using systemd-networkd it's
  # still possible to use this option, but it's recommended to use it in conjunction
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
  networking.useDHCP = lib.mkDefault true;
  # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;

  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
  hardware.enableAllFirmware = true;
  hardware.firmware = [ ];
}

Sorry, I meant the journal output when Sublime tries to move the file. And maybe also check if Sublime has pkexec on PATH with strings /proc/$(pgrep -f sublime-text)/environ | rg ^PATH=

Your command produced an error (it matched two processes which are plugin_host subprocesses of sublime_text) so I modified it a bit:
$ for i in $(pgrep -f sublime_text); do strings "/proc/$i/environ" | rg '^PATH='; done
PATH=/run/wrappers/bin:/home/mstaff/.nix-profile/bin:/etc/profiles/per-user/mstaff/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
PATH=/run/wrappers/bin:/home/mstaff/.nix-profile/bin:/etc/profiles/per-user/mstaff/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
PATH=/run/wrappers/bin:/home/mstaff/.nix-profile/bin:/etc/profiles/per-user/mstaff/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin

As far as I can tell there are no systemd journal messages produced when trying to save the file (running journalctl -xe as user before and after showed me the same messages including timestamps from before I tried saving the file).

Looks like it is now doing stat("pkexec"), which of course will fail. We will either need to convince upstream, or go back to using libredirect.


not working on windows

maybe related to #15
On windows I'm trying to sublaunch a batch script (Which happens to be conda.bat). The equivalent works on unix/mac.
I had some success with:  subprocess_tee.run(['…path to conda.bat', …], executable="c:/windows/system32/cmd.exe", …) but perhaps there's a better way.
the error I got is that windows cannot find the file specified.

Duplicate of #59


websockets support?

Yeah eh?  Maybe? :)

Hah, I'm not so sure :)

heroku does now.

This is no longer hosted on heroku so it depends on @Runscope/httpbin and @Runscope/owners if they want to support this.

what is the status now?

Not going to happen. httpbin will only support http for the foreseeable future.

@srinivasreddy FYI there's http://sockb.in/ now

Found this one wss://echo.websocket.org  See demo https://codepen.io/matt-west/pen/tHlBb


small documentation improvements related to the new indexing strategy

I have made a few small cosmetic changes to the documentation.
Please review, and merge if applicable. Thank you a lot!

This is now merged via https://github.com/mthom/scryer-prolog/pull/740, since Mark has already merged your changes.


When the parameter value is empty

Expected Behavior
Initiate requests normally
Actual Behavior
Return business error
Reproduction Steps
This is the address for a get request: http://xxxxxxxxxx?certificateNo=18925491&securityCode=&rechargeAccountId=0
1.It works like this on Postman:

2.It works like this on CURL:

3.It works like this on insomnia:
(1) new httpRequest   --> Fill in the URL directly(Do not click import from URL button)  --> it`s  ok

(2) new httpRequest  -->  Fill in the URL directly   ---->  click import from URL button  ---> fail

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
Insomnia 10.0.0
What operating system are you using?
macOS
Operating System Version
macOS 14.7
Installation method
insomnia.rest
Last Known Working Insomnia version
Insomnia 10.0.0

Is this issue duplicate with https://github.com/Kong/insomnia/issues/7965? It is fixed and will be available in next minor release


Include all k8s versions that have been released in versions.go

This commit appends 1.17.13 k8s version in versions.go file instead of
applying a substitution.

linting.... :laughing:


Implements Nullable

Using Doctrine notNull on column, this pull request implement the detection of Nullable.
It does it for the properties of the model and the relation that are using the property.
Fixes #407

Thanks!


Added Maven-surefire-plugin to file pom.xml . Created file run_test.y…

This workflow will run tests on every push to our repository.

@ViktorKapustianyk I just merged the fix for you. You have to pull the changes locally

Please check now. Hope it's ok. I didn't know on which branch I had to make changes.


Removed ${} from referenced properties used as flags.

Removed ${} from referenced properties used as flags.
Signed-off-by: Mesbah<EMAIL_ADDRESS>

When referencing conditional properties, curly braces are not required. If used, they don't resolve to their values correctly, resulting in wrong action being taken. For example,
<target name="print-junit-4.12-location" if="${junit_4.12_available}">
		<echo message="Using junit-4.12 from ${junit_4.12}"/>
	</target>

	<target name="print-junit-4.12-error" unless="${junit_4.12_available}">
		<echo message="ERROR: Cannot find junit-4.12 at ${junit_4.12}"/>
		<property name="fail_run" value="true"/>
	</target>

Will result in:
00:01:19.269 print-junit-4.12-location:
00:01:19.269
00:01:19.269 print-junit-4.12-error:
00:01:19.269      [echo] ERROR: Cannot find junit-4.12 at /home/j9build/workspace/ibmjava8_systemtest_x86-64_linux/openjdk-tests/systemtest_prereqs/junit-4.12/junit-4.12.jar

(ref: https://urv-jenkins.canlab.ibm.com:9095/view/SV_Tests/job/ibmjava8_systemtest_x86-64_linux/441/consoleFull)
However, if the curly braces are removed from unless="${junit_4.12_available}" and we use unless="junit_4.12_available" instead, correct value will be resolved ("true"), and we will not see errors such as junit not available, when it in fact is available.

PR tested with: https://urv-jenkins.canlab.ibm.com:9095/view/SV_Tests/job/ibmjava8_systemtest_x86-64_linux/442/console

It seems to have somehow remained hidden successfully-- I am not sure how! I discovered it today, as I was adding a new target in the same file, and didn't add curly braces for the new target's condition. It then suddenly started to expose the issue, by failing the build. It subsequently started to work again after I updated all those targets and removed the braces from the referenced properties. @sophia-guo


ci: add a spellchecker to GitHub CI

This checker won't detect all typos, but will report the obvious ones.
It's a matter of balance. Too much typos, leads to false-positive.
false-positive leads to maintain a list of exception, quite a pain.
Fixes #188

Summary by CodeRabbit

New Features

Introduced a spell-checking process in the CI workflow to enhance code quality by identifying and correcting typographical errors.
Added a configuration file to manage typo checks, focusing on relevant files and excluding specific ones.

Bug Fixes

Corrected spelling from "Serialisation" to "Serialization" in the HomepageFeatures component for consistency.

Any chance to incorporate this into the Makefile as well? If not no worries.

typos is a software to install, unfortunately it's not in go. I wouln't add something like cargo install typos-cli or brew install typos-cli
I can add something about

detecting if typos is installed reports if not, but do not fail the linting
launch it if present

But I would address this in another PR


Error sending request to chatGPT

Hi Team thanks and good day I tried to run the extension. by cloning the close and given all the session key, clearance and browser agent. when I am asking any questions it throws error. attached screenshot.

Fixed using official API in v2 release.


Sanity studio suddenly complains that AI Document is not a valid Document schema. Getting unexpected end of JSON input from Sanity Assist.

If you find a security vulnerability, do NOT open an issue. Email<EMAIL_ADDRESS>instead.
Describe the bug
Sanity AI assist stopped functioning earlier today. Actions result in nothing, and we're getting "Unexpected end of JSON input" in the Sanity AI Assist Status box.

Digging deeper, the AI Document schema doesn't seem to validate and results in a console.error entry that isn't immediately obvious. Overwriting console.error to inspect the state, we see that it's the AI Document that doesn't validate (using object in type instead of document, though this isn't new, so not sure why it's complaining now):

To Reproduce
Steps to reproduce the behavior:

Login to a studio with sanity assist enabled. This happens locally as well as online on *.sanity.studio which hasn't been deployed in weeks in our case.
Schema error should already be present in the console
Run an instruction, notice that nothing happens after it finishes.
Observe the unexpected end of JSON error in the assist status box

Expected behavior
Instruction should apply the results, AI Document schema shouldn't cause a schema type error.
Screenshots
See above.
Which versions of Sanity are you using?
This happens on the newest versions:
@sanity/cli (global)                   3.19.2 (up to date)
@sanity/assist                         1.2.13 (up to date)
@sanity/code-input                      4.1.1 (up to date)
@sanity/dashboard                       3.1.5 (up to date)
@sanity/document-internationalization   2.0.2 (up to date)
@sanity/eslint-config-studio            3.0.1 (up to date)
@sanity/vision                         3.19.2 (up to date)
sanity                                 3.19.2 (up to date)

But was initially observed on:
@sanity/cli (global)                   3.16.4 (latest: 3.19.2)
@sanity/assist                          1.2.5 (latest: 1.2.13)
@sanity/code-input                      4.1.1 (up to date)
@sanity/dashboard                       3.1.5 (up to date)
@sanity/document-internationalization   2.0.1 (latest: 2.0.2)
@sanity/eslint-config-studio            3.0.1 (up to date)
@sanity/vision                         3.16.4 (latest: 3.19.2)
sanity                                 3.16.4 (latest: 3.19.2)

What operating system are you using?
Windows 11 / WSL
Which versions of Node.js / npm are you running?
$ npm -v && node -v && yarn -v
9.6.7
v18.17.1
1.22.19

Hey, this turned out to be caused by a recent breaking change in the APIs used by AI Assist.
This has now been fixed in the backend (from whence the JSON parse error came).


ImportError: cannot import name 'Catalog' from 'databroker.mongo_normalized'

Expected Behavior

A DB should be initialized without a bug.
databroker.v2.temp()
Current Behavior

Loading from packaged simulation configuration
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/xpdconf_1660241225258/test_tmp/run_test.py", line 5, in <module>
    import xpdconf.conf
  File "/home/conda/feedstock_root/build_artifacts/xpdconf_1660241225258/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.9/site-packages/xpdconf/conf.py", line 159, in <module>
    glbl_dict["exp_db"] = databroker.v2.temp()
  File "/home/conda/feedstock_root/build_artifacts/xpdconf_1660241225258/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.9/site-packages/databroker/v2.py", line 17, in temp
    from .mongo_normalized import Catalog
ImportError: cannot import name 'Catalog' from 'databroker.mongo_normalized' (/home/conda/feedstock_root/build_artifacts/xpdconf_1660241225258/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.9/site-packages/databroker/mongo_normalized.py)
Tests failed for xpdconf-0.4.5-pyhd8ed1ab_1.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
WARNING:conda_build.build:Tests failed for xpdconf-0.4.5-pyhd8ed1ab_1.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
TESTS FAILED: xpdconf-0.4.5-pyhd8ed1ab_1.tar.bz2

Possible Solution

It may be related to the conda recipe of tiled.
Steps to Reproduce (for bugs)

Install databroker 2.0.0b from conda-forge
run databroker.v2.temp() in python

Context

Build package dependent on databroker in conda-forge.
Your Environment

tiled-sparse:                  0.1.0a67-hd8ed1ab_0          conda-forge
tiled-xarray:                  0.1.0a67-hd8ed1ab_0          conda-forge
tk:                            8.6.12-h27826a3_0            conda-forge
toolz:                         0.12.0-pyhd8ed1ab_0          conda-forge
tornado:                       6.1-py39hb9d737c_3           conda-forge
typer:                         0.6.1-pyhd8ed1ab_0           conda-forge
typing-extensions:             4.3.0-hd8ed1ab_0             conda-forge
typing_extensions:             4.3.0-pyha770c72_0           conda-forge
tzdata:                        2022a-h191b570_0             conda-forge
tzlocal:                       4.2-py39hf3d152e_1           conda-forge
urllib3:                       1.26.11-pyhd8ed1ab_0         conda-forge
uvicorn:                       0.18.2-py39hf3d152e_2        conda-forge
watchgod:                      0.8.2-pyhd8ed1ab_0           conda-forge
wcwidth:                       0.2.5-pyh9f0ad1d_2           conda-forge
xarray:                        2022.6.0-pyhd8ed1ab_1        conda-forge
xorg-libxau:                   1.0.9-h7f98852_0             conda-forge
xorg-libxdmcp:                 1.1.3-h7f98852_0             conda-forge
xpdconf:                       0.4.5-pyhd8ed1ab_1           local
xz:                            5.2.5-h516909a_1             conda-forge
yaml:                          0.2.5-h7f98852_2             conda-forge
zfp:                           1.0.0-h27087fc_1             conda-forge
zict:                          2.2.0-pyhd8ed1ab_0           conda-forge
zipp:                          3.8.1-pyhd8ed1ab_0           conda-forge
zlib:                          1.2.12-h166bdaf_2            conda-forge
zlib-ng:                       2.0.6-h166bdaf_0             conda-forge
zstd:                          1.5.2-h8a70e8d_3             conda-forge

Thanks for the report @st3107. Fix submitted in https://github.com/bluesky/databroker/pull/726.


Miners not shown  in  web

link is currect even try https and http both not working
any help /?

Can you write to the database? You can test by going into "Configurations" and add a new configuration to see if it gets added successfully.

i do successfully put json in default xmr and make button autorefresh on to see if there any changes but nothing change

right now should be appear 2 PCS

where should the problem ?

I mean does the configuration save? If you refresh does it show the JSON you saved? If so then the reason is most likely that the miners can't reach your site for whatever reason. It's hard for me to know since I don't own your site or anything.

yea its saved success and website http://xxzerox.000webhostapp.com/

Ah, make sure to change the PHP to 7.4 or above (preferably PHP 8) if you haven't already https://www.000webhost.com/forum/t/how-to-change-upgrade-or-downgrade-php-version-of-my-website/39336.

Done change it to PHP 8

any next steps ? i change php 8

...

Then they should appear, you shouldn't have to do anything else with 000webhost. Make sure that the URL is correct and that you're using https.

yea that's why i ever do it but my sleep they put my old website in sleep mode then when i try do it again it now showing anything then i use https as view link give me this panel useful for me so dispointed its not working :(

so next time where i can get bots in web panel i mean where backup where place i should backup it because if i move to another website or something which files i must backup it to keep bots watch it in panel even move to somewhere ?

The unamwebpanel.db contains all the data, but even if you don't backup any data the miners will still get re-added whenever they first connect again.

aha thanks sir for make you tired with me Mr Unam


sealer-v0.9.3 缺少search，如何拉起kubernetes-1.27版本集群

Issue Description
Type: feature request
Describe what feature you want
Additional context
Add any other context or screenshots about the feature request here.

The official version of the image has not been made.
You can also customize the image you want according to the documentation http://sealer.cool/docs/advanced/customize-cluster-image.html#customize-the-basefs

+1


Infinite lapis and sulfur

Take 1 lapis ore.
Grind in the IE crusher to get 10 powder.
Melt the powder in NC melter, then the ingot former.
End up with 10 lapis from 1.
Repeat for infinite lapis.
Same with sulfur except it's 9 instead of 10.
The issue is that 1 ore and 1 powder creates the same amount of liquid (in this case 666mb) in the NC melter.
I guess it doesn't have to be the IE crusher. As long as you get more powder than starting ore amount.

Thanks for the heads up. F(&( NC Melter. Fixed in 12.2.48


Test: Workspace trust setting indicators in the Settings editor

Refs: #157564

[ ] macOS @digitarald
[x] linux @aeschli
[ ] windows @lramos15

Complexity: 3
Authors: @rzhao271, @sandy081
Create Issue

The look of workspace restricted settings is now different in the Settings editor.

Open a restricted workspace.
In the Manage Workspace Trust view, click on the part that says "X workspace settings aren't applied".
The Settings editor should show up with the Workspace tab opened and the restricted settings visible.
The restricted settings should have an indicator on them. The indicator currently has a warning icon on it to be extra noticeable.
A user should be able to change the setting value of a restricted setting and have the new value reflected in the Settings editor. The JSON file should also be updated with the new value. However, the setting in the JSON file should have a warning on it also saying that the setting cannot be applied in an untrusted workspace.
Use a screenreader to focus onto the restricted setting in the Settings editor. Screenreaders currently cannot focus onto the indicators themselves, but when they focus onto the setting, a paraphrased version of the indicator information should be read out.

Works well, also tested with the Orca screenreader in Ubuntu.


Update jemalloc package install instructions

as libjemalloc1 is not available in recent distributions anymore, see: https://packages.debian.org/search?keywords=jemalloc

Hey @gaborszakacs! You're right. Thanks!


Added a test for pushup filtering

Fixes #7.

Oooh I see, that makes way more sense. Thanks, I'll get it done right now!

Closing this for now since we have removed oblivious mode from the public release.


Allow build with CUDA 6.5. Add Travis CI config.

Travis is failing the build because it can't find cl.h in any of the include paths.
I suspect that CUDA is not installed in the build environment(?)


Adding NCCL School - Newark Center for Creative Learning

Adding Newark Center for Creative Learning, it is a non-profit private K-8 school in Newark DE
More info at https://www.ncclschool.org/

@hungrypipo First stage of verification passed, official domain is ncclschool.org as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@hungrypipo Pull request merged. Thank you.


No documentation around custom log_paths

Hi,
Awhile trying to setup custom log paths I'm not able to find any documentation around how to do this even though SC4S says its a native functionality.  Maybe I'm missing it but i've searched the repo and docs pretty throughly.

Added doc in v2 branch
https://splunk.github.io/splunk-connect-for-syslog/next-major/destinations/


scientific research on the evaluation of Tensorflow

Hello, everyone!
We are students from Linkoping University, Sweden. We are doing research on evaluation of Tensorflow, so we need help!
There is a questionnaire we need you to answer! Just 1-2 minutes!
Thank you so much for your patience and kindness!
https://docs.google.com/forms/d/e/1FAIpQLSfvqIUxxI5mm82dr_M8Ja7y_eGG0mqXzfCLQ0c6ehjqSjAQkA/viewform?usp=sf_link

The issue tracker is for bug reports, and I assume your post will not be widely read here. You can try posting to<EMAIL_ADDRESS>


Dashboard auto-refresh lead to heavy query loads on backend

What happened:
Heavy query requests were sent to backend when auto-refresh set in dashboard. (This was originally submitted as discussion in https://github.com/grafana/falconlogscale-datasource/discussions/309)
Currently the query going through FalconLogScale datasource plugin are submitted as static query, and in a real environment, user often set the time-range in dashboard, and enable auto-refresh, this can impose very high load on LogScale backend, since the auto-refresh will trigger the entire query resubmitted, with different time range(e.g: 30s refresh will shift the start and end time by 30s), this is considered a brand new query in LogScale backend. We are seeing backend query job grow exponentially when just a small set of users are using Grafana dashboard with some panels have LogScale panel with auto-refresh enabled.
Falcon LogScale do support live query, it does so by breaking down a query to historical query portion and live streaming portion, when historical query part complete, the query only need to get the events from ingest queue with new data coming in. Ideally it would be much efficient to leverage that if auto-refresh is enabled(at least when a small interval is set).
I would assume supporting that might be a complicate change and it could take time to implement, so alternatively, it would be nice to simply add an option in datasource config to ignore dashboard auto-refresh setting, and with an indicator in the panel so  user's aware the auto-refresh is disable for the panel that's using that specific data source?
What you expected to happen:
Handle repeated queries more efficiently, or, allow data source be configured to ignore dashboard auto-refresh setting.
How to reproduce it (as minimally and precisely as possible):

Screenshots

Anything else we need to know?:
Environment:

Grafana version:
Plugin version:
OS Grafana is installed on:
User OS & Browser:
Others:

Hey @fyang13,
Just wanted to follow up on this. Atm there is no way for a data source to ignore a query that has been triggered due to the auto-refresh property of dashboards.
Have you experimented with increasing the auto-refresh interval beyond 30s to attempt to reduce the load? Also, is the auto-refresh functionality something you require on your dashboards?
I'm uncertain if the live query functionality will alleviate this problem as my understanding is the live query aspect is for data currently being ingested and is already a part of how LogScale handles querying.
Let us know what you think!

@aangelisc Thanks for follow-up. Setting auto-refresh beyond 30s would help, but the problem is user would normally create a dashboard with panels from different data sources, and they can set any auto-refresh interval that we can't control. And even with 30s interval, it could be still very heavy, since the query sent to datasource at auto-refresh just shift the start/end time of the query by 30s and that's considered an entirely new query in LogScale. In an environment with many users and dashboards, this can have a compound effect making the queries sent to backend to be prohibitively high quickly.
If the auto-refresh can be somehow switched to using LogScale live query, it should help. While live query is handled by LogScale backend, it require the API client(the plugin) handle it differently, the query need to have "isLive" set to true in the request, and new data will be streaming to the client, instead of just polling query jobs. The current plugin version is sending static query only to backend as far as I can tell.
This would of course it a bit more difficult to implement, and somehow user would also need to be made aware if dashboard auto-refresh is enabled, then data from this panel will be streaming in live, while other datasources might be polling in fixed interval.
In some case, a query can't be run as live, user should be made aware, that should probably be covered in the enhancement request here?
Alternatively, if datasource can't be made to ignore query being triggered from auto-refresh, I'm wondering whether an option in panel UI can be added to allow the panel ignoring auto-refresh setting in dashboard?

@aangelisc can you please replu to Fred last update?

Hi @fyang13. @saheemg,
Apologies for the delayed response. Not much to update here at the moment. Unfortunately data sources aren't aware of if a query is due to auto-refresh or not so it's not currently possible to ignore auto-refresh queries at the data source level.
Additionally, it's not possible to mark a specific panel as excluded from auto-refresh.
Is there no configuration in LogScale to potentially rate limit queries issued?
We are investigating other potential solutions and will update the issue when we have more information 😊
To help reduce the impact of the issue atm it is possible to set a minimum refresh interval in your Grafana config that dashboards will have to adhere to. If you check this documentation you will find details of this functionality.

@aangelisc Any update on potential solutions you have been looking into?
Regarding your question on query rate limits. Yes, we can rate limit the queries in LogScale(and we did), but the auto-refresh here is essentially drop the query just executed(still in query coordinator memory) and reissue another one with very little difference on the data set, it's a very inefficient way to consume LogScale resource. The rate limit end-up limiting user's queries often when it shouldn't have to.

@fyang13 I looked into using Grafana live as a replacement to auto refreshing queries. This should work with CS's Live Search Request

@bossinc That sounds good! I assume it would require some work on the plugin to make it a streaming data source, as well as an option to enabling live query to the backend?

@fyang13 It does require work on the plugin. Once we implement plugin streaming, you can choose to run the query normally or start streaming the results.

@bossinc Any updates here?

Hi @saheemg, unfortunately there are no updates here as of yet. We're investigating the scope of this work and what would need to be done.

Hello team (@aangelisc)!,
Any news here? Thanks in advance!

Hi @KellyP5 😊 this is being investigated at the moment, updates will be shared here as soon as they're available!


V6 - Does it really require React V15?

Or would ^0.14.0 || ^15.0.0-0 work too? In my testing it seems to work well.

redux-form@6 does a lot to ensure managed inputs are compatible with react@15. That's why we raised the version. Allowing<EMAIL_ADDRESS>without testing on it is not is a bad idea. Moreover, there is not reason not to update to v15.

But yes, it could work on<EMAIL_ADDRESS>but we don't want to support it.

Fair enough. Not a big deal. I just find it weird because 15.0.0 is not a breaking change after 0.14.0. React devs just wanted to signal the maturity of React with it.

It is because it changes how manage components work.


Support for Oracle Linux

Please append the following line in detect_os method
|| [[ "${OS}" == "Oracle" ]]
We had an issue installing gdrive on our oracle linux so we modified it accordingly.

@bilalsaeed
Is butdr working well on Oracle Linux after you setup?

Yes I added the condition it's working perfectly fine

@bilalsaeed
I need test more on Oracle Linux to ensure butdr working well. If everything is ok, I will add support Oracle Linux.

@bilalsaeed
I tested on Oracle Linux and  it's working well, so I added support Oracle Linux.


fix: remove channelId

Turns out it's pulling the wrong id right now this is the user's id oops.

Isnt channelId used to retrieve the messages?

Isnt channelId used to retrieve the messages?

Yeah but it's not the correct channel id. This is the firebase user id which doesn't match. We should actually call the twitch API here too.


Fix checkstyle config issue occurring with JDK 11

Gradle builds were failing with JDK 11, cf. https://github.com/gradle/gradle/issues/8286#issuecomment-456940831

May I ask which version of Gradle you are using to build Alpha on Java 11 (see gradle -v or ./gradlew -v if you're using Gradle Wrapper).

------------------------------------------------------------
Gradle 5.3
------------------------------------------------------------

Build time:   2019-03-20 11:03:29 UTC
Revision:     f5c64796748a98efdbf6f99f44b6afe08492c2a0

Kotlin:       1.3.21
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          11.0.2 (Oracle Corporation 11.0.2+9)
OS:           Windows 10 10.0 amd64


Update brave version to 3.9.1 and make the zipkin URL configurable

@adriancole @kristofa would it be possible to get the brave version updated? Also made the URL configurable.

no prob on bumping the version, but the example is supposed to let people play around (including change things like the reporter to Kafka. I don't think we want to start defining configuration on a project like this, rather just let people edit the files themselves.


Error while using gdcRNADownload()

I installed R-3.4.1 by Miniconda, and managed to installed the GDCRNATools, but while testing with  your instruction to download RNA data (http://bioconductor.org/packages/devel/bioc/vignettes/GDCRNATools/inst/doc/GDCRNATools.html#data-preparation), I got a error when using gdcRNADownload(). The error is like this:

and my sessionInfo() is below:

Do you have any idea why I  got this problem and how to solve? Thank you so much!

Hi, could you please try method='gdc-client', the api method sometimes doesn't work well. Thanks

Thank you, now I tried 'gdc-client', it works on my personal computer, but our host got some other problem. Seems the glibc is too old. Anyway, will find a way to solve that. Thank you so much for replying.

The downloaded RNAseq or  miRNA data by 'gdc-client' method in gdcRNADownload() were .htseq.counts.gz files in separate file folders. But the api method can directly get those .htseq.counts.gz files in the working path, which is important to run gdcRNAMerge(). Do you have any idea to solve the problem?


Split TypedArray overload into separate overloads

lib Update Request
Configuration Check
My compilation target is ESNext and my lib is the default.
Missing / Incorrect Definition
All TypedArrays have five overloads, one of which is the following:
TypedArray(buffer: ArrayBuffer, byteOffset?: number, length?: number);

I believe that this should be split into three separate overloads:
new TypedArray(buffer: ArrayBuffer);
new TypedArray(buffer: ArrayBuffer, byteOffset: number);
new TypedArray(buffer: ArrayBuffer, byteOffset: number, length: number);

or
new TypedArray(buffer: ArrayBuffer, byteOffset?: number);
new TypedArray(buffer: ArrayBuffer, byteOffset: number, length: number);

Sample Code
I came across something vaguely like this:
declare function getOffset(): undefined;

const offset = getOffset();

new Uint8Array(new ArrayBuffer(0), offset, 0);

and thought that their code definitely had a bug, but, it turns out that undefined-ish values were allowed for the second parameter, because the type was of number | undefined.
This would break code, but I believe that this will break little to no code in practice.
Documentation Link
N/A: no new additions

This breaks code that does:
// Modified from: https://github.com/engine262/engine262/blob/main/src/value.mjs
export class DataBlock extends Uint8Array {
	constructor(sizeOrBuffer, ...restArgs) {
		if (sizeOrBuffer instanceof ArrayBuffer) {
			// The proposed change would reintroduce a TypeScript compile error here:
			super(sizeOrBuffer, ...restArgs);
		} else {
			Assert(typeof sizeOrBuffer === 'number');
			super(sizeOrBuffer);
		}
	}
}

See https://github.com/microsoft/TypeScript/issues/38446 for details.

This breaks code that does:
// Modified from: https://github.com/engine262/engine262/blob/main/src/value.mjs
export class DataBlock extends Uint8Array {
	constructor(sizeOrBuffer, ...restArgs) {
		if (sizeOrBuffer instanceof ArrayBuffer) {
			// The proposed change would reintroduce a TypeScript compile error here:
			super(sizeOrBuffer, ...restArgs);
		} else {
			Assert(typeof sizeOrBuffer === 'number');
			super(sizeOrBuffer);
		}
	}
}

See https://github.com/microsoft/TypeScript/issues/38446 for details.

It's valid, but if they skipped it, then it's more likely to be a bug than not, as least in my opinion.

It's valid, but if they skipped it, then it's more likely to be a bug than not, as least in my opinion.

This is related to #13195.
TypeScript doesn't consistently distinguish "missing" things from "present-but-undefined" things.   One of the ways this shows up is that you can explicitly pass undefined in for an optional function parameter, with the added weirdness that because undefined is not actually missing, you are still allowed to pass in later arguments.  I know that when I write declare function f(x?: string, y?: number)=>void I don't generally intend to support f(undefined, 123), it just happens.
To the extent that people like and rely on this behavior, changing TypedArray (or any call signatures with multiple optional parameters) would be a breaking change.
If people don't like this behavior, it would make more sense to me to change the behavior itself and not the library call signatures.  For example, I'd rather see (x?: string, y?: number) => void behave like (...args: [] | [x: string] | [x: string, y: number]) => void in the first place, as opposed to someone going through all library typings and replacing the former with the latter.

This is related to #13195.
TypeScript doesn't consistently distinguish "missing" things from "present-but-undefined" things.   One of the ways this shows up is that you can explicitly pass undefined in for an optional function parameter, with the added weirdness that because undefined is not actually missing, you are still allowed to pass in later arguments.  I know that when I write declare function f(x?: string, y?: number)=>void I don't generally intend to support f(undefined, 123), it just happens.
To the extent that people like and rely on this behavior, changing TypedArray (or any call signatures with multiple optional parameters) would be a breaking change.
If people don't like this behavior, it would make more sense to me to change the behavior itself and not the library call signatures.  For example, I'd rather see (x?: string, y?: number) => void behave like (...args: [] | [x: string] | [x: string, y: number]) => void in the first place, as opposed to someone going through all library typings and replacing the former with the latter.

I feel like there are definately uses for both, maybe TS needs a dedicated optional type that isn't equivalent to undefined | T?
Oh, I just looked at that issue, and that's exactly what they suggested, well this is one of those places that I feel like it would be good.

I feel like there are definately uses for both, maybe TS needs a dedicated optional type that isn't equivalent to undefined | T?
Oh, I just looked at that issue, and that's exactly what they suggested, well this is one of those places that I feel like it would be good.


tf.extract_image_patches

The documentation of the above function is available on the official Tensorflow page.
https://www.tensorflow.org/api_docs/python/tf/extract_image_patches
Can somebody explain me the meaning of the argument 'rates' and also what do these lines mean, preferably with an example with value of 'rates' >1 ?
This is the input stride, specifying how far two consecutive patch samples are in the input. Equivalent to extracting patches with patch_sizes_eff = patch_sizes + (patch_sizes - 1) * (rates - 1), followed by subsampling them spatially by a factor of rates. This is equivalent to rate in dilated (a.k.a. Atrous) convolutions.

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

Nagging Awaiting Response: It has been 14 days with no activityand the awaiting response label was assigned. Is this still an issue?

Nagging Awaiting Response: It has been 14 days with no activityand the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?


[bst-1] Artifact proto timestamps are not updated on bst-artifact-server

See original issue on GitLab
In GitLab by [Gitlab user @tlater] on Sep 2, 2019, 11:20
The following discussion from !1540 should be addressed:

[ ] [Gitlab user @danielsilverstone-ct] started a discussion:  (+2 comments)

Interestingly this never seems to update the mtime of the artifact proto itself.

Everything is in there, frankly. It looks like we forgot to expire artifact protos, and that we are leaking tiny bits of drive space whenever an artifact expires.

In GitLab by [Gitlab user @tristanvb] on Nov 6, 2020, 07:33
changed title from Artifact proto timestamps are not updated on bst-artifact-server to {+[bst-1] +}Artifact proto timestamps are not updated on bst-artifact-server


Using tilde (~) in result-file flag value causes download failure

When choosing a directory to download backups for the terminus site backup command, if a tilde exists in the path, the download will fail:
$ terminus site backup get --site=SITENAME --env=ENV --element=database --to-directory=~/Sites --latest
Downloading ... please wait ...

Warning: file_put_contents(~/Sites/SITENAME_ENV_2015-04-08T20-25-56_UTC_database.sql.gz): failed to open stream: No such file or directory in phar:///Users/suzannealdrich/Projects/cli/builds/terminus/php/Terminus/Request.php on line 98
Success: Downloaded ~/Sites/SITENAME_ENV_2015-04-08T20-25-56_UTC_database.sql.gz

Running the same command without a tilde in the filename, actually results in successful download:
$ terminus site backup get --site=SITENAME --env=ENV --element=database --to-directory=$HOME/Sites --latest
Downloading ... please wait ...
Success: Downloaded /Users/suzannealdrich/Sites/SITENAME_ENV_2015-04-08T20-38-27_UTC_database.sql.gz

While we're popping the hood on the site.php script - we should align the element arrays in all cases of the backup function.
terminus site backup create --element=db and terminus site backup create --element=database both work, but terminus site backup get --element=db fails.
$ terminus site backup get --element=db --env=dev --site=deskstop-server-import-test
Error: Invalid backup element specified.

Usage:

[--element=< code | files | db | all >]
: Element to download or create. all only used for 'create'

Quickest fix would be to update the $element variable with 'db' instead of 'database' to align with help output. However it may be more valuable to update the script so that db and database can both be used on all cases.

@suzannealdrich I've clarified that an absolute path is required in #322
@rachelwhitton That behavior looks to have been previously fixed. Both db/database are acceptable values for site backup get --element=


✨ Allow prompt on right click of checkbox

🔖 Feature description
When checking items on my list, by far the most common scenario is to use a standard x. Because of this, I'd love an easy way to open the prompt while still preserving the normal click behavior.
✔ Solution
I think a good way to do this would be to add an option to open the prompt when right clicking the menu. It's essentially work exactly the same as this option, but just with a right click instead.

❓ Alternatives
Another alternative would be to show the prompt when clicking and holding on the checkbox. Since there's no right click on mobile, this would work better there.
To be honest, I'd love both behaviors, so I could use right clicks on my laptop and holds for my phone.
📝 Additional Context
Thank you for creating this great plugin!

Right click already works this way in reading/live preview mode.
In edit mode, right-click is reserved for the context menu, and I am not going to disrupt/change that.
In edit mode, I use keyboard commands: Ctrl-Enter for standard check/uncheck, Shift-Ctrl-Enter for the modal. On Mobile, I use the Task Collector modal always.
If you have "simple vs. complex" operations, you could consider defining two different completion groups. Keep - and x in a simple group (no date, no text manipulation, but still treat that group as "completed" items). And add another group that uses X (as a completed item), that also includes the date, etc.
Modal would then work (put task collector in the mobile button bar) and you can choose the non-fancy simple x version or the fancier/labeled X

Fair enough. Thanks for considering the request. 🙂


stdout isnt doesn't unwraped when interupted

When redirect_stdout is beign used, and the iterator is interrupted, for example by a KeyboardInterrupt, stdout remains wrapped,
Example code
import progressbar
import time
for i in progressbar.progressbar(range(100), redirect_stdout=True):
    print('Some text', i)
    time.sleep(0.1)
    if i == 50:
        raise KeyboardInterrupt

You'll end up with the 50% completed progress bar sitting on your terminal and refusing to leave.
When an exception stops the progress of the iterator, the progress bar doesn't take notice and unwrap stdout, as it does when finished() is called.
Manually wrapping the iteration in a try:except: works, but obviously isn't very nice
import progressbar
import time
bar = progressbar.bar.ProgressBar(redirect_stdout=True)
try:
    for i in bar(range(100)):
        print('Some text', i)
        time.sleep(0.1)
        if i==50:
            raise KeyboardInterrupt
except:
    bar.finish(dirty=True)
    raise

Versions
Python 3.7.3, IPython 7.8.0, Linux, progressbar version 3.47.0

Unfortunately, as far as I am aware, the progressbar can't detect these exceptions since they don't happen in code managed by the progressbar.
An alternative that does work properly is by using the with statement. The with statement was specifically designed for cases like these:
import progressbar
import time

with progressbar.ProgressBar(redirect_stdout=True) as bar:
    for i in bar(range(100)):
        print('Some text', i)
        time.sleep(0.02)
        if i == 50:
            raise KeyboardInterrupt

I ran with the same problem with stderr and using progressbar.streams.wrap_stderr. I did not know that using the progress bar as a context manager would prevent this problem (so I created a context manager wrapper myself). I could not find this feature in the doc, I think it would be nice to mention it somewhere, don't you think?

@WoLpH
Thanks for pointing out the context manager solution,
In my case, I'm handing around a lot of iterators and I'd like to selectively wrap some in progress bars, so the context manager would be inconvenient to use.
I think that the iterator version could also clean up after itself, by ensuring that finished() is called when a general exceptions would stop the iterator.
import progressbar
import time
import types

def __next__(self):
    try:
        value = next(self._iterable)
        if self.start_time is None:
            self.start()
        else:
            self.update(self.value + 1)
        return value
    except StopIteration:
        self.finish()
        raise
    except Exception:
        self.finish(dirty=True)
        raise

def __exit__(self, exc_type, exc_value, traceback):
        self.finish(dirty=(exc_type is None))

bar = progressbar.bar.ProgressBar(redirect_stdout=True)
bar.__next__ = types.MethodType(__next__, bar)
bar.__exit__ = types.MethodType(__exit__, bar)

try:
    for i in bar(range(100)):
        print('Some text', i)
        time.sleep(0.1)
        if i==50:
            raise KeyboardInterrupt
except:
    bar.finish(dirty=True)
    raise

Is there a disadvantage to this kind of solution I'm not seeing?
I also overrode the __exit__ method here, which means that when the context manager is being used and the iteration is interrupted, the progress bar doesn't incorrectly show a completed state.

I ran with the same problem with stderr and using progressbar.streams.wrap_stderr. I did not know that using the progress bar as a context manager would prevent this problem (so I created a context manager wrapper myself). I could not find this feature in the doc, I think it would be nice to mention it somewhere, don't you think?

It's mentioned in the readme part of the docs: https://progressbar-2.readthedocs.io/en/latest/#context-wrapper
And there are a load of examples that use it: https://progressbar-2.readthedocs.io/en/latest/examples.html
I agree that the docs can be improved a lot though. The big problem is that my time is quite limited and this project is not the only project that I maintain: https://pypi.org/user/WoLpH/
If you have suggestions where the docs can be improved, all help is appreciated :)

@WoLpH
Thanks for pointing out the context manager solution,
In my case, I'm handing around a lot of iterators and I'd like to selectively wrap some in progress bars, so the context manager would be inconvenient to use.

I agree, context managers are often inconvenient to work with and your bar.finish(dirty=True) is an easier solution in most cases.

I think that the iterator version could also clean up after itself, by ensuring that finished() is called when a general exceptions would stop the iterator.

I fail to see how, but I might be missing something here :)

Is there a disadvantage to this kind of solution I'm not seeing?

Your code still uses the bar.finish(...) in the except: part. Without that it still won't work.

I also overrode the __exit__ method here, which means that when the context manager is being used and the iteration is interrupted, the progress bar doesn't incorrectly show a completed state.

That's indeed a bug that needs to be fixed. Good catch!

Nevermind... all that, thanks to your suggestion I found the answer. I can catch GeneratorExit. Since it doesn't inherit Exception I never knew I could catch that from the code.
Thanks for the suggestion, I'll fix it soon :)

I fail to see how, but I might be missing something here :)

For clarity, all I meant by the iterator cleaning up after itself was exactly that it could check for exceptions and ensure finished() is called before quitting. Calling finished() seems to be the best way to ensure that std is unwrapped.

Your code still uses the bar.finish(...) in the except: part. Without that it still won't work.

This is true. I think that this is the right place to put the except block ensuring finished() is always called; inside the next method, rather than around the whole iteration.
It means that transparently using the progress bar as an iterator, like in your examples, now works perfectly, even when there's a general exception that stops the iteration.
I'm happy to knock together an PR for these changes, or perhaps do them another way if you have a different preference?

I can catch GeneratorExit

Ah, that's perfect
Again, happy to make the PR, otherwise, thanks very much for your help!

I've added the two changes to the development branch, can you test if that does everything you were looking for? :)
I'm always happy with pull requests if you have more suggestions of course :)

@mmcewen-g not sure if you noticed the update so pinging you again :)
If it works ok I'll create a new release

This doesn't work, but it took me a while to work out why.  Apologies for going into this pedagogically, I wrote most of this while I was working out for myself what was going on, and hopefully this sill be a good explanation for people who stumble across this in the future.
We're dealing with Generators, Iterators and Iterables here.
An Iterable is an object with an __iter__() function, which returns an Iterator.
An Iterator is an object with a __next__() function, which returns values and eventually raises StopIteration.
A Generator is weird:
In code, they're any function written with yield expressions in them. Calling such a function actually returns a 'generator object' rather than whatever the function looks like it might return.
a 'generator object' is a special kind of Iterator; when __next__() is called, the generator runs the function from where it last left off until it hits the next yield and returns the yielded value, or until they return, at which point they raise StopIteration.
They also have additional send(), throw() and close() functions.
Unlike Iterators, Generators can clean up after themselves using the aforementioned close().
This works by raising a GeneratorExit at the last yield that fired in the generator, which can be caught to do cleanup. close() is called when a generator object is garbage collected, meaning cleanup is guaranteed.
Iterators in general should not 'hold things' (like locks, open files or IO wrappers), because python gives them no way to clean up. If an iterator does need to hold something, then it should really be a generator, which has the additional 'infrastructure' of close() to guarantee things get cleaned up.
Currently, ProgressBar is iterable, meaning it can be used in for...in loops.
It is also an Iterator; it has a __next__() method and __iter__() just returns self.
It is not a Generator; it has no close() which is what pyhton needs to raise a GeneratorExit inside it. Our attempt to catch GeneratorExit was doomed from the start.
If we want the progress bar to be able to catch GeneratorExit and clean up, then instead of __iter__ returning self it could return a generator.
This generator can catch GeneratorExit and ensure that finish() is called.
For a toy example:
import progressbar
import time
import types

class ProgressBarNew(progressbar.bar.ProgressBar):
    def __next__():
        #remove this from ProgressBar entirely
        raise Exception

    def __iter__(self):
        try:
            for value in self._iterable:
                if self.start_time is None:
                    self.start()
                else:
                    self.update(self.value + 1)
                yield value
        except GeneratorExit:
            print("Caught GeneratorExit: Cleaning up")
            self.finish(dirty=True)
            raise

bar = ProgressBarNew(redirect_stdout=True)

try:
    for i in bar(range(100)):
        print('Received', i)
        time.sleep(0.1)
        if i == 10:
            raise KeyboardInterrupt
except KeyboardInterrupt:
    print("Caught KeyboardInterrupt")

This does work as expected!
Received 0
...
Received 10
Caught GeneratorExit: Cleaning up
 10% (10 of 100) |##                     | Elapsed Time: 0:00:01 ETA:   0:00:09
Caught KeyboardInterrupt

bar(range(100)) returns the ProgressBar with a defined self._iterable. The for...in naturally calls iter() on it, and gets back a generator object, which it iterates over. When the iteration is interrupted, this generator object is garbage collected, GeneratorExit is caught inside it and finish() is called. Meanwhile, the ProgressBar object is left alone, and may be inspected by the user in code afterwards that catches the exception.
There is one downside of this, which is that the iteration in the ProgressBar is now split over two objects; the ProgressBar holds the state of the current iteration and the generator references the ProgressBar to update the state during iteration (including cleaning up). This has the advantage that the state of the progress bar is easy to reference inside the iteration loop, but I expect that's not the typical use case for then the progress bar is simply used to wrap an iterable in a for...in statement.
It might be worth discussing moving the state for the progress bar into the generator object, and leaving ProgressBar as a traditional iterable that returns logically independent generators. This kind of refactoring would also have the advantage that the ProgressBar could be made reusable without needing any calls to init(), as it would simply return a new generator when it was reused.

Thank you for writing this pedagogically!

I realized that we could do a less invasive job by promoting the ProgressBar itself to being a Generator. This is a much smaller change, as a Generator is just a special type of Iterator, which the ProgressBar is already. It also means the current examples and code usage can stay identical, and that we arn't introducing any new objects.
It took me a little while to figure out how to arrange for python to run close on the ProgressBar - Python uses __del__ when the object is garbage collected, and generator objects have a call to close in their __del__. The abstract class for Generators doesn't include  a __del__, so it has to be included manually.
With that, whenever the progress bar is garbage collected, it makes a direct call to close and that runs finish, which guarantees that stdout is unwrapped no matter what stops the ProgressBar. Now the only way stdout can remain wrapped is if the user is holding a reference to the ProgressBar that owns the wrapper, in which case they're able to call finish themselves if they want to.

I realized that we could do a less invasive job by promoting the ProgressBar itself to being a Generator. This is a much smaller change, as a Generator is just a special type of Iterator, which the ProgressBar is already. It also means the current examples and code usage can stay identical, and that we aren't introducing any new objects.

This is what I eventually did in my project using ProgressBar:
def progress_bar(iterator, *args, **kwargs):
   with progressbar.ProgressBar(*args, **kwargs) as progress:
       for item in progress(iterator):
           yield item

Which is very close to what progressbar.shortcuts.progressbar does.

The above (and the shortcut) both do something similar but not identical to the solution in the PR.
When python runs the generator function, it returns a new generator object (which is a Generator capital G), meaning that there are now two objects in memory: the ProgressBar and the generator object python made when the generator function was called.
def progress_bar(iterator, *args, **kwargs):
   with progressbar.ProgressBar(*args, **kwargs) as progress:
       for item in progress(iterator):
           yield item

bar = progress_bar(range(100))
type(bar) # generator object, not ProgressBar

This is different to the solution in the linked PR, which is to make the ProgressBar itself into a generator object; now there is only one object in memory. This doesn't make a huge difference, but it is a little more elegant and makes the stack trace cleaner if the iteration is interrupted.


Issues with history

It seems to only parse the last 15 lines of the history file and constantly begins every page at the newest entry. Sometimes only a few entries (3-4) are shown, and when navigating to the top most shown entry suddenly other entries are displayed.
Update:
I also realized that it displays mulitple history entries as one entry and sometimes even older history entries. between the newer ones.
Update2:
I also realized that I have sometimes to press Ctrl+C multiple times to exit history preview

Hi, I'm not able to understand the problem you're describing.
Can you add steps to reproduce using this template
% zsh -df
% source path/to/zsh-autosuggestions.zsh
% ... # what do you do to reproduce?

Screenshots may also be helpful

I have this same problem. I know what you're talking about. It is difficult to explain but I will do my best.
Let's say my zsh_history looks like this:
cd /etc
ls -la
echo "hello 12345"
echo "hello 123"
uname -a
cat /etc/hosts

If I want to re-run the command echo "hello 123".
I type echo "h and there will be the option in the ghost text to complete the rest of the line ello 123". If I press the RIGHT arrow key, my cursor will go to the end of the line and now in my terminal I will have the full command echo "hello 123" ready to be run.
If I hit the UP arrow key, I will go to echo "hello 12345", since that also matches the same preceding characters in my zsh_history.
However, let's say I change my mind, I don't want to run the echo command at all, I instead want to use the UP arrow key to cycle through my history and rerun the last command I ran cat /etc/hosts.
Remember, echo "12345" is currently in my terminal typed out. I would expect that since there is no other history matches for echo "12345*" in my history (like there is not a history entry for echo "123456789") that hitting the UP arrow should just take me to cat /etc/hosts. But that is not what happens... The terminal is locked so I have to hit CTRL+C to cancel the command I have typed out and get a clean prompt, or I have to press DELETE enough times to clear the terminal before I can cycle through my history like normal.
It is incredibly frustrating because this is such a great plugin but it effectively overwrites the default ZSH behavior that is in place if you do not run this plugin. I think there has to be a way to tinker with the keybinds that this module creates so that the plugin can still provide the utility it intends to while still playing nice with the default behavior that users expect.

Also, another thing I noticed:
If you are cycling through your history with the UP and DOWN arrow keys, and then you hit the RIGHT arrow key to go to the end of the line, and then you hit the LEFT arrow key you will no longer be able to cycle through the remaining history.
The LEFT arrow key seems to mess up the ability for you to continue searching through the history.


ValueError on start

After not using MMT for a while, I return to it but when I try to start the engine I am getting this error:
Unexpected exception: ValueError("invalid literal for int() with base 10: ''",)
Lennart

Hi @lennart-tondeleir
it's difficult to say what's going on with so few elements. I suggest to:

Delete all files in the runtime folder with rm -rf runtime/*
Restart the machine (you're now sure that no orphans MMT process are running now)
Re-compile ModernMT from the latest master branch commit.
Follow the instructions in README.md file to train the example neural engine.
Verify that you are now able to translate.

Davide

I'm closing this issue for inactivity. Please, feel free to re-open it if you need further help!


Implement best practices for oauth2-proxy app

Coming from here.
The goal of this issue is to have the App eventually adhere to standard cloud-native best-practices. The points below are to be considered non-exhaustive. Feel free to add some that make sense and remove some that don't. If this issue does not make sense (e.g. is a duplicate or covers a deprecated app) please close it.
Expected outcome:

[ ] the app has properly set PDBs (as percentages)
[ ] the app can scale horizontally based on Custom Metrics (if it makes sense)
[ ] the app runs with more than 1 replica by default (if it needs HA)
[ ] the app does not use emptyDir volumes if not strictly necessary

https://github.com/giantswarm/oauth2-proxy-app/pull/110


Create shared azure resource UI components

Tenant, Subscription, Resource Group, Resource, Region, Tier inputs and dropdowns should be in a shared location for the azurePublish extension and other composer UI for creation and config.

Tasks

Create a new combo box component with below features.

Filter the options as the user is typing
Show loading status when there is some asynchronous action.
Allow creation when the option is not available

Create the below shared components, with all the data retrieval and validation encapsulated.

TenantPicker
SubscriptionPicker
ResourceGroupPicker
RegionPicker
ResourceNameTextField

Sync up with the UX team on coming up with a design for 'Create new' option for resource group picker.


Validate that UINT textures do not have SAMPLER usage

Creating a UINT-format texture and binding it as a sampler is totally valid in Vulkan, but not in D3D.
For the sake of portability, we need to add a validation check to ensure UINT textures are not created with the SAMPLER usage flag.

Resolved by https://github.com/thatcosmonaut/SDL/commit/456ecba7b85a664a1d844c80cc5f8a12648a3be8. (Meant to make that a PR but accidentally pushed directly to gpu_next...)


Wrap widget code in $(document).ready()

We got unloaded ckeditor in inline mode. It happens randomly.
/cc @whiteeagle88

Thanks for your PR but I can't accept it. Let me explain why. Basically, the bundle has been designed to work without jQuery but then, with your code, you couple it strongly with it. What is your base issue which have motivated your PR?

Sorry, I have not readed the PR's description... DO you rely on inline: true and jquery: true?

I use SonataAdminBundle with IvoryCKEditor.
But some fields not load ckeditor fully. Like on screenshot (bottom field).
This happens with fields, which initialized by "CKEDITOR.inline"

Okay bu tthen, do you rely on inline: true and jquery: true? I ask because you should do and then, a better fix would be to wrap the code only if the jquery option is enabled.

@alvus Can you update your PR by only using $(document).ready if the jquery var is enabled? (The jquery var is directly accessible in the template.

Yes, but I can do this after weekend
С уважением, Илья Антипенко
On May 8, 2015 9:29 PM, "Eric GELOEN"<EMAIL_ADDRESS>wrote:

@alvus https://github.com/alvus Can you update your PR by only using
$(document).ready if the jquery var is enabled? (The jquery var is
directly accessible in the template.
—
Reply to this email directly or view it on GitHub
https://github.com/egeloen/IvoryCKEditorBundle/pull/169#issuecomment-100320971
.

PR updated.
@egeloen , what do you think about some documentation for this?
Like "If you have issues with ckeditor try to use jquery: true"?

@aivus Yes maybe better is to recommend to use the jQuery wrapper if it relies on jQuery in their app instead of speaking about issue :) Can you add a note in the doc?

I'll add note asap

I have added note.

Merged in 7ee6d1819ab5663d27e7031acf746a00ecad01a4 Thx!


video created with only one image less than 1 sec

How to set duration between images??
I used mp4packet function for creating video of sequencial images and set 25 as fps and 1 as duration. how can I create slide show video of images?
Here is my code:
int fps = 25;
long duration = 1;
outTrack.addFrame(new MP4Packet(result, num, fps, duration,
num, true, null, num, 0));
num++; //frame no.

s/fps/timescale
If you want the video to play slowly set small timescale and large frame duration. Say timescale=1, duration=5 will show 1 frame every 5 seconds.


.npm-init.js should we use fixed dev dependencies versions?

So currently for the devDeps we use just * for the versions https://github.com/bucharest-gold/entente/blob/master/npm-init.js#L68
besides nsp, I wonder if we should "fix" those version to something specific?
The downside is we would need to update the versions at some interval when they are updated.
I feel like the best practice in this case would be to use an actual version
@lance @balunasj @helio-frota  any thoughts?

true.
Until now, I saw only 2 problems: handlebars [used by huilu] and istanbul.
'*' adds risk. Small amount of incidents maybe, but when happen is really not good.
I  vote for  :

The downside is we would need to update the versions at some interval when they are updated.

Hmm - I don't like using *. That's just asking for trouble. I think updating version numbers as these tools mature is not too onerous. There are only a handful to keep track of. We could try to do this manually, or use something like sibbell or versioneye to manage that for us. In either case, we should probably be using patch-level change ranges, e.g. ~0.1.3.

@lance @helio-frota thanks for the input,  i'll update the file for the next milestone

versions added in this commit: c6171b4


TimePicker: Keyboard Navigation and blur formatting

Description

Added keyboard navigation for MudTimePicker.
Added new function for editable MudTimePickers: If user input a 4 digit without any colon, semi colon etc., it automatically shape the correct format when lost focus. (Example: if user inputs 1234, it shapes 12:34, if user inputs 8888, it shapes 23:59)

https://user-images.githubusercontent.com/78308169/140642793-c768f482-b51e-425d-8370-c4d07ad22b31.mp4

[x] When close popover with escape or space, focus input again
[x] Adding key interceptor service
[x] Docs
[x] Test

How Has This Been Tested?

Checklist:

✔ The PR is submitted to the correct branch (dev).
✔ My code follows the code style of this project.
❌ I've added relevant tests. (Test done now)

I haven't read anything else and I don't know what is the PR about, but I have noticed that the whole SetTimeString function can be replaced by: private string SetTimeString(int hour, int minute) => $"{hour:D2}:{minute:D2}";

I haven't read anything else and I don't know what the PR is about, but I have noticed that the whole SetTimeString function can be replaced by: private string SetTimeString(int hour, int minute) => $"{hour:D2}:{minute:D2}";

You are absolutely right, thanks, i changed it.

@Garderoben @henon @JonBunator its ready for review. But i think we cant test the onblur formatting part.

Thanks!


Fix OpenAI rate limit headers parsing

#384 describes a bug where an unrelated OpenAI tool encounters a KeyError due to headers parsing hooks registered by the OpenAiChatPromptDriver. Because the optional OpenAI requestssession variable is global, registering hooks in OpenAiChatPromptDriver leads to the hooks executing when interacting with the other SDK APIs (e.g. image creation), which do not reliably return the same headers.
This PR updates the way we parse OpenAI's response headers to avoid a KeyError if they are not present.
Resolves #384

should we be using .get() to access dictionary items? They avoid KeyErrors.

should we be using .get() to access dictionary items? They avoid KeyErrors.

Good call, updated to simplify with .get()


[Feature] Complete new structure of documentation site.

Overview

[x] - Introduction @resouer
[x] - Installation @hongchaodeng
[x] - Quick Start @hongchaodeng
[x] - Concepts @resouer

For Developers

[x] - Setting Up Deployment Environment @wonderflow
[x] - Initializing Application @hongchaodeng
[x] - Setting Routes @wonderflow
[x] - Setting Auto-scaling Policy @zzxwill
[x] - Setting Rollout Strategy @wonderflow
[x] - Monitoring Application @wonderflow
[x] - Using Appfile @hongchaodeng
[x] - Execute Commands in Container @hongchaodeng
[x] - Check Application Logs @hongchaodeng
[x] - Port forward to container @hongchaodeng
[x] - Configuring Application @hongchaodeng
[x] - Consuming Cloud Services @szihai
[x] - Reference Docs should be generated from CUE templates but we could fill them manually for now, /assign @hongchaodeng

For Platform Engineers

[x] - Extending KubeVela @hongchaodeng

Internals

[x] - Design and Architecture Already Done!

Roadmap

[x] - Roadmap of KubeVela @resouer

/cc @Fei-Guo

Suggested change: Configuring Deployment Environment -> Setting up deployment environment
As a side note, we also need to document installing capabilities services including:

Prometheus & Grafana
Flagger
Nginx Ingress
KEDA

As a side note, we also need to document installing capabilities services including:

Let's put this section as part of docs/install.md, and let user know:

Those dependencies will be installed automatically in his cluster during vela install.
If they have installed their own version, how to skip certain dependency in vela install.

The Nginx Ingress is kinda special, I don't think vela install will handle it, so user must enable it manually (that's why I added a section in docs/install.md as well). /cc @wonderflow

The Nginx Ingress is kinda special, I don't think vela install will handle it, so user must enable it manually

We should use discovery client to detect both API resources and their controllers (deployments).

A Reference on how OLM manages dependency services via InstallPlan: https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/architecture.md#catalog-operator

Reference Docs should be generated from CUE templates but we could fill them manually for now, /assign @hongchaodeng

ref: https://github.com/oam-dev/kubevela/issues/492

@hongchaodeng  @resouer things are almost done, let's go through the whole doc again and check if they're all ready.

Closing, as it's done


Change post request

I'm rework post request for used it with x-www-form-urlencoded Now like as python request it support data and json. data put as x-www-form-urlencoded and json put as applicaiton/json

This might be best for a 2.0 release since it is a breaking change.

Okay. No problem :) Now i'm just use own fork

Adding this work to a 2.0 branch.


FVs take a long time

Running the bare scripts took 2 minutes. Some as-yet-diagnosed change has caused them to take 10 minutes. Running them with multiple hosts, (docker-in-docker) takes 25 minutes.

@alexaltair Have you got to the bottom of this yet? If you have, can you close it.

We made a lot of progress, but I want to keep evaluating it while I rewrite them in python.


[NEW ALGORITHM]  Convex Hull (Computational Geometry)

Issue will be closed if:

You mention more than one algorithm. You can create a separate issue for each algorithm once the current one is completed.
You propose an algorithm that is already present or has been mentioned in a previous issue.
You create a new issue without completing your previous issue.

Note: These actions will be taken seriously. Failure to follow the guidelines may result in the immediate closure of your issue.

Name:   Convex Hull (Computational Geometry)
About:
The Convex Hull problem is a fundamental problem in computational geometry, where given a set of points in a 2D plane, the goal is to find the smallest convex polygon that contains all the points. This polygon is called the convex hull of the points.
Labels:
new algorithm, gssoc-ext, hacktoberfest, level1, hactoberfest-accepted

Assignees:

[.] Contributor in GSSoC-ext
[.] Want to work on it

@abishek1740P assigned


https://angi.com

https://www.angi.com/ is on url-lists.txt. Any reason this is on a  phishing block list?

https://github.com/HorusTeknoloji/TR-PhishingList/commit/33fdb187c2b6e619608c0f75a213053ca8b9f3d7


"February" is mislabeled as "March"

February displays as 'March':

(from the CodeSandbox demo)

Hi @ankur7york could you shed more light on this, I could not find any issue.

Hi!  While changing the months/years, February always displayed as "March" for me - but you're right it's working fine now. Maybe because the current date is now in April?


Corrected admin user role (local account)

Corrected name for "Azure Kubernetes Service Cluster Admin Role"
Currently in the table beneath the Summary heading, it's incorrectly down as:
Azure Kubernetes Service Admin Role
Azure Kubernetes Admin Role

@palma21
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


[Pruning] use cbind2 for dgCMatrix.

For some reason sometimes we need to excplcitly use cbind2 to avoid R trying to apply the data.frame cbind and attempt to coerce the dgCMatrix to a data.frame

OK to merge


Add math engine option to config

Add mathEngine option to config.
This option is passed to pandoc args with -- prefix.
For example, following option is passed:
pandoc:
  mathEngine: katex

Then, the args of pandoc is this: [..., "--katex", ...].
If you want to use KaTeX, you can pass katex to the mathEngine option.
By default, mathEngine is mathjax.

Looks good. Merged. Thanks.


Add string prop and function comparator capabilities to Array.unique

In Joi 9 Array.unique could take an optional comparator function, we didn't have this capability.
In 10 they added the string deep path comparison (Works like lodash's .get method)
You provide a string like a.b.c.d and it would deep parse an object like {a: {b: {c: {d: 'asdf'}}}} and compare the asdf string.
For this, I implemented a variant to the .get method.
This brings us to Joi 10, but in Joi 10 .boolean() doesn't work on numbers anymore. For this reason this release should be a breaking change.

@JamyDev can you bump the version?


Installing fsevents never works

I pretty much always get an error installing fsevents.
Given that this package is an optional dependency for most anyway, maybe it's just best to delete it everywhere and not bother with this anymore?

yes


Support “value” scope targeting const keyword

In the following:
const aaa: string = "hello"

Saying ”take value cap” should target "hello"
Slack Message

I presume it should bail if multiple consts are declared in the same statement?

@auscompgeek I'm not sure how the tree-sitter looks for that expression, but would it be possible for take value air to select the 1 and take value bat to select the 2? That's what I'd expect. If you tried to use a token from const bailing seems reasonable.

@nathanheffley yep, that's what I would expect to happen with that too. I believe that's the current behaviour there.

I guess it could take both of them?  That's how it works with "unit" if there are multiple units in css, eg border-width: 10px 1px;


More efficient SVD

At least explore other alternatives that make better use of CPU / GPU resources and are possibly more memory efficient. Something that computes with limited memory on PCs would be great.

duplicate issue.


🥢 Fix broken links

Description
Some addresses have 404, and some have redirected. This PR is to fix these problems
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge fmt?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

ty!! 🤗


fix(config): allow oranda.json to override version field

fixes #263

actually, closing this because i have a different/better solution


Recursion doesn't play nicely with unions

I tried modelling a tree with recursive entries, but if try to model this:
type TreeEntryQ = Union "TreeEntryQ" '[FileQ, RecTreeQ, SymlinkQ]

I get:
    • Invalid TypeIndex. Must be Object but got: RecTreeQ

because RecTreeQ is a newtype

Code in question: https://github.com/jml/graphql-api/blob/master/src/GraphQL/Resolver.hs#L433-L444
One solution would be to relax the constraint for what types we allow in unions. We can resolve anything that has a HasResolver instance, but OTOH the current error messages are quite nice...


Update the example database with a new dump from TestPyPI

Fixes #2216

Today I Leaned about dev/clean.sql. :)


Minified React error #152

Hi,
I came across this issue when I was try to build my app with react-helmet in it. https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=t
It works fine on development mode but when i try to build the app and minified it didn't work.
My enviroment:
webpack: 4.17.1
react: 16.4.1
react-helmet: 5.2.0
My minimizer:
	minimizer: [
		new UglifyJsPlugin({
			uglifyOptions: {
				compress: {
					warnings: false, // Suppress uglification warnings
					pure_getters: true,
					unsafe: true,
					unsafe_comps: true,
				},
				output: {
					comments: false,
				},
				exclude: [/\.min\.js$/gi] // skip pre-minified libs
			}
		})
	],

Thank you for your help

Need more information to analyze your issue.. Do you have a reproducible repo?

Hi, well unfortunately I have this repo on gitlab as private project.

@1aGh Hi Michal, Was issue fixed?  I meet this error also only in production mode but not in development mode, I am using webpack 4 also.


Replace Rocksdb with LMDB

[x] Implement module
[x] make create migrate any existing rocksdb data
[ ] Debug/Pass CI
[ ] Review

Debugging:
It seemed like set_batch was breaking things but it turned out that the rocksdb fold methods were broken which was causing the data to appear to disagree. https://app.zenhub.com/workspaces/protocol-eng-663019a2b7c02c03cd737a1a/issues/gh/minaprotocol/mina/15838
Once that was fixed I noticed to_alist was backwards for rocksdb so I fixed my code to replicate that.

https://github.com/MinaProtocol/mina/pull/15810

one of the error that Rocksdb and LMDB disagree. shelf this one


Some imports from uber/jaeger-client-go probably should be changed to jaegertracing/jaeger-client-go

In the imports for baggage_setter.go and zipkin_thrift_span.go, you are importing github.com/uber/jaeger-client-go/* packages, which look like were intended to be github.com/jaegertracing/jaeger-client-go/* packages.
go vet complains about this (importing "internal" packages from other places).

Nevermind.  I see it is not intended to use the new import path yet.