- Added background polling timer stop during service shutdown to prevent hanging. - Enhanced IPC handlers by importing and utilizing renderer log handlers for better logging. - Updated team-related services to handle member provisioning more robustly, including validation for empty member arrays. - Implemented timeout handling for file system operations to improve reliability. - Improved UI components to reflect solo team status and provide clearer feedback on member counts. Made-with: Cursor
27 lines
708 B
TypeScript
27 lines
708 B
TypeScript
import './index.css';
|
|
|
|
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
|
|
import { App } from './App';
|
|
import { initializeNotificationListeners } from './store';
|
|
|
|
declare global {
|
|
interface Window {
|
|
__claudeTeamsUiDidInit?: boolean;
|
|
}
|
|
}
|
|
|
|
// React 18 StrictMode intentionally mounts/unmounts effects twice in dev,
|
|
// which can start duplicate IPC init chains. Make initialization a one-time
|
|
// module-level side effect guarded by a global flag.
|
|
if (!window.__claudeTeamsUiDidInit) {
|
|
window.__claudeTeamsUiDidInit = true;
|
|
initializeNotificationListeners();
|
|
}
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
<React.StrictMode>
|
|
<App />
|
|
</React.StrictMode>
|
|
);
|