fix: idempotent _link prevents duplicate plugins + remove NIcon - #121
Merged
Conversation
- install.sh _link: skip re-link when symlink already points to the correct source — prevents .bak.* accumulation that caused Noctalia to scan the same plugin directory multiple times, producing duplicate desktop-widget entries (Stoa Memento Mori ×N) - stoa-doctor-pill Panel.qml: remove NIcon (component does not exist in qs.Widgets) which caused the plugin to fail to register, making the bar widget disappear after install https://claude.ai/code/session_01JH7MsJFvce1eEde8DJiCfe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problema
Duas regressões introduzidas pela rodada de install.sh + PR #118:
1. Stoa Memento Mori duplicado (×N) no Desktop Widgets
A função
_linkeminstall.shnão era idempotente: toda re-execução faziamvdo symlink existente para.bak.TIMESTAMPe criava um novo. O diretório.bak.*continuava apontando para o mesmo plugin, e o Noctalia escaneava a pastaplugins/e carregava todas as entradas — incluindo os backups — como instâncias separadas do mesmo plugin. Resultado: N cópias de "Stoa Memento Mori" no picker.Fix: antes de fazer backup, verifica se o symlink já aponta para o source correto. Se sim, retorna imediatamente — sem backup, sem re-link.
2. Bar widgets do doctor e drive sumiam após
install.shstoa-doctor-pill/Panel.qmlusavaNIcon, que não existe noqs.Widgetsdo Noctalia. Se o Noctalia valida os entry points no registro do plugin, um erro de QML faz o plugin inteiro falhar — derrubando o bar widget junto.Fix: removido
NIcon; as linhas de ação ficam só comNText.Resumo das mudanças
install.sh:_linkagora é idempotente (skip se symlink já está correto)stoa-doctor-pill/Panel.qml: removidoNIcone campoicondo modelPara limpar os
.bak.*existentesReinicie o Noctalia depois.
https://claude.ai/code/session_01JH7MsJFvce1eEde8DJiCfe
Generated by Claude Code