Commit 4e8a2d7
v1.26.1001200: Major performance and reliability release
Performance:
- Token-based candidate pre-filter (19K streams vs 31K channels in 6s, down from 32h)
- rapidfuzz integration with thefuzz/built-in fallback (10-100x faster)
- Early termination in Levenshtein with min_ratio parameter
- Django query optimizations (.only(), stream prefetching, removed unnecessary select_related)
- Normalization caching for all matching code paths
Reliability:
- Atomic CSV writes (tempfile + os.replace) with exception cleanup
- Background threading for Organize by Category (prevents uwsgi timeout)
- Prefetch safety for deleted streams during import
New features:
- match_all_streams() method for multi-match results
- Match sensitivity presets (Relaxed/Normal/Strict/Exact)
- Dynamic M3U source dropdown
- ProgressTracker with WebSocket updates and ETA
- SmartRateLimiter for DB write pacing
- PluginConfig class for centralized constants
- Background threading with stop/cancel for M3U import
Cleanup:
- Removed legacy files (channels.json, channels.txt, networks.json)
- Updated README with current features, settings, and performance docs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent ac484d4 commit 4e8a2d7
7 files changed
Lines changed: 1207 additions & 39076 deletions
File tree
- Channel-Maparr
0 commit comments