Skip to content

Comments

v2.5.59-2.5.60: Bug fix for scheduled scan UI + Repository cleanup#33

Merged
ttlequals0 merged 2 commits intomainfrom
feature/repository-slop-cleanup
Feb 5, 2026
Merged

v2.5.59-2.5.60: Bug fix for scheduled scan UI + Repository cleanup#33
ttlequals0 merged 2 commits intomainfrom
feature/repository-slop-cleanup

Conversation

@ttlequals0
Copy link
Owner

Summary

This PR includes two releases:

v2.5.59 - Bug Fix

  • Fix UI not showing scheduled scan progress: Added background scan detection
    • Root cause: UI only checked for running scans on page load
    • If user opens page after a scheduled scan starts, no progress was shown
    • Solution: Added 30-second background interval to detect running scans
    • Automatically starts progress monitoring when a scan is detected
    • Affects all scan types: regular scans, cleanup, and integrity scans

v2.5.60 - Repository Cleanup

  • Remove ~500+ lines of dead code and outdated documentation
    • Remove unused tool scripts: fix_database_schema_v2.py, fix_hevc_warnings.py, fix_nal_unit_false_positives.py
    • Remove unused utility functions: handle_db_errors() decorator, update_state_progress() helper
    • Remove deprecated API endpoints: /reset-stuck-scans and /recover-stuck-scan (use /scan/recovery instead)
    • Remove orphaned Docker files and migration documentation
    • Remove 78 console.log/error/debug statements from JavaScript files
    • Update documentation: SQLite references changed to PostgreSQL (now required)

Files Changed

Bug Fix (v2.5.59):

  • static/js/app.js - Added startBackgroundScanDetection() function

Cleanup (v2.5.60):

  • utils.py - Removed unused functions
  • pixelprobe/api/scan_routes.py - Removed deprecated endpoints
  • static/js/app.js, state.js, auth.js - Removed console.log statements
  • Various documentation files - Updated SQLite -> PostgreSQL
  • Deleted: 14 unused files (tools, Docker configs, migration docs)

Test Plan

  • All 201 tests pass
  • Python syntax validation passes
  • Webpack build succeeds
  • Docker image builds and pushes successfully

Docker

Image pushed: ttlequals0/pixelprobe:2.5.60

Remove ~500 lines of dead code and outdated documentation:

Dead Code Removal:
- Delete unused tool scripts (fix_database_schema_v2.py, fix_hevc_warnings.py, fix_nal_unit_false_positives.py)
- Remove unused utility functions (handle_db_errors, update_state_progress) from utils.py
- Remove deprecated API endpoints (/reset-stuck-scans, /recover-stuck-scan) - consolidated into /scan/recovery

Documentation Cleanup:
- Update all SQLite references to PostgreSQL (now required)
- Remove all migration documentation (historical, no longer relevant)
- Remove orphaned Docker files (docs/docker/*, docker-compose.simple.yml)
- Fix dead documentation links

Frontend Cleanup:
- Remove 78 console.log/error/debug statements from JS files
- Update recoverStuckScan() to use /scan/recovery endpoint

Tests:
- Update scan endpoint tests to use consolidated /scan/recovery endpoint
- All 201 tests pass
Long-running integrity scans (20+ hours for 1M+ files) would crash at
~99.95% with "Instance has been deleted" errors. Root cause: ORM objects
held in memory get expired by db.session.commit() calls, and if concurrent
jobs delete rows, subsequent attribute access crashes.

Solution: Load only needed columns and convert to plain Python dictionaries
immediately after query. Dictionaries are immune to SQLAlchemy session
expiration and concurrent database changes.
@ttlequals0 ttlequals0 merged commit 6305b73 into main Feb 5, 2026
6 checks passed
@ttlequals0 ttlequals0 deleted the feature/repository-slop-cleanup branch February 5, 2026 02:02
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