Root cause: calling the patched history.pushState triggered React Router's
internal listener, causing it to unmount the entire DOM (<div id='root'></div>
becomes empty). This caused the persistent black screen on sidebar clicks.
Fix:
- nav-intercept.js: save History.prototype.pushState before React patches it,
use nativePushState.call(history, ...) for SPA navigation
- nav-intercept.js: add stopImmediatePropagation to prevent React from
seeing sidebar click events
- nav-intercept.js: normalize all paths with trailing slash
- content-loader.js: add 100ms retry if main.flex-1 missing (React unmount
recovery), fallback to #root if still absent
- content-loader.js: skip homepage paths (handled by homepage.js)
- content-loader.js: remove anti-flicker CSS after SPA navigation
- Refactored navigation in `aiui.template.yaml` for improved
organization, adding an "API Reference" tab.
- Updated `features-api.md` with new endpoints and examples,
including enhanced approval management and session handling features.
- Improved clarity and consistency in API request/response examples.
This commit adds comprehensive documentation for new API endpoints related to jobs, schedules, and skills, including examples of request and response payloads. Additionally, it updates the count of built-in features and improves the overall structure and clarity of the API docs.
Added a comprehensive gap implementation prompts document outlining tasks
for the development of the Channel Management and Scheduler dashboard tabs
in PraisonAIUI. Included analysis, implementation steps, and verification
requirements to enhance user experience and functionality within the
application. Additionally, updated several API and frontend components to
support the new features.