custom-sidebar icon indicating copy to clipboard operation
custom-sidebar copied to clipboard

Safari broken with custom-sidebar?

Open DJF3 opened this issue 3 months ago • 7 comments

First of all: I love the custom-sidebar. This is one of these things that makes HA usable. Can't imagine having to go through the HA navigation to access all components (in way too many clicks).

HA: 2025.11.1 Supervisor: 2025.11.4 OS: 15.1 Frontend: 20251105.0 Custom-sidebar: 10.7.1 Safari: 26.1 MacOS: 26.1

Problem:

"Loading Data" and seeing the HA logo on a blank page - not usable

Fix?

Rename /config/www/sidebar-config.yaml to /config/www/AAsidebar-config.yaml

In other words: not using the sidebar. After renaming the sidebar-config.yaml to something else Safari instantly works just like expected. Renaming the sidebar-config file back to its original name and Safari instantly chokes.. I have cleared chaches numerous times and my firewall does not block something that could cause an issue.

Inspector shows: Image

Any idea what this could be? If you need me to test something, just let me know! 👍

DJF3 avatar Nov 21 '25 10:11 DJF3

Hi @DJF3, Could you test in an incognito window?

I have checked my instance in Safari and no issues but let me summon @Mariusthvdb because he is a heavy user using Safari as the main browser, let's see if he is facing any issues.

elchininet avatar Nov 21 '25 11:11 elchininet

haha, you called sir? ;-)

no, I have no errors in Inspector. in any browser for that matter

maybe a wrong config inside that configuration file?

btw, I am on a different OS, 16.3

Mariusthvdb avatar Nov 21 '25 12:11 Mariusthvdb

maybe a wrong config inside that configuration file?

I could be. @DJF3 could you post your config?

elchininet avatar Nov 21 '25 12:11 elchininet

Interesting. The thing I had not thought of yet was the config itself 😄 . It feels like this has something to do with the updates partial

partials:
  updates: 'const updates = Object.values(states.update).filter((update) => update.state === "on").length;'

and where it is displayed in a new_item.

  - new_item: true
    item: SETTINGS
    match: href
    href: "/config/dashboard"
    icon: mdi:update
    bottom: true
    notification: >
      [[[
        @partial updates
        return updates || '';
      ]]]

So far I have not been able to 100% reproduce. Will do that in the next hours or days. sidebar-config.yaml:

title: " "
subtitle: " "
sidebar_editable: true
hide_all: true
partials:
  updates: 'const updates = Object.values(states.update).filter((update) => update.state === "on").length;'
sidebar_background: "#292929"
analytics: false

order:
  - new_item: true
    item: home
    name: HOME
    match: href
    href: "/lovelace/mobile"
    icon: mdi:home
  # - new_item: true
  #   item: dash-cabin
  #   name: Cabin
  #   match: href
  #   href: "/dash-cabin"
  #   icon: mdi:home
  - new_item: true
    item: _________LOGS
    # match: data-panel
    match: href
    href: "/config/logs"
    icon: mdi:math-log
    # NORMAL
    item_background: "#3d1e1c"
    text_color: white
    icon_color: white
    # SELECTED
    selection_background: "#a40c10"
    #8f4842"
    text_color_selected: yellow
    icon_color_selected: white
    selection_opacity: 1
  - new_item: true
    item: EDITOR__
    match: href
    # href: "/hassio/ingress/a0d7b954_vscode"
    href: "/hassio/ingress/core_configurator"
    icon: mdi:lead-pencil
    text_color_selected: yellow
    icon_color_selected: white
  - new_item: true
    item: AUTOMATIONS
    match: href
    href: "/config/automation/dashboard"
    icon: mdi:robot-happy
    # NORMAL
    item_background: "#253570"
    # SELECTED
    selection_background: "#616ea4"
    text_color_selected: yellow
    icon_color_selected: white
    selection_opacity: 1
  - new_item: true
    item: SCRIPTS
    match: href
    href: "/config/script/dashboard"
    icon: mdi:robot-happy
    # NORMAL
    item_background: "#253570"
    # SELECTED
    selection_background: "#616ea4"
    text_color_selected: yellow
    icon_color_selected: white
    selection_opacity: 1
  - new_item: true
    item: DEVICES
    match: href
    href: "/config/devices/dashboard"
    icon: mdi:alpha-d
    # NORMAL
    item_background: "#173935"
    # SELECTED
    selection_background: "#2e766f"
    text_color_selected: yellow
    icon_color_selected: yellow
    selection_opacity: 1
  - new_item: true
    item: ENTITIES
    match: href
    href: "/config/entities/dashboard"
    icon: mdi:alpha-e
    # NORMAL
    item_background: "#173935"
    # SELECTED
    selection_background: "#2e766f"
    text_color_selected: yellow
    icon_color_selected: yellow
    selection_opacity: 1
  - new_item: true
    item: TODO
    match: href
    href: "/todo"
    icon: mdi:format-list-checks
    text_color_selected: yellow
    icon_color_selected: yellow
  - new_item: true
    item: Zigbee2MQTT
    match: href
    href: "/hassio/ingress/45df7312_zigbee2mqtt"
    icon: mdi:zigbee
    item_background: "#463513"
    text_color: white
    icon_color: black
    selection_background: "#fec038"
    text_color_selected: black
    icon_color_selected: red
    selection_opacity: 1
  - new_item: true
    item: Powercalc
    match: href
    href: "/config/integrations/integration/powercalc"
    icon: mdi:alpha-p
    text_color_selected: yellow
    icon_color_selected: yellow
    text_color: cyan
    icon_color: cyan
  - new_item: true
    item: MQTT
    match: href
    href: "/config/integrations/integration/mqtt"
    icon: mdi:alpha-m
    text_color_selected: yellow
    icon_color_selected: yellow
    text_color: cyan
    icon_color: cyan



  #__________ BOTTOM
  - new_item: true
    item: Developer Tools
    match: href
    href: "/developer-tools/yaml"
    icon: mdi:hammer
    # NORMAL
    item_background: "#292929"
    text_color: yellow
    icon_color: white
    # SELECTED
    selection_background: "#555555d9"
    text_color_selected: yellow
    icon_color_selected: yellow
    selection_opacity: 1
    bottom: true
  - new_item: true
    item: HACS
    match: href
    href: "/hacs/dashboard"
    icon: mdi:store-outline
    text_color_selected: yellow
    icon_color_selected: yellow
    bottom: true
  - new_item: true
    item: INTEGRATIONS
    match: href
    href: "/config/integrations/dashboard"
    icon: mdi:puzzle-outline
    text_color_selected: yellow
    icon_color_selected: yellow
    bottom: true
  - new_item: true
    item: SETTINGS
    match: href
    href: "/config/dashboard"
    icon: mdi:update
    bottom: true
    notification: >
      [[[
        @partial updates
        return updates || '';
      ]]]
    # NORMAL
    item_background: "#292929"
    text_color: yellow
    icon_color: white
    # SELECTED
    selection_background: "#555555d9"
    text_color_selected: yellow
    icon_color_selected: yellow
    selection_opacity: 1
  - new_item: true
    item: Add-ons
    match: href
    href: "/hassio/dashboard"
    icon: mdi:power-plug
    bottom: true
    text_color_selected: yellow
    icon_color_selected: yellow

DJF3 avatar Nov 21 '25 12:11 DJF3

It should not be that code because I also have it and it works on Safari. Another thing that is weird is that this is JavaScript, it can throw an error in the console, cannot not work, can mess the sidebar items visibility but it should not break your instance in any way.

elchininet avatar Nov 21 '25 13:11 elchininet

@DJF3 when you have time to debug this, check this element in the developer console of your browser in the screen that you get the issue (partial-panel-resolver):

Image

Select the item, go to the console tab, write this code and press Enter:

$0.route

Let me know your result.

elchininet avatar Nov 22 '25 13:11 elchininet

Hi @DJF3, Did you have time to debug the issue?

elchininet avatar Nov 27 '25 20:11 elchininet

Hi @DJF3, It seems that you already resolved your issue or it doesn't bother you anymore. If that is not the case, please, open a new issue. Closing this one.

elchininet avatar Dec 03 '25 20:12 elchininet

Apologies for the delay @elchininet Circumstances prevented me from doing extensive testing plus it somehow seem to stop happening? (like a doctors visit: "suddenly my shoulder does not hurt anymore?")

I do appreciate the support and will keep an eye out in case the problem re-occurs.

DJF3 avatar Dec 04 '25 11:12 DJF3

Perfect @DJF3, Feel free to open a new one if it comes back :) Regards

elchininet avatar Dec 04 '25 21:12 elchininet