v0.2.1 - Fix False Positives (W015, W017)
π Bug Fixes
W017 (Computed Signal) β Eliminate False Positives
Problem: Checker was flagging variable references as 'computed signals'
Before (β false positives):
Signal('x', todo['id']) # β W017 (not computed, just dict lookup)
Signal('y', count) # β W017 (not computed, just variable)
Signal('z', user.name) # β W017 (not computed, just attribute)After (β only real computed expressions):
Signal('x', todo['id']) # β
OK (Subscript)
Signal('y', count) # β
OK (Name)
Signal('total', a * b) # β οΈ W017 (BinOp - real computed!)
Signal('valid', all(a,b)) # β οΈ W017 (Call - real computed!)
Signal('not', ~visible) # β οΈ W017 (UnaryOp - real computed!)W015 (delete confirmation) β Pattern Matching
Problem: Checker flagged delete() even inside confirmation dialogs
Now skips warning when line contains:
AlertDialogoralert_dialogconfirm
Examples:
AlertDialogAction('Delete', action=delete('/x')) # β
OK (has AlertDialog)
confirm('Sure?').then(delete('/y')) # β
OK (has confirm)
Button('Delete', data_on_click=delete('/z')) # β οΈ W015 (no confirmation)Message improved:
Before: 'ensure user confirmation UX exists'
After: 'verify confirmation UX exists (AlertDialog, confirm dialog, etc.)'
π Impact
| Warning | Before | After |
|---|---|---|
| W017 false positives | 4 in typical todo app | 0 β |
| W015 false positives | 2 in typical todo app | 0 β |
| Real detections | β Detects computed | β Still detects |
| Real detections | β Detects unsafe delete | β Still detects |
π¦ Installation
# Update existing install
starhtml-check --update
# Or fresh install
curl -L https://raw.githubusercontent.com/renatocaliari/starhtml-skill/main/starhtml_check.py \
-o /usr/local/bin/starhtml-check && chmod +x /usr/local/bin/starhtml-checkFull changelog: v0.2.0...v0.2.1