David Heinemeier HanssonandClaude Opus 5.5 0066ea216b Keep panel loaders across plugin changes so the OSD loads once (#13439)
Every plugin change handed the panel Instantiator a fresh array, which
rebuilds every panel. The panels were rebuilt four times in the first
700ms of startup, each rebuild starting a new asynchronous load of every
keepLoaded panel while the last was still in flight. Under load two OSDs
could run at once, each registering the osd IPC handler: the runtime
smoke test's intermittent "another handler is registered for target
osd".

The entries now live in a ListModel synced in place. A panel whose
plugin still loads the same way keeps its loader, so startup adds each
panel once, and a full plugin reload still clears the model to rebuild
from fresh code.

Under a six-core busy load the smoke test hit the duplicate in 1 of 5
runs on quattro and in none of 10 with this change.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:29:06 +02:00
2026-09-13 17:58:17 +02:00
2025-10-07 18:17:47 +02:00
2026-09-19 21:53:09 +02:00
2026-05-11 10:39:22 -04:00
2025-06-30 16:42:09 -07:00
2025-07-28 09:32:44 +02:00
2025-07-26 10:02:29 -07:00
2026-09-05 08:04:22 +02:00
2026-05-14 11:34:55 +02:00
S
Description
No description provided
Readme MIT
6.4 GiB
Languages
Shell 62.3%
QML 26.8%
JavaScript 4.9%
Python 2.4%
Go Template 1.9%
Other 1.7%