LEDs don't react for some time after boot

I'm trying to enable a LED immediately after boot, but apparently they are not ready at priority -100 and I can't figure out when they are.

Consider the config below. When I press the button the LED goes red - blue - green - purple.

But on boot it just goes blue - green - purple.

Config:

substitutions:
  node_name: led-test

esphome:
  name: ${node_name}
  friendly_name: "LED test"
  on_boot:
    priority: -100
    then:
      - script.execute: update_status_led

esp32:
  variant: esp32s3
  flash_size: 16MB
  framework:
    type: esp-idf

psram:
  mode: octal
  speed: 80MHz

# wifi, ota, logger, mqtt omitted

web_server:
  port: 80

script:
  - id: update_status_led
    mode: restart
    then:
      - delay: 500ms
      - light.turn_on:
          id: led1
          red: 20%
          green: 0%
          blue: 0%
      - delay: 500ms
      - light.turn_on:
          id: led1
          red: 0%
          green: 0%
          blue: 20%
      - delay: 500ms
      - light.turn_on:
          id: led1
          red: 0%
          green: 20%
          blue: 0%
      - delay: 500ms
      - light.turn_on:
          id: led1
          red: 20%
          green: 0%
          blue: 20%

light:
  - platform: esp32_rmt_led_strip
    rgb_order: GRB
    pin: GPIO7
    num_leds: 3
    chipset: SK6812
    id: status_led_hardware
    use_dma: True
    restore_mode: ALWAYS_OFF
  - platform: partition
    id: led1
    name: "LED1"
    default_transition_length: 0s
    segments:
      - id: status_led_hardware
        from: 0
        to: 0
  - platform: partition
    id: led2
    name: "LED2"
    default_transition_length: 0s
    segments:
      - id: status_led_hardware
        from: 1
        to: 1
  - platform: partition
    id: led3
    name: "LED3"
    default_transition_length: 0s
    segments:
      - id: status_led_hardware
        from: 2
        to: 2

button:
  - platform: template
    name: "Test LED"
    on_press:
      - script.execute: update_status_led

I think what's going on here is that restore_mode: ALWAYS_OFF runs a transition of 1s and that keeps turning off the LED.

Adding default_transition_length: 0s to the esp32_rmt_led_strip entry fixed it. I still had to keep it in the partitions for normal operation.

I also think having 1s transitions as the default is stupid.

Surly you glanced through the official Esphome documentation to figure out what

on_boot:
  priority: - 100

even means or what it does right??? You shouldn't be surprised at all about how long the lights take considering - 100 is the last category of things to happen......

You absolutely must read through the documentation for whatever relevant categories you're using because, thats where you find the information/instructions for how to even use it in the first place..

Yes, that's why I'm using it - to be absolutely sure that the light are initialized and ready to take commands. Nevertheless they ignored the commands.

It turned out they were in fact initialized but they were still running their default turn-off transition.