For those interested, this is my workaround until someone from the Discourse team fixes it.
Basically I need to unwrap the stuff inside the span like this:
<ul><span><li><a>...</a></li></span></ul>`
to this:
<ul><li>...</li></ul>
{{#link-to 'admin.pvda' id='admin-menu-pvda'}}
{{i18n 'pvda.admin.menu_title'}}
{{/link-to}}
api.onPageChange((url, title) => {
// --- ADMIN PAGE --- //
if (/\/admin\//.test(url)) {
// Admin pages start with "/admin/*"
let sel = '#admin-menu-pvda',
pvda_menu_item = $(sel);
if (pvda_menu_item.length) {
let li = pvda_menu_item.parent();
if (li.is("li")) {
let span = li.parent();
if (span.is("span")) {
li.unwrap();
}
}
}
}
...
}