64810d815b16fd261e802328b562b983bbec5def
Qt.createComponent is asynchronous, but a widget was only recorded in pluginWidgetComponents once its component finished. syncPluginWidgets runs several times while the shell starts, and every pass that ran while a load was still in flight could not tell it apart from one that had never happened — so it started a second load of the same URL. All twenty bar widgets were loaded twice. The duplicate component then replaced the first in the registry, and swapping a slot's component makes its Loader build the replacement before dropping the original. Both were briefly live, and both registered the widget's IPC handler, which is where the "another handler is registered for target" warnings came from. Claim the key when the load starts instead, and release it if the component fails so a later rescan can retry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Omarchy
Omarchy is a beautiful, modern & opinionated Linux distribution by DHH.
Read more at omarchy.org.
License
Omarchy is released under the MIT License.
Languages
Shell
57.3%
QML
31.2%
JavaScript
4.1%
Python
2.9%
Go Template
2.5%
Other
2%