Skip to content

Add streaming project scan with live UI updates and O(1) plugin matching#20

Merged
bounceconnection merged 3 commits into
devfrom
feature/ableton-project-scanner-v2
Mar 15, 2026
Merged

Add streaming project scan with live UI updates and O(1) plugin matching#20
bounceconnection merged 3 commits into
devfrom
feature/ableton-project-scanner-v2

Conversation

@bounceconnection
Copy link
Copy Markdown
Owner

Summary

  • Projects now populate the table incrementally during scanning (batches of 20) instead of waiting for all ~300+ projects to finish
  • Replaced full-screen scan overlay with a slim progress bar so users can browse and click into projects immediately
  • Plugin matching refactored from O(n×m×7) linear scans to O(1) dictionary lookups via PluginIndex, with cross-project match caching
  • Cached DateFormatter as static singletons (eliminates ~49K allocations per scan)
  • Verbose per-plugin logs gated behind defaults write com.tomioueda.PluginUpdater debugVerboseLogging -bool YES

Tomio Ueda and others added 3 commits March 14, 2026 23:50
Projects now populate the table incrementally during scanning instead of
waiting for all projects to finish. Replaced the full-screen scan overlay
with a slim progress bar so users can browse results immediately.

Performance: PluginIndex provides O(1) dictionary lookups for plugin
matching (was O(n×m) linear scans), match results are cached across
projects, and DateFormatters are now static singletons. Verbose per-plugin
logs gated behind a defaults flag (debugVerboseLogging).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resolve conflicts: keep both AppUpdateChecker (from dev) and project
scanner streaming + PluginIndex (from this branch). Regenerate pbxproj.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bounceconnection bounceconnection merged commit d651e86 into dev Mar 15, 2026
2 checks passed
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