Bug Report: Can no longer set all LEDs from command line

Description of Bug

I used to be able to set all of the LEDs to a single color (in this case a very dim blue) to turn off the blinkenlights before bedtime. You can't do this anymore from the CLI. This appeared in the past week. I suspect this may be the cause since it modifies the precise code related to processing CLI arguments and affects whether -d is supplied or not:

commit f8745221d4276300f943f0630bdb7bc80611108d
Author: Chris <galdarian@gmail.com>
Date:   Sun Nov 20 18:12:39 2022 +1100

    Added string indexing to `-d` option to resolve #2854
    
    + Added zone to `options.device` in cli.cpp
    + replace current_device & current_zone references in parser with
    temporary device vector
    + Changed code to accomodate

Attached Log

aki:~ $ openrgb --version
OpenRGB 0.8, for controlling RGB lighting.
  Version:		 0.8
  Build Date		 Sun, 12 Apr 2020 20:57:34 -0700
  Git Commit ID		 fb88964b8e514cdf4eb22da314e13f8db06a3636
  Git Commit Date	 2022-11-27 21:44:33 -0600
  Git Branch		 master

aki:~ $ openrgb -m direct -c 000004
Attempting to connect to local OpenRGB server.
Connected to server
Network client listener started
Client: Received controller count from server: 7
Client: Requesting controller 0
Client: Requesting controller 1
Client: Requesting controller 2
Client: Requesting controller 3
Client: Requesting controller 4
Client: Requesting controller 5
Client: Requesting controller 6
Client: All controllers received, adding them to master list
Local OpenRGB server connected, running in client mode
OpenRGB 0.8, for controlling RGB lighting.
Usage: OpenRGB (--device [--mode] [--color])...

Options:
--gui                                    Shows the GUI. GUI also appears when not passing any parameters
--startminimized                         Starts the GUI minimized to tray. Implies --gui, even if not specified
--client [IP]:[Port]                     Starts an SDK client on the given IP:Port (assumes port 6742 if not specified)
--server                                 Starts the SDK's server
--server-port                            Sets the SDK's server port. Default: 6742 (1024-65535)
-l,  --list-devices                      Lists every compatible device with their number
-d,  --device [0-9 | "name"]             Selects device to apply colors and/or effect to, or applies to all devices if omitted
                                           Basic string search is implemented 3 characters or more
                                           Can be specified multiple times with different modes and colors
-z,  --zone [0-9]                        Selects zone to apply colors and/or sizes to, or applies to all zones in device if omitted
                                           Must be specified after specifying a device
-c,  --color [random | FFFFF,00AAFF ...] Sets colors on each device directly if no effect is specified, and sets the effect color if an effect is specified
                                           If there are more LEDs than colors given, the last color will be applied to the remaining LEDs
-m,  --mode [breathing | static | ...]   Sets the mode to be applied, check --list-devices to see which modes are supported on your device
-b,  --brightness [0-100]                Sets the brightness as a percentage if the mode supports brightness
-s,  --size [0-N]                        Sets the new size of the specified device zone.
                                           Must be specified after specifying a zone.
                                           If the specified size is out of range, or the zone does not offer resizing capability, the size will not be changed
-V,  --version                           Display version and software build information
-p,  --profile filename[.orp]            Load the profile from filename/filename.orp
-sp, --save-profile filename.orp         Save the given settings to profile filename.orp
--i2c-tools                              Shows the I2C/SMBus Tools page in the GUI. Implies --gui, even if not specified.
                                           USE I2C TOOLS AT YOUR OWN RISK! Don't use this option if you don't know what you're doing!
                                           There is a risk of bricking your motherboard, RGB controller, and RAM if you send invalid SMBus/I2C transactions.
--localconfig                            Use the current working directory instead of the global configuration directory.
--config path                            Use a custom path instead of the global configuration directory.
--nodetect                               Do not try to detect hardware at startup.
--noautoconnect                          Do not try to autoconnect to a local server at startup.
--loglevel [0-6 | error | warning ...]   Set the log level (0: fatal to 6: trace).
--print-source                           Print the source code file and line number for each log entry.
-v,  --verbose                           Print log messages to stdout.
-vv, --very-verbose                      Print debug messages and log messages to stdout.
--autostart-check                        Check if OpenRGB starting at login is enabled.
--autostart-disable                      Disable OpenRGB starting at login.
--autostart-enable arguments             Enable OpenRGB to start at login. Requires arguments to give to OpenRGB at login.
aki:~ $ echo $?
255

Those commits since were inspected, but … they don't change this. (They do introduce yet another version bug on Debian systems but I'll file that one separately.)

Operating System

OS - Linux OS - MacOS OS - Windows

Hardware Configuration

Debian Linux (sid), package I compiled from git HEAD seconds after the 0.8 announcement.