Skip to content

Fix/medium priority issues#14

Merged
stefankudev merged 12 commits into
mainfrom
fix/mdeium-priority-issues
May 31, 2026
Merged

Fix/medium priority issues#14
stefankudev merged 12 commits into
mainfrom
fix/mdeium-priority-issues

Conversation

@stefankudev

@stefankudev stefankudev commented May 31, 2026

Copy link
Copy Markdown
Owner

Summary

Fix 10 high/medium priority issues for v1.0 readiness and merge 4 dependabot dependency updates.

Related Issues

  • Closes High no.3: Error Handling Divergence
  • Closes High no.4: Dangerous Panic Hook Re-wrapping
  • Closes High no.5: Status Messages Cleared Immediately
  • Closes Medium no.6: Integer Overflow in Size Calculation
  • Closes Medium no.7: Hardcoded SKIP_DIRS Not Configurable
  • Closes Medium no.8: Background Thread Termination Is Silent
  • Closes Medium no.9: Unused Parameter in Render Function
  • Closes Medium no.12: No Validation of Ecosystem Configuration Files
  • Closes Medium no.14: No Recovery From Partial Deletion
  • Closes Medium no.15: Wrong Default for Confidence Enum
  • Closes Medium no.16: Unclear Default Ecosystem Behavior
  • Supersedes dependabot PR chore(deps): update crossterm requirement from 0.27 to 0.29 #12 (crossterm 0.27→0.29)
  • Supersedes dependabot PR chore(deps): update dirs requirement from 5.0 to 6.0 #11 (dirs 5.0→6.0)
  • Supersedes dependabot PR chore(deps): update ratatui requirement from 0.29 to 0.30 #10 (ratatui 0.29→0.30)
  • Supersedes dependabot PR for actions/checkout v4→v6

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring

Changes

Error Handling & Safety

  • run() and run_plain() now return Result<()> with proper error propagation via anyhow::Context
  • main.rs handles errors gracefully instead of panicking
  • Added atomic flag to prevent panic hook double-wrapping
  • Status messages now persist for 5 seconds before auto-clearing

Scanner

  • Size calculation uses saturating_add() to prevent integer overflow
  • SKIP_DIRS (.git, .svn, .hg, etc.) merged with --exclude flag to allow user override

UI

  • Removed unused _viewport_height parameter from render() function
  • Added debug logging when background scan thread terminates

Config

  • Returns error if no valid ecosystem JSON files are found during loading
  • Changed Confidence enum default from Certain to Undetected

Deleter

  • Replaced std::fs::remove_dir_all() with trash::delete() for safe deletion with recovery support

Dependencies

  • crossterm: 0.27 → 0.29
  • dirs: 5.0 → 6.0
  • ratatui: 0.29 → 0.30
  • actions/checkout: v4 → v6

Checklist

  • My code follows the style guidelines of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.

@stefankudev stefankudev merged commit 867f0ea into main May 31, 2026
4 checks passed
@stefankudev stefankudev deleted the fix/mdeium-priority-issues branch May 31, 2026 08:47
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.

1 participant