2025.12 Markdown changes, and how to mitigate

That’s not a PR (Pull Request), that’s a feature request.

There aren’t really any codeowners for anything in the frontend.

I don’t believe you will get change like that. Except for a few specific additions, Home Assistant markdown uses the default xss whitelist which does not include ping for a. There is allowance for download when used by internal components, but not with the markdown card itself.

Given I understand what you wish to achieve, below is a working custom:button-card that will listen to hash events on the window and call a custom callback, and clear the hash from address bar. I have tested this with a webhook.site URL and the concept works well. Note, I just included body here to make sure that the hash data was flowing.

Important, if you change any of the code you need to reload the page.

If you wish to discuss further PM me as while the use case is markdown, the solution is really off topic.

EDIT: Looks like no event gets fired when you follow a hash link, but this works if you type a hash in teh URL and press enter. Not sure what the solution there is. :thinking:

EDIT 2: Updated to use location-changed event which is working from markdown same document hash links.

type: custom:button-card
hidden: true
variables:
  hash_callback: |
    [[[
      return (hash) => {
        console.log(hash);
        fetch(
          `https://webhook.site/xxxxx`, 
          {
            method: 'POST',
            body: hash
          }
        );
      }
    ]]]
  bootstrap:
    force_eval: true
    value: |
      [[[  
        const hashHandler = (ev) => {
          if (window.location.hash) {
            variables.hash_callback(window.location.hash);
            const newURL = window.location.href.split('#')[0];
            history.replaceState(null, "", newURL);
            window.dispatchEvent(new Event('location-changed'));
          }
        }
        if (!window.customHashHandler) {
          window.customHashHandler = hashHandler;
          window.addEventListener("location-changed", window.customHashHandler);
        }
      ]]]

with 2025.12.3 problem still exists…

1 Like

As per Markdown Card images cannot be resized. Worked in 2025.11 not working in 2025.12 · Issue #28386 · home-assistant/frontend · GitHub the fix is meant to be shipped with the next release that contains a frontend release.

We’ve had two 2026.1 releases and no change in how this is handled yet. The 2026.1.1 release had a frontend update according to the release notes:

Update frontend to 20260107.1

It was pushed awhile ago, clear your cache and refresh the page.

I still have the table problems in my markdown cards, which showed up after the 2025.12 update.

What problems (describe them instead of posting a picture)? Have they been written up?

It’s the original issue in the first post where borders are showing up around tables. I assumed the fixes coming included reverting the changes that resulted in the borders showing up.

There are mentions of changing the general theme to remove them. If this is the only way this will be resolved, then I think it would help clarify that the recent frontend updates fixed the image sizing problem (which I can confirm is fixed) but to fix the borders not being invisible anymore we need to make changes to the theme.

That issue has not been addressed yet.

also apparently adding:

markdown-table-border-width: 0

to your theme will remove the borders.

Thank you. That did it.

In my case I have a themes folder in my home assistant folder that is included in the main configuration yaml, so to apply this fix I created a new folder under theems, added a new filename.yaml, and then added this line underneath the name of the theme.

For me the folder is Default, the file name is Default.yaml and the contents are

Default:
    markdown-table-border-width: 0px

I then selected this new Default theme for all the dashboard tabs that have the issue. I was using No theme for all of them before.

this is not really what you should do, the ‘default’ theme is a theme without anything, and set by the system. Aka not user defined.

If you want all system settings but add this 1 customization, give it another name. eg default_adjusted.

that way youll be safe, and never run into ‘trouble’

remove border, you dont need to define border
beside it’s wrong syntax when you are inside the Tag

HTML Tables .