Repository navigation
DITools Beta v2.6.5
DITools Beta 2.6.5 Release
🛠 Critical Fix: Duplicate UI on Tabs
Some users saw the UI appear twice inside a tab. The root cause was a race condition in the lazy loader where the tab content could be scheduled to build more than once before the first build marked itself complete.
What changed
• Added a per-tab creation lock container._creation_in_progress set before scheduling any async build.
• Unified creation through create_tab_content(...) with two paths:
• create_tab_content_deferred(...) for async builds that double-check _content_created before constructing widgets and always clear the lock on completion.
• create_tab_content_immediate(...) for synchronous builds that clear any loading indicators and mark _content_created immediately.
• Prevents multiple canvases or duplicate frames from being packed side by side.
How to verify
1. Launch the app and switch tabs rapidly.
2. Each tab shows a single canvas and a single set of controls.
3. No side-by-side duplication and the loading label disappears cleanly.
⸻
🎯 Project Module Interface Optimization
The Project module remains streamlined and responsive with the optimized layout introduced in recent betas. Interactions are snappier and the UI stays compact while handling larger date selections without jank.
📅 Visual Calendar Widget
• Click to select or deselect dates
• Multi-date selection for non-consecutive days
• Visual feedback
• 🟢 Selected dates are bright green
• 🔵 Today is highlighted in blue
• Hover effects for immediate feedback
• Month navigation with arrow buttons
• Quick actions: Today and Clear All
🎨 Simplified Controls
• Day mode is automatic based on how many dates you select
• DAYXX_OF_DAYXX format retained
• Starting Day Offset supported with DAYXX_OF_DAYXX
• Core structure options kept, clutter removed
⸻
🚀 Enhancements
• Smoother first-load tab experience with unified content creation
• More predictable GUI updates during rapid tab switching
• Calendar rendering stays crisp in light and dark themes
⸻
🐛 Bug Fixes
• Resolved duplicate UI caused by multiple async builds
• Loading indicator now clears reliably when content finishes building
• Minor theme adaptation polish on canvas backgrounds
⸻
🔧 Developer Notes
• New guard flag: _creation_in_progress on tab containers
• Content builders: create_tab_content_immediate and create_tab_content_deferred
• Single entry point: create_tab_content decides sync vs async and enforces locking
⸻
This beta focuses on stability and UX polish. The duplicate-interface bug is eliminated and the Project module’s calendar-driven workflow remains fast, clear, and compact.