Repository navigation
Conversation
|
Hey @Avtrkrb - just testing this out. All seems great. One thing I have noticed is that the status UI follows you everywhere. After every command or message it pops in at the bottom below the command output. To recreate, just type anything and hit ENTER and the status will always reappear at the bottom.
|
There was a problem hiding this comment.
A quick one here, I see why the status UI now appears at the bottom. I think it's because it's no longer static. This component needs to be static for performance.
How it works with other dynamic elements is the data is fetched and then passed to the component so it can remain static after rendering.
That might be the dynamic re-rendering. Will take a look at it. |
Yeah, I think it's doing this because the component is no longer static like it should be. See comment on code. If there is a way to fetch MCP and LSP connections and then pass it to the status component before it renders I think this would be better to maintain existing behaviour with the tidier UI you've put in. Every time you then run the Let me know what you think :) |
I agree with your point, 1 way I can think of is to keep the entire Status section static, poll for the MCP & LSP connection status & then update the Status section without dynamic re-rendering. Let me see what I can do. |
Awesome. Yeah, I think the status component must stay static really. This is to fit with the current rendering process which is there for performance as if anything stays dynamic it causes too many re-renders which in turn causes a lot of flickering. I'm not convinced polling is necessary. I might be wrong but just running the |


Description
This pull request implements the proposal to move MCP and LSP connection status from verbose startup chat messages to background initialization with a persistent, summarized status display in the UI status component.
Key Changes:
/mcpand/lspcommands continue to work for detailed connection informationTechnical Implementation:
useAppInitialization.tsxwith Map-based server state tracking for real-time progress updatesstatus.tsxto display MCP/LSP connection status with proper formatting for auto-discovery phasesapp.tsxto pass connection status props and enable dynamic re-renderingType of Change
Testing
Automated Tests
.spec.ts/tsxfilespnpm test:allcompletes successfully - 1693/1694 tests pass, with 1 timeout unrelated to changes)New Test Coverage (15 tests total):
source/components/status.spec.tsx- 6 tests for status component MCP/LSP display logicsource/hooks/useAppInitialization.spec.ts- 4 tests for app initialization status managementsource/hooks/__tests__/connection-status.spec.ts- 5 tests for React state update patterns and React.memo behaviorTest Scenarios Covered:
totalCount: 0during discovery)Manual Testing
Verification Results:
Implementation Details
Core Files Modified:
source/hooks/useAppInitialization.tsxsource/components/status.tsxformatMCPStatus()function for MCP status displayformatLSPStatus()function with auto-discovery phase handlingif (status.totalCount === 0 && status.connectedCount === 0)source/app.tsxTechnical Improvements:
Checklist
/mcpand/lspcommands preserved)Issue Resolution
This pull request closes #120 by implementing the complete specification:
Quality Assurance:
The implementation provides a polished user experience with real-time feedback while maintaining all existing functionality and comprehensive test coverage.