Quasar: Icon Genie v2.3.0 profile generator incorrectly checking for hash in splashscreenColor hex value

Created on 16 Jul 2020  路  9Comments  路  Source: quasarframework/quasar

Describe the bug
Icon Genie profile generator incorrectly checking for hash in splashscreenColor hex value, and won't accept a hex value without a hash.

Codepen/jsFiddle/Codesandbox (required)
N/A

To Reproduce
Steps to reproduce the behavior:

  1. Try to generate an IconGenie profile (replacing with relevant filenames):
    icongenie profile -o foo -a spa,capacitor -i app-icon.png -b app-splashscreen.png --quality 2 --splashscreen-color 286DD7
  2. See error where matching pattern expects the hash:
    image
  3. Now try to generate a profile with the hash:
    icongenie profile -o foo -a spa,capacitor -i app-icon.png -b app-splashscreen.png --quality 2 --splashscreen-color #286DD7
  4. See error
    image
  5. Now escape the hash
    icongenie profile -o foo -a spa,capacitor -i app-icon.png -b app-splashscreen.png --quality 2 --splashscreen-color \#286DD7
  6. Profile generates successfully, so try to generate icons:
    icongenie generate -p ./icongenie-foo.json
  7. See error (obviously, since the profile should not include the hash)
    image

Expected behavior
The profile should generate without the hash prepending the color (remove the hash from the pattern matching check).

Screenshots
See above.

Platform (please complete the following information):
OS: MacOS Catalina 0.15.5
Node: v14.2.0
NPM: 6.14.4

Additional context
N/A

bug has PR

All 9 comments

Have you tried as --splashscreen-color=286DD7 too?

@IlCallo I had not, but I just ran
icongenie profile -o foo -a spa,capacitor -i app-icon.png -b app-splashscreen.png --quality 2 --splashscreen-color=286DD7
and it returns the same error, because the regex is still checking for a hash:

image

As per the documentation and CLI help command description, the --splashscreen-color (and all other color related command line params) must be stripped of the preceding '#' char. Otherwise, '#' is interpreted by your shell as "comment" and anything after it is discarded.

    --splashscreen-color  Prefill the params.splashscreenColor property;
                          Background color to use for the splashscreen generator;
                          Default (if no theme-color is specified): fff
                          The color must be in hex format (NOT hexa) without the leading
                          '#' character. Transparency not allowed.
                          Examples: 1976D2, eee

@rstoenescu Yes, as per my steps detailed above, I only attempted with a hash because the error message (after attempting to generate per the instructions) showed that the regex includes a hash.

FWIW, this is not a work stopper, I was obviously able to edit the file to add in the splashscreen color manually, I'm just letting you know that it's a bug.

I'll be able to test / look into this over the weekend all being well. Had my eye on it but hadn't got to it yet :)

@taliator Can you confirm that this is only happening when using the profile command please? So if you run icongenie generate -a spa,capacitor -i app-icon.png -b app-splashscreen.png --quality 2 --splashscreen-color 286DD7 it works as expected?

From my initial findings, the same validation is being used to generate the profile as is being used to generate the icons. By the time the icon generation is happening (and in turn the validation) the color passed in via --splashscreen-color has already been prepended with the hash.

When generating the profile file on the other hand, it doesn't want to add a # because it needs to be in the same format as the original input.

@webnoob Ah indeed! Running icon generate ... --splashscreen-color 286DD7 does not throw the error, whereas icon profile ... --splashscreen-color 286DD7 does.

Ok good, the fix will be made available after the next round of updates.

Fixed in @quasar/icongenie-v2.3.1

Was this page helpful?
0 / 5 - 0 ratings