Skip to content

Say in plugins.md which services survive a plugin hot-reload - #10580

Open
steelcityappliance wants to merge 1 commit into
omacom:quattrofrom
steelcityappliance:docs/plugin-reload-9999
Open

Say in plugins.md which services survive a plugin hot-reload#10580
steelcityappliance wants to merge 1 commit into
omacom:quattrofrom
steelcityappliance:docs/plugin-reload-9999

Conversation

@steelcityappliance

Copy link
Copy Markdown
Contributor

Why

plugins.md tells an agent that saving a file under ~/.config/omarchy/plugins/ reloads plugin code automatically, with rescanPlugins as the fallback. For a service whose manifest sets keepLoaded that is not true: since #9485, unloadPluginServices() keeps such a service mounted across a hot-reload so the lock client is not destroyed while Hyprland still holds the session lock. The running instance, its readonly property constants included, stays live until omarchy restart shell. omarchy.lock, omarchy.notifications and omarchy.polkit declare the flag, and omarchy plugin clone copies the manifest, so a cloned notifications service behaves the same way. An agent following the current text edits the clone, rescans, sees the plugin listed as enabled, and gets the old behavior with nothing to say why.

Change

One paragraph in default/agents/skills/omarchy/plugins.md: name the exception where the claim is made, list the three first-party services that carry it plus their clones, and say that omarchy restart shell is the way to pick up edits to them. The rest of the paragraph is unchanged.

Scoped to the skill the issue names. docs/omarchy-shell.md:40 already states that keepLoaded keeps a service mounted across hot-reload, so the reference tree is right; manual/32-shell-plugins.md:71 and shell/README.md:165 carry the same unqualified sentence as the skill did and could take the same clause in a follow-up. The reload path itself is left as is: #10087 reports that hot-reload of widget code fails too, and that is a shell change, not a doc one; this PR does not claim to address it.

Tests

Doc-only change; no executable touched. test/shell.d/plugins-test.sh still asserts that the three services stay keepLoaded and that unloadPluginServices honors the flag, which is the behavior the new sentence describes.

Fixes #9999

Related: #9485 (the mechanism), #10087 (the separate hot-reload bug, not addressed here).

Written by Claude Fable 5.1 via Claude Code, reviewed by Marc Morriss

plugins.md tells an agent that saving a file under ~/.config/omarchy/plugins/
reloads plugin code automatically, with rescanPlugins as the fallback. For a
service whose manifest sets keepLoaded that is not true: since omacom#9485,
unloadPluginServices() keeps such a service mounted across a hot-reload so
the lock client is not destroyed while Hyprland still holds the session lock.
The running instance, its readonly constants included, stays live until
`omarchy restart shell`. omarchy.lock, omarchy.notifications and
omarchy.polkit declare the flag, and `omarchy plugin clone` copies the
manifest, so a cloned notifications service behaves the same way. An agent
following the current text edits the clone, rescans, sees the plugin listed as
enabled, and gets the old behavior with nothing to say why.

Name the exception where the claim is made. The reload path itself is left
as is; omacom#10087 reports that hot-reload of widget code fails too, and that is a
shell change, not a doc one.

Fixes omacom#9999

Written by Claude Fable 5.1 via Claude Code, reviewed by Marc Morriss

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

plugins.md: service-plugin constant edits need omarchy restart shell, not rescanPlugins

1 participant