Describe the bug
The chat plugin ships as a built-in under plugins/chat/, but an identical copy was also committed to .polypore/plugins/polypore.chat/.
The .polypore/plugins/ directory is meant only for user-installed plugins. As noted in plugin_store.rs:
Each installed plugin lives at <project>/.polypore/plugins/<id>/
Built-ins are bundled, not installed, so the registry copy is redundant and produces a duplicate polypore.chat plugin ID.
To reproduce
-
Start from a clean working tree.
-
Inspect the plugin directories.
-
Observe that the chat plugin exists in both locations:
plugins/chat/
.polypore/plugins/polypore.chat/
-
Run plugin discovery or start the app.
-
Observe that polypore.chat is discovered twice: once as a built-in and once as an installed plugin.
Expected behavior
The chat plugin should only be bundled as a built-in under plugins/chat/.
The .polypore/plugins/ registry should contain only user-installed plugins, so polypore.chat should not appear there unless the user explicitly installed it.
Actual behavior
An identical copy of the built-in chat plugin exists under .polypore/plugins/polypore.chat/, causing a duplicate polypore.chat plugin ID.
Suggested fix
Remove .polypore/plugins/polypore.chat/ from the repository and keep the chat plugin only under plugins/chat/.
If needed, also add a guard to prevent bundled built-ins from being written into the user-installed plugin registry.
Describe the bug
The chat plugin ships as a built-in under
plugins/chat/, but an identical copy was also committed to.polypore/plugins/polypore.chat/.The
.polypore/plugins/directory is meant only for user-installed plugins. As noted inplugin_store.rs:Built-ins are bundled, not installed, so the registry copy is redundant and produces a duplicate
polypore.chatplugin ID.To reproduce
Start from a clean working tree.
Inspect the plugin directories.
Observe that the chat plugin exists in both locations:
plugins/chat/.polypore/plugins/polypore.chat/Run plugin discovery or start the app.
Observe that
polypore.chatis discovered twice: once as a built-in and once as an installed plugin.Expected behavior
The chat plugin should only be bundled as a built-in under
plugins/chat/.The
.polypore/plugins/registry should contain only user-installed plugins, sopolypore.chatshould not appear there unless the user explicitly installed it.Actual behavior
An identical copy of the built-in chat plugin exists under
.polypore/plugins/polypore.chat/, causing a duplicatepolypore.chatplugin ID.Suggested fix
Remove
.polypore/plugins/polypore.chat/from the repository and keep the chat plugin only underplugins/chat/.If needed, also add a guard to prevent bundled built-ins from being written into the user-installed plugin registry.