The personal CSS is loaded twice, both in an inline `<style>` tag together with other CSS, and as `<link rel="stylesheet" href="https://de.wikipedia.org/w/load.php?debug=false&lang=de&modules=user%7Cuser.groups&only=styles&skin=vector&user=Schnark&version=CLAHufrP&*">`.
This seems to be introduced with the latest ResourceLoader changes.
> In T122645, @Nikerabbit wrote:
> Since some time when using for example Chrome's element inspector, styles defined in `MediaWiki:Common.css` are shown twice, see screenshot below. This makes it more difficult to try out things by just disabling rules, because now you have to do it twice.
>
> {F3181000}
>>! In T102077#1495896, @Krinkle wrote:
>>>! In T102077#1495849, @Edokter wrote:
>> Now site //and// user styles are loaded twice. @Krinkle calls this 'harmless', but it is extremely annoying having to dig through duplicate properties, not knowing where they come from. I also experience occasional load order issues and discrepancies between debug and live loads.
>>
>> Is this double-loading absolutely necessary, or is it a by-product of something else? If the latter, how hard is it to remove this redundant loading?
>
> It is not done on purpose and is the same as T42284 (for Gadgets). The proper solution (which will be enforced by T92459 soon) is to not have a single module used as both addModules() and addModuleStyles().
>
> A module is either a stylesheet module essential at load time, or it is a dynamic module with js and css that is loaded at run time. Modules trying to be both at the same time are not supported.
>
> This is already enforced by code-review and convention in core and extensions. The only exception right now (for legacy reasons) is gadgets and user/site scripts. Until now, the site worked around this by loading the scripts in a dedicated HTTP request (one that can't be cached due to not having a version number in the url, and having to be embedded in the page html). This is now solved and significantly improves caching and run-time performance for end-users like you and me – at the cost of loading the styles twice (which is cancelled out by the gains the first time, and the second page visit it's entirely absent because it's coming from local cache).
>
> In due time we'll either deprecate 'site' in favour of an enabled-hidden gadget (with automatic conversion for existing ones) – or, we'll have to split 'site' into 'site.styles' and 'site.scripts' – or something else we come up with.