Quickshell / qualité : clarifier les noms QML, les expressions complexes et les diagnostics utiles #24
Labels
No labels
Agent/Autonomous OK
Agent/Demeter
Agent/Hermes
Agent/Human
Agent/Needs Review
Area/API
Area/Auth
Area/CLI
Area/Data
Area/Docs
Area/Infra
Area/UI
CI/Failing
CI/Flaky
CI/Green
CI/Needs Runner
CI/Needs Workflow
Compat/Backward Compatible
Compat/Breaking
Compat/Migration
Deploy/Ansible
Deploy/Blocked
Deploy/Homelab
Deploy/Needs Config
Deploy/Needs Secret
Deploy/Ready
Deploy/Rollback
Kind/Bug
Kind/Chore
Kind/Design
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Refactor
Kind/Security
Kind/Spike
Kind/Testing
Ops/Backup
Ops/Incident
Ops/Maintenance
Ops/Monitoring
Ops/Upgrade
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Someday
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Risk
Critical
Risk
High
Risk
Low
Risk
Medium
Security/Auth
Security/Disclosure
Security/Hardening
Security/Secret
Size
L
Size
M
Size
S
Size
XL
Size
XS
Stack/Ansible
Stack/Docker
Stack/Forgejo
Stack/Hermes
Stack/Node
Stack/Postgres
Stack/Python
Stack/Systemd
Status
Abandoned
Status
Blocked
Status
In Progress
Status
In Review
Status
Need More Info
Status
Ready
chantier-racine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mathieu/dotfiles#24
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Constats
mathieu/DesktopPage.qml:35nomme une fonctionclip, déjà propriété deQQuickItem.HomePage.qml:21,LightControl.qml:9etLightRow.qml:9utilisentstatespour un dictionnaire métier, alors que ce nom existe dans l’API d’état Qt.Lors de la revue : Ruff signale 14 points, surtout de conventions ; qmllint Qt 6.12 signale 90 avertissements, dont des limitations de métadonnées Quickshell. Ces nombres ne représentent pas autant de bugs. Les scripts documentés comme appelés via Python ne doivent pas être rendus exécutables mécaniquement pour satisfaire un shebang.
Résultat attendu
clipboardAction,lightStates) et adapter toutes leurs utilisations/tests.Validation
Articulation
Après stabilisation fonctionnelle. Le chemin de mise à jour des notifications et la validation HA sont simplifiés dans leurs tickets respectifs, pas réécrits une seconde fois ici.
Référence
Revue du code au commit
5e350a8, avec Quickshell 0.3.2. Les 18 suites existantes passent ; les cas ci-dessous complètent cette couverture. Chantier : #11.Phase A statique relue, fonctionnel stabilisé et #22 intégré. Phase B autorisée dans
quickshell-clarity/pi/quickshell-clarity, base exacted5f3472: renommages ciblés et diagnostics documentés, invariants UX/protocole/erreurs conservés. Pas de campagne chmod/suppression globale ni réécriture HA/notifications. Toute correction géométrique éventuelle reste séparée et conditionnée à une comparaison native avant/après de géométrie, sans choix visuel nouveau. Le parent garde revue/intégration/publication.Intégré sur main 90f0cd8,19fichiers distants exacts vérifiés. Deux commits signés624bee1 (QML/noms/contrats/tests) etcc2ed39 (frontières Python/diagnostics) ; revue indépendante sans constat. Gate parent final26/26 suites passent au SHA90f0cd8, dontHomePage16, garde21, helper12, bridge36, staging25 etHA39. Aucun mode de fichier modifié.
Renommages complets :
clip→clipboardActionet les3tables métierstates→lightStates, quatreIDs ambigus clarifiés ; les vrais champs Qt/JSONHA et les propriétés publiques SystemPanel restent inchangés. Expressions locales lisibles, chemins de snapshots documentés, pas de couche de schémas/rewrite. Python : constante de politique évaluée à l’import comme avant, branches argv littérales explicites, deux checks de cible et ordre d’incertitude conservés ;ValueErrorreste le contrat TOML. Deuxcheck=Falserendent le défaut existant explicite. Traductions, dimensions, délais, protocoles et comportement conservés.Tests natifs utilisent de vrais Return/Delete dans des fenêtres privées vers bridges enregistreurs ; les tests de collage réutilisent le vrai câblage. Trois contrôles négatifs échouent réellement : mauvaise table live, ancien appelclip, évaluation deHOME à chaque appel. Aucun contenu/ordre réel HA/presse-papiers/téléphone/service hôte utilisé.
Diagnostics réellement triés, pas promis tous corrigés : Ruff0.17.2 isolé surEXE001/B008/PLW1510/TRY004 :16→13 (B008+2PLW1510 corrigés). Qtqmllint6.12.0 avecQuickshell0.3.2/imports explicites :76→64enregistrements (4collisions membres+4IDs et leurs4notes supprimées). Les nombres historiques14/90 ne servent pas d’après-mesure. Restent12EXE001 attendus pour scripts appelés viaPython,1TRY004 APIintentionnelle testée ;17résolutions de membres/signaux présents dans les métadonnées,4limites de factoryPanelWindow non prouvées nativement,40accès non qualifiés explicitement non réécrits et3risques valides de layout conservés. Pas de suppression globale ni de campagne chmod.
Limite explicite : aucun essai d’équivalence géométrique avant/après n’a été réalisé ; les3sites layout et tailles sont donc inchangés, pas déclarés « corrigés » ni faux positifs. Ils ne démontrent pas à eux seuls un défaut visible. Pas de preuve de factory/compositeur réel ni diagnosticLSP disponible à ce worker ; contrôlesQtinstallés et compilation native isolée constituent l’évidence. Taxonomie complète et commandes/versions dansREADME et
/tmp/quickshell-clarity-diagnostics/(avant/après,26suitegate,contrôlesRED).Publication≠activation : checkout actif non avancé.